The refactoring is defined as the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure.
We can enumerate three decisions made by the managers concerning the code refactoring: Continue reading “Modernize C++ Codebase: Banned C++ Features Guide”
In 1998 a proposal for a C++ Library Repository Web Site was posted by Beman G. Dawes. The original vision aims to satisfy two major goals:
- A world-wide website containing a repository of free C++ class libraries would be of great benefit to the C++ community. Although other sites supply specific libraries or provide links to libraries, there is currently no well-known website that acts as a general repository for C++ libraries. The vision is this: a site where programmers can find the libraries they need, post libraries they would like to share, and which can act as a focal point to encourage innovative C++ library development. An online peer review process is envisioned to ensure library quality with a minimum of bureaucracy.
- Secondary goals include encouraging effective programming techniques and providing a focal point for C++ programmers to participate in a wider community. Additionally, such a site might foster C++ standards activity by helping to establish existing practice.
Continue reading “Boost vs C++ Standards: The Future of C++”
C++ has been stagnated for many years, and many developers were confident that the language would have the same destiny as Cobol, Fortran, and VB6. On the contrary and against all odds, C++ is reborn from its ashes and the new standards are importantly changing how the language is used.
The evolution of C++ by adding many interesting features does not mean that c++98 standard was a bad standard. Indeed, it gives us many interesting features to develop all kinds of applications. We can enumerate many well-developed old C++ projects, where the code is easy to maintain and evolve. Continue reading “C++ Standards and Best Practices: The Perfect Combo”
Over recent years, there has been much discussion about the “Renaissance of C++”. It’s undeniable that Microsoft played a significant role in this resurgence.
In 2011 Microsoft announced in many articles the comeback of C++, and Microsoft C++ experts like Herb Sutter attended 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 “15 Essential C++11 Features to Enhance Your C++ Projects.”
In a previous post we talked about the clang-tidy tool to detect where you can use some new C++11/C++14/C++17 features to modernize your C++ source code. But how we can easily detect where the new C++ features are used in a project?
Facebook and Google use intensively C++11 in their source code. Folly from Facebook as we discovered in a previos post use almost all the C++11 features and I was curious to know if Microsoft also use the new C++11 standards in their open sourced code. Continue reading “C++11/C++14/C++17 Features in WinObjC: A Case Study”
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++”
In a previous post we talked about the clang-modernize tool to detect where you can use some new C++11 features to modernize your C++ source code. But how can we easily detect where the new C++ features are used in a project?
Facebook and Google use C++11 extensively in their source code. Folly from Facebook as we discovered in a previous post use almost all of the C++11 features and I was curious to know if Microsoft also use the new C++11 standards in their open sourced code. Continue reading “Spotting C++11/C++14/C++17 Features in WinObjC: A Study”
Six years ago Facebook released their C++ library named Folly , it’s a large collection of reusable C++ library components that internally at Facebook are used extensively.
But many mature C++ open source libraries exist, why introduce another one ? Here’s the motivations from their website behind its utility:
Folly (acronymed loosely after Facebook Open Source Library) is a library of C++11 components designed with practicality and efficiency in mind. It complements (as opposed to competing against) offerings such as Boost and of course
std. In fact, we embark on defining our own component only when something we need is either not available, or does not meet the needed performance profile.
Continue reading “Learn from Folly source code the new C++11 features.”