Sunday, November 18, 2018

How is C++ In 2019?

In this post you will know what is the future of C++ in 2019 and upcoming features of C++ in 2019. Some programmers don’t like the direction that the language is heading but I would argue that with great power comes great responsibility(simply put, the language has no limitations — even templates are Turing Complete). Moreover, the language has evolved and changed a lot but it wasn’t up to C++11 (auto, move semantics, lambdas and many more were introduced) where the good staff started to happen! 7 years later C++ is growing rapidly with many exciting and promising upcoming features.



Some of the upcoming features:

  • Ranges (unfortunately they didnt make it in C++2a but they will stick around). Finally, correct by construction queries.
  • Concepts — a very long awaited feature(C++2a will only introduce concepts light). A concept is a type requirement for a template — a very powerful feature that also allows the compiler to generate proper error messages for templates (opposed to what you would get before — 100 lines of complicated STL template instantiation error messages)

  • Network library(rejected for C++2a will be on the standard after)
  • Modules! (C++2a). Not much to say, finally the replacement of headers and will decrease the compile times.

  • Promise (I am not sure if it made it in the C++2a). Function pre and post condition requirements.
  • Executors. (C++2a). Yes, the world now runs in parallel. Execution policy is important
  • Graphics (is in the talks and I personally am highly against it)

  • Two modern features that I really like:

  • Compile time if — C++17. Although I would like to see a static compile time if which unfortunately was rejected. I list this feature cause you can do magic ;)

  • Fold expressions — An operation applied to a pack of variables (with any type). 

No comments:

Post a Comment

High Paying Jobs after Learning Python

Everyone knows Python is one of the most demand Programming Language. It is a computer programming language to build web applications and sc...