C++ is unusual
- The language does not "belong" to a single vendor
- C++ tools are available from many sources at many price levels
- However, there is a standard for C++ and all vendors try to implement the standard
- ISO Committee defines the standard
- The standard updates every 3 years and compilers more so often
Bare Minimum Tools Needed
- A text editor
- A compiler (clang, gcc, etc.)
- A linker
Integrated Development Environment (IDE)
IDEs combine all the above mentioned bare minimum tools and also provide other benefits like -
- A code-aware editor - does syntax colouring
- Debugger
- Code-specific tools - static analysis, diagramming tools etc.
- libraries and frameworks
Free Tools
Some of the free tools available for getting started with writing programs in C++ are -
Windows
- Visual Studio Community
- MinGW (not an IDE)
Mac
Cross Platform
- Visual Studio Code
- Qt Creator
- Clang (not a IDE)
- GCC (not an IDE)
This website here (https://isocpp.org) is the home for the standard C++ on the web. You can refer to the Get Started! page to learn more about the different tools available.
All the code in this series will work on any of the tools you choose. I personally will be using XCode for sharing code snippets.
Please leave out comments with anything you don't understand or would like for me to improve upon.
Thanks for reading!
Top comments (6)
Thanks Sajad. 😊
I looked online and could not find a community/free version of CLion. Is there one available? There is a 30-day trial available though.
I think there is still no community version for CLion (unlike for many other JetBrains products). After the thirty days of trial, CLion quits after half an hour and you have to relaunch it. If you are using the Pomodoro technique, it's not that bad.
The problem with VSCode is that it's not an IDE. It's just a "glorified text editor" as one of my colleagues said with no refactoring features whatsoever.
That is exactly how I would describe VSCode as well. 😅 I always see people using it and I started to think I am being biased against it. Glad to know I am not the only one.
Any other free tools you would recommend for writing C++ programs across platforms?
No, I still use VSCode mostly as we integrate it better and better into our corporate workflows, but it doesn't mean I'm completely happy with it. :( But it's LiveShare plugin is quite good for remote pair programming.
In the past, I used to use Eclipse with a C++ plugin, but it was eating up so much memory and its refactoring capabilities were far beyond compared to CLion...
LiveShare plugin does sound useful. I haven't had an opportunity to use it in work, but will try exploring it. With the lockdown both me and my brother (both engineers) are at home and this gives us an opportunity to pick each other's brains.
For VSCode, would you then describe it as a necessary evil? 🤔
I would call it neither necessary nor evil. It has pros and cons and given the efforts, some people put into it in our corporation (documentation, custom plugins, etc), if I put them all on the balance, right now VSCode wins. But this can easily change with the circumstances.