C and C++ is widely used and good programming language for beginners. C is procedural language and is parent of C++ as well as basic of other programming language. C++ is an object oriented programming language and is more advanced than of C.
There are many IDEs available and choosing a right and best IDE will be difficult to most of beginners. In my case I started with Turbo C as I used it in my lab class, later on I decided not to use that and started using other IDE. While learning C and C++ you may have to also learn some basic graphics program like OpenGL, so it is better to choose good IDE that lasts until your learning period.
Among the list of many IDEs, I have chosen few popular and best IDE for C/C++ that suits for beginner.
1. Turbo C/C++
It is most basic version of Integrated Development Kit and uses Borland’s Compiler It has a source code editor, compiler, linker, inbuilt debugger and for help it has offline reference. Turbo C/C++ runs only in DOSBox, this is the reason why it is not user friendly. Also the source code editor is like, notepad with syntax highlighter, which only highlights your source code in a annoying blue screen. Turbo C/C++ used to be famous IDE in past time but now it has been discontinued after arrival of user friendly IDEs like Code::Blocks, Dev C++, Eclipse, etc. Now modern compiler has auto complete feature and made it easy to write our code. But in case of Turbo C/C++ there is no such feature like auto complete. This is also a main reason why I don’t like this IDE.
(DEPRECIATED) Turbo C/C++ is now being replaced by modern IDEs as it does not provides much user experience and and it is now obsolete. It will be hard to code with Turbo C/C++ as you start coding much bigger programs and projects, so don’t start with this.
2. Dev C++
Dev C++ is much far better than Turbo C/C++ since it provides good user interface and uses standard C/C++ compiler, MinGW. The newer version of Dev C++ also supports GCC based compilers like TDM-GCC Compiler. But the problem with this IDE is that, the developers of Dev C++ stopped updating it. The most recent version of Dev C++ is 3 years old and uses TDM-GCC 4.9.2 as the compiler. That compiler is also obsolete (current stable GCC version is 7.4) and is incomplete, but not as insanely obsolete as Turbo C/C++. Since the compiler is completely outdated you are able to compile C/C++ programs before 2011 with it and even use some elements of C++.
(DEPRECIATED) However Dev C++ is better than Turbo C++ in many way, it is depreciated. It is no longer updated and the compiler has also stuck on a old version. In my view, there is plenty of other IDEs so why we use this old and buggy IDE?
It is Code::Blocks I replaced with Turbo C++ after I found it boring and time consuming. Code::Blocks is similar to Dev C++ but it gets updated time to time and has newest stable MinGW compiler. You can also use another compiler if you don’t like or have problem with MinGW compiler as I am using TDM-GCC. It is light weight, open source and available for Windows, Linux and Mac platforms. It has auto complete feature and is completely adjustable, user can customize editor as I have added some themes in it, and link other compiler and libraries if necessary.
One can easily create C/C++ projects of medium size, but the large projects are not recommended. It also comes with portable type in which you do not need to install app, and it can be run directly after downloading Code::Blocks. So it can be stored in a flash drive (pen drive) and can be used anywhere directly from the flash drive. If you want to learn graphics OpenGl Code::Blocks can be downloaded from Code::Blocks Download section. Choose the binary that best suits for you and download it. If you don’t know which binary to download then download that one with post-fix “mingw-setup”. And you want to add some dark theme in your Code::Blocks, then visit Add Dark Theme in Code::Blocks.
If you are a beginner and have trouble finding a good IDE for C and C++, Code::Blocks is very nice, lightweight IDE with all the features available to use. If you are unable to choose the right IDE, then don’t look anywhere and download Code::Blocks. I am sure you will love this IDE.
4. Microsoft Visual Studio
Microsoft Visual Studio is the most advanced Interactive Development Environment from Microsoft used to develop computer programs, mobile apps, web apps, we service etc. It has IntelliSense feature and gives great user experience while editing source code, makes debugging easy, and also user can catch some minor error while editing (gives notification if anything wrong is typed) making it more productive.
Microsoft Visual Studio is not a simple IDE like Code::Blocks, it supports 36 different programming language and the code editor and debugger nearly supports any number of language. Visual Studio is more complex IDE and many features of it may me useless to beginners. But using it now will make working with this easy in future since most developers use Visual Studio for rapid development of their apps/services. It is not lightweight like Code::Blocks, Dev C++ or others IDE and typical installation may require 20 GB of hard disk. So you may not want to install it to do few simple programming.
I found installing OpenGL very easy in Visual Studio, while it takes time and some technical knowledge to setup OpenGL in Code::Blocks (in MSVS, from NuGet Package Manager install nupengl). It is easy to work with your teammates, managing your projects, editing, compiling and debugging using Visual Studio. In other hand it is resource intensive and heavy.
Microsoft being heavy and feature loaded IDE it is recommended to use it after getting some skills in programming language or you can use it along Code::Blocks.
Which is the best IDE?
It totally depends on you and your destination. If you just want to learn about C or C++ then a lightweight IDE will be best. If you want to learn C/C++ deeply and in future you want to develop some apps with it or may be you will start with another programming language after C/C++ then you will need an excellent IDE like Visual Studio. There are Eclipse, NetBeans and many others IDE that you can try.
Others IDE and Editor Worth Mentioning
- CodeLite – It is opensource IDE like Code::Block
- Eclipse – Well known opensource IDE for Java, C/C++ and PHP that has support for many programming language.
- Visual Studio Code – It is an editor and has great feature like IntelliSense and one of the best free editor for front-end developers.
- Sublime Text – A paid text editor with many quality features.