Today’s post is devoted to 8 popular C++ programming environments. Many of them also support other languages.
- Microsoft Visual Studio
- Sublime Text
- QT Creator
- Eclipse CDT
1. Microsoft Visual Studio
With the help of Visual Studio, an integrated C++ development environment, you can create both console and graphical apps, including those that use Windows Forms. It is also suitable for creating websites, web applications and web services for all supported platforms: Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone, .NET Compact Framework and Silverlight.
- A free version of Visual Studio Community is available.
- Built-in command line interface.
- API for connecting additional debugging tools.
- A complete set of developer tools for creating and cloning Git repositories, managing branches, and resolving merge conflicts right within the C++ IDE.
- A large set of add-ons to expand the basic functionality.
- High hardware requirements.
- No Linux version.
- High prices for paid Professional and Enterprise versions (starting from $45 per month).
Official website: https://visualstudio.microsoft.com/
- Free C++ Integrated Development Environment.
- Cross-platform support.
- A large selection of plugins.
- Code completion, refactoring tools.
- Developers community.
- Own cache issues when creating final programs.
- Installation requires the JDK.
- Slow start up.
Official link for downloading: https://netbeans.apache.org/download/index.html
CodeLite is also free and runs on many operating systems: Windows 7/8/8.1/10, Debian, Ubuntu, Fedora, OpenSUSE, ArchLinux and macOS. It's a great option for beginners because of its straightforward and user-friendly interface. It should be mentioned that the most recent versions of this C++ IDE now support projects for Node.js and PHP.
- A powerful code completion tool based on its own parser.
- Plugins for working with Git and SVN.
- Built-in debugger.
- Complex interface
Official website: https://codelite.org
4. Sublime Text
Sublime Text is a proprietary text editor written in C++ and Python, developed in 2008. This code editor has a large community, so there is no problem finding add-ons and tutorials.
- Can be used for free.
- Does not make high demands on hardware.
- Built-in support for several dozen programming languages.
- Auto-completion and syntax highlighting in a code editor.
- A large selection of plugins written in Python.
- As a debugging tool, it’s not as good as Visual Studio and other IDEs.
- No autosave files.
- Constantly offers to buy a paid version.
Official website: https://www.sublimetext.com
Another great free development environment is Code::Blocks. It allows users to write code not only in C/C ++, but also provides support for such programming languages as Fortran and D (with some restrictions). The developer toolkit has the ability to be extended by installing plugins. This C++ programming environment has versions for Windows, macOS and Linux, but it is possible to install it on any Unix-like system using the source code.
- Free C++ development environment.
- Code completion.
- Built-in debugger.
- A large selection of plugins to expand functionality.
- Not suitable for developing large projects.
Official website: https://www.codeblocks.org
6. QT Creator
Qt Creator is a C++ IDE available on Windows, Linux and macOS. It provides a free version that is valid for one month and offers a complete set of developer tools for building and deploying applications.
- Supports debugging, profiling, code completion and refactoring.
- Ability to compile projects for different operating systems.
- Large app size.
- Code completion doesn't always work.
- The paid version is quite pricey.
- Registration is required to download the free version.
Official website: https://www.qt.io/?hsLang=en
7. Eclipse CDT
Eclipse is a free IDE for developing modular cross-platform applications that has become very popular among Java developers. In this post, we will look at the Eclipse CDT (C/C++ Development Tooling) release. This environment is an excellent choice, since Eclipse CDT not only has all the necessary tools, but is also free and runs on various operating systems: Windows/Linux/macOS.
- Free to use.
- Auto-completion and other features that help you write code faster.
- A large set of plugins to extend functionality.
- Well-developed community, detailed documentation.
- Built-in unit testing, test optimization.
- Customizable GUI.
- Slow start up, high memory consumption.
- Backward compatibility issues.
- Possible plugin conflicts.
Official link for downloading: https://github.com/eclipse-cdt/
The last IDE on my list is a cross-platform C++ programming environment from JetBrains called CLion. It includes modern C++, libc++ and Boost standards, and also supports other programming languages – Kotlin, Python, Rust, etc. by using plugins.
- User-friendly mechanisms for debugging applications.
- Code completion.
- VIM support.
- No free version – only a 30-day demo.
- There is no built-in compiler.
- There may be problems installing the compiler.
Official link for downloading: https://www.jetbrains.com/clion/download/#section=windows
Choosing the right IDE for you is no easy task. I hope this list of the best C++ IDEs has provided insight into the various options available.
While I’ve featured the major contenders and explored their feature sets, nothing will replace hands-on use. I recommend giving your favorites from this list a try with an actual project to see which works best for you.
Leave a comment below which IDE you liked the most and describe your experience!
That, in fact, is all that has accumulated at the moment. I hope you find my observations interesting and they will help someone.
Do you think I missed something important? Feel free to leave any questions, comments, or suggestions.
Btw, you can support my work by buying me a coffee! I'll leave here a few links for you:)
You can also support me on Coinbase
Top comments (40)
It sounds like you have provided a thorough overview of the different C++ IDEs available and offered some advice on how to choose the right one for an individual's needs. It would be beneficial to also include information on the operating systems the IDEs are compatible with and the target audience (e.g. beginners, professionals, etc.).
Yes, that is correct. It's always good to have that information as it can help users to narrow down their choices based on their operating system and skill level, I'll keep that in mind 😊
Qt Creator is available as free community version in every Linux distro. No "one month" restriction or any registration is required.
As a pros:
Thank you, Yuri, for such a detailed clarification regarding QT Creator!
Why need to install JDK is a "cons"? By the way, Eclipse CDT also requires JDK.
I considered it as a "con" because if the user does not have the JDK installed on their system, he or she needs to go through the process of installing it before use the IDE.
Most IDE's require installation of plugins for comfortable work or even to be usable for particular project. Should it also be considered as "con"?
Whether or not the need to install plugins is a "con" depends on the perspective of the user. For some, the ability to customize and extend the functionality of an IDE through the use of plugins is a major advantage. However, for others, the need to install and manage multiple plugins may be seen as a drawback.
I did mean particular case, when IDE is not usable for project without some plugin. For example, if IDE doesn't support cmake without dedicated plugin.
Anyway, I understand your point, although not completely agree with it.
I surprised why JetBrains IDE wasn’t included in the list. I didn’t use it for C++ coding but I use for other languages (ruby, python, PHP, JS) and I’d say it’s the best product.
And I don’t see VSCode in the list. It’s free, but with some plugins it could be better than some paid products.
The list I provided is not exhaustive and there are many other excellent IDEs available, including JetBrains IDEs and VSCode. Maybe in my next list I can mention those two IDEs ☺️
For the more advanced coders: Vim is great and improves development speed. Has a very steep learning curve but learning it pays dividends.
If you want to get into it but don't know where to start: JetBrains IDEs and VSCode both have a very good vim plugin to get you started without having to completely switch
I agree with you on that matter, I personally like in Vim that there are tutorials and resources available online to help you getting started with Vim, such as Vim tutorials, Vimcasts, and Vim Adventures.
Except Sublime Text can't be "used for free" - it's a piece of commercial software you're supposed to buy a license for after evaluating it.
That's true, thanks for mentioning that!
Sorry, I don't mean to belittle your (actually fabulous) list, it just grates when people ignore licenses :)
No problem, it's important to be aware of licenses when using software or other works 👌🏻
Great list of IDEs for C++ 🚀
Here's one I personally prefer: DevC++
You can download it from here: bloodshed.net/
Thanks for mentioning this IDE, I've never used it 👍🏻
Give it a try then😁
Emacs. Learned it years ago, never stopped using it.
Great one, actually!
There is "10x Editor", a new high performance C++ editor.
I'm not familiar with this editor, but thanks for sharing!
What's about neovim?
I believe that Neovim can be configured to work as an IDE with the help of plugins, but it is not a default setting for it. Mostly it is used just as a text editor.
It appears that you have provided a solid foundation for someone looking to choose a C++ IDE, thanks☺️
I'm glad that I could be of help! Choosing the right IDE can be a big decision and it's important to consider all the options and factors before making a decision.
Why no VS Code in those list? VS Code capable of C++ too.
As I mentioned above, the list I've provided is not exhaustive. While VS Code can be used to write and edit code in C++, it does not have the same level of built-in functionality and features as a dedicated C++ IDE. However, it can be extended with plugins and extensions to add those features.
Maria, you could also mention any recent updates or developments for each IDE, this would be great! Overall the post is extremely informative, thank you so much👍🏻
Thank you for your feedback, I'll keep that in mind 👌🏻
VS Code + clangd extension is very nice as for me. Also it provides helpful inline hints
Great suggestion, Nikita 👍🏻
How come Sublime is an IDE? It's a code editor at best.
Sublime Text is considered by many to be a code editor rather than a full-featured IDE. That being said, some developers may use Sublime Text with additional plugins and external tools to make it function as an IDE for their development needs. The term IDE is often used in a broad sense, and different people may have different definitions of what constitutes an IDE.