Jump to content
Sign in to follow this  
JoelKatz

I'm keynoting at CppCon 2016!

Recommended Posts

2 hours ago, JoelKatz said:

 

Quote from this abstract:

Quote

Security issues are paramount. ... Performance and scalability are also major concerns. 

C++ provides a unique balance that helps meet these challenges. The language's design makes it possible to catch bugs at compile time, write modular code that can be tested, develop flexible data structures and manage resources. Yet, where performance is critical, it does not obscure what your code is making the computer actually do. 

These are very general requirements. Every recent & decent compiled language allows you to "catch bugs at compile", to "write modular code that can be  tested", to "develop flexible data structures" and to "manage resources".

Can you explain a bit why C++ is so special? Other projects that were submitted to Hyperledger used other languages (Java), for example.

The only reason I see is pure performance, but other languages are catching up. For example, JIT can in theory optimize code even more than C++ because it knows the most common execution paths. C# has generics which are sort of simplified C++ templates and C# allows async development out of the box (in fact, recent versions even force you to write async code).

You certainly have less control over the memory in languages with automatic garbage collector, but this doesn't seem to be the big hurdle anymore.

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
3 hours ago, T8493 said:

These are very general requirements. Every recent & decent compiled language allows you to "catch bugs at compile", to "write modular code that can be  tested", to "develop flexible data structures" and to "manage resources".

Can you explain a bit why C++ is so special? Other projects that were submitted to Hyperledger used other languages (Java), for example.

Come to the talk! I agree that it's possible to do these things in any language, otherwise it would be almost impossible to develop in them. But C++ has a lot of features (templates, generalized lambdas, move semantics, smart/shared pointers, SFINAE, type erasure, and more) that make this much easier than it would be in many other languages.

 

Share this post


Link to post
Share on other sites

And even if you don't buy my "C++ is the best language for blockchain development" (which would be entirely reasonable, everyone thinks a different language is best) at least you'll see some good ways to use modern C++ features to make blockchain development in C++ easier and better.

Share this post


Link to post
Share on other sites
7 minutes ago, JoelKatz said:

And even if you don't buy my "C++ is the best language for blockchain development" (which would be entirely reasonable, everyone thinks a different language is best) at least you'll see some good ways to use modern C++ features to make blockchain development in C++ easier and better.

And, on top of that, learn from our experiences, and take only what works for you.

Share this post


Link to post
Share on other sites

Bellevue, Washington... other than California (San Francisco), that's the state where all the developers are!  

23 hours ago, lucky said:

No doubt that will be one of the most popular talks at the conference, and it also serves to bring Ripple to the attention of software developers. After all, they will be building that Internet of Value.

 

Share this post


Link to post
Share on other sites
21 hours ago, JoelKatz said:

Come to the talk! I agree that it's possible to do these things in any language, otherwise it would be almost impossible to develop in them. But C++ has a lot of features (templates, generalized lambdas, move semantics, smart/shared pointers, SFINAE, type erasure, and more) that make this much easier than it would be in many other languages.

And one more reason: Almost an assembler quality of object code generated by modern compilers makes C++ the best option if you need your code to work FAST.

Share this post


Link to post
Share on other sites
6 minutes ago, Duke67 said:

And one more reason: Almost an assembler quality of object code generated by modern compilers makes C++ the best option if you need your code to work FAST.

Then why do libraries like openssl contain manually written and optimized assembly code?

 

Share this post


Link to post
Share on other sites
Just now, Duke67 said:

And I stand behind it, C++ is by far the most powerful language. Don't you agree?

Most powerful in what sense?

BTW, I'm biased, I work mostly with Microsoft technologies.

 

Share this post


Link to post
Share on other sites
11 minutes ago, T8493 said:

Then why do libraries like openssl contain manually written and optimized assembly code?

 

If you realy, by your very own, want to control the last and every bit and byte of your machine, nothing can beat the pure code - and that still is and always will be assembler...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...