According to Tiobe C++ surpasses C for the first time in history, The Streisand Effect works :)

In the world of programming languages, C++ has long been a staple, valued for its power and performance. However, it’s also been the subject of significant criticism over the years. Interestingly, these criticisms often have an unintended consequence, making C++ even more popular—a phenomenon known as the Streisand Effect.

Recently, C++ faced widespread criticism, with even the White House advising against its use. Ironically, this led to an increase in its popularity. According to TIOBE, C++ has surpassed C in popularity for the first time in history.

Continue reading “According to Tiobe C++ surpasses C for the first time in history, The Streisand Effect works :)”

C++26 is coming, but what are the major features that have been added to C++ since C++11?

Modern C++ has seen a series of significant updates starting from C++11, each bringing new features and enhancements that aim to make the language more efficient, readable, and maintainable. Here’s a brief overview of the major features introduced in each version since C++11, along with a comment on their usage:

C++11

C++11 marked a significant evolution in the C++ language, introducing several powerful features that modernized and simplified C++ programming. Here are some of the most impactful features, along with examples to illustrate their usage:

Continue reading “C++26 is coming, but what are the major features that have been added to C++ since C++11?”

Master C++ Concurrency with ‘Concurrency with Modern C++

C++11 and beyond introduced a new thread library. This library includes utilities for starting and managing threads. It also contains utilities for synchronization like mutexes and other locks, atomic variables and other utilities.

It’s a good news to have a standard way to manage the concurrency in C++, indeed before the introduced features in the new standards, many libraries and ways existed to manage the concurrency in the C++ projects. Continue reading “Master C++ Concurrency with ‘Concurrency with Modern C++”

Easily detect where you can modernize your C++ codebase.

C++11/C++14/C++17  includes several additions to the core language and extends the C++ standard library. Some of these new features are very easy to use and bring a big added value to your C++ projects.

It’s interesting to detect automatically places where we can use some C++11 new features. For such needs clang-tidy is a standalone tool used to automatically convert C++ code, written against old standards, to use features of the newest C++ standard where appropriate. 

Developers who utilze Clang could easilly use the clang-tidy tool. However for Visual C++ developers and other compilers users it’s not an easy task to benefit from this interesting tool result.

To let all C++ developers benefit from this amazing tool, CppDepend is integrating it now in its latest windows version 2018.1 in order to detect the places where the following features could be used: Continue reading “Easily detect where you can modernize your C++ codebase.”

The rise of the new language MC++

During the last few years we talk about the “C++ Renaissance”. We have to admit that Microsoft was a major part of this movement, I remember this video where Craig Symonds and Mohsen Agsen talked about it.

In 2011 Microsoft announced in many articles the comeback of C++, and Microsoft C++ experts like Herb Sutter did many conferences to explain why C++ was back and mostly recommended the use of Modern C++. At the same time the standard C++11 was approved and we began to talk about C++ as a new language. Continue reading “The rise of the new language MC++”