It’s Valentine’s Day again! The perfect opportunity to spread the love and gush about my favorite programming language, C++.
I know, I know – we developers are not the most romantic people. Sending flowers or writing love sonnets is not in our nature. It’s not that we’re immune to love; it’s just not our style… We’re coded differently.
But let’s admit it: Just mentioning C++ gets us all mushy inside.
Like any relationship, it’s a love-hate thing. At times it feels too complicated, at times a bit low level. We’ve all found ourselves thinking: ‘Why are we still together?’
So I went ahead and written down the 8 top reasons why we are totally and utterly in love with C++. And if you make it till the end, there’s a cool I Heart C++ T-shirt waiting for you!
1. Yes, C++ Is Complex, but That’s a Good Thing
The critics got it right. C++ is a relatively complex programming language, but that’s not necessarily a bad thing. On the contrary: If you call yourself a C++ expert, that means you overcame many obstacles, climbed the steep learning curve, and basically owned it.
That’s why seasoned developers absolutely swear by it – it allows them to constantly hone their coding capabilities instead of it being spoon-fed to them like children.
Yes, we are considered smart developers.
Plus, C++ is prestigious, no doubt about it. No wonder it is a desirable skill in the employment market.
2. It’s Widely Spread
Though C++ is less popular today than in the past, it is ranked 4th in the popularity of programming languages (6.88%) according to TIOBE February 2020 Programming Community index.
C++ can be found in many applications from various fields, such as image processing, machine learning, driver development, embedded development, telecom, simulations, MedTech care, manufacturing, security, finance, and, of course, gaming.
No matter what’s on your run-at-startup, it’s probably written in C++: operating systems (Windows, Mac, iOS, Android, etc.), web browsers (Chrome, Firefox, Safari), databases (MySQL, MongoDB, MemSQL…), compilers, and game engines (Unity3D, Unreal Engine, cocos2d-x). Heck, even Facebook uses it.
So, as far as popularity goes, C++ is hot! And that hotness rubs off on you.
3. It Has a Massive Community
The language’s popularity ensures that the C++ community is a force to be reckoned with.
There are extensive documentation and an enormous amount of resources, forums, and tutorials to research. With a simple tap, you can get answers to any questions and discuss C++ to its bits and bytes at hubs such as StackOverflow, cppreference.com, Standard C++, and cplusplus.com.
4. It’s Multi-Paradigm
C++ does not impose a specific programming paradigm, which is quite unique.
Instead of using different languages to handle various components (which can lead to repetitive code) or misusing the language (which produces a messy code), you can just use C++ and ‘mix and match’.
Simply put, you get to solve issues in many ways and styles. It’s not just about the cleanliness and slimness of the code – it’s also about the freedom you have as a developer to truly express your style and use the design and strategy of your liking.
5. It’s “Feature Rich”
C++ has basically any feature you can think of.
It is considered extremely feature-rich, which relates to the freedom and multiple styles we discussed above. Among its many features, you may find object-oriented programming (this is the main addition to the C programming language), exception, namespace, error handling, operator overloading, preprocessor commands, templates, map, Machine Independent, and many others.
6. Its Compilation Processes Can Be Distributed
C++ is built in a way that allows for distributing its compilation processes.
Why is that important?
If you can distribute the processes to run on other machines in your network or public cloud, you can dramatically accelerate the compilation time that in some (ok, much more than some) cases is super slow. Even if it doesn’t take that much time for an incremental build to run, running a lot of these babies is very time-consuming.
That’s precisely what we do here, at Incredibuild. You can say we spread the love and distribute the workload.
Our Virtualized Distributed Processing™ technology harvests idle CPU across your network and the cloud, emulates your local environment on remote machines, and seamlessly turns every host into a supercomputer with hundreds—even thousands—of cores.
Magic, I tell you.
7. It Has a Lot (a Lot) of Libraries
We’ll take a deep-dive into C++ top libraries in another post, but the mere fact that they exist and are massive is a blessing.
You can use these pieces of code, written by smart C++ experts (smarter than most of us), and avoid starting from scratch. Libraries like Qt, STL, Boost, OpenCV, and many others are there at your service – and they are great.
8. C++ and Gaming – a Match Made in Heaven
C++ is THE language of game development.
Plenty of popular game engines are written in C++ (like Unreal Engine), so even if you’re a Java-jiver or Python-pro – if you love games or appreciate game development, you gotta love C++.
So I think now we’re pretty ready to pop the big question:
C++, Would You Be My Valentine?
I love C++; I genuinely do.
So much so that anyone who codes in C++ and is part of the C++ community is my best friend.
If you read this far, I guess you love C++ as well. And you deserve to wear your love proudly.
Send me YOUR reasons for loving C++, and we’ll send you this cool t-shirt! XOXO