What is an Integrated Developpement Environnement (IDE) ?
An IDE or development environment (Integrated Development Environment) is software that gathers tools to develop other software, such as mobile applications, software for computer or game consoles, websites, etc ... as well than to make libraries or frameworks, that is to say pieces of code that can be saved and reused in other programs.
The tools of an IDE can be:
An intelligent code editor (coloring, autocomplete, formatting);
A simulator (software to test the execution of its software);
A compiler (which will transform the source code written by the developer into binary code);
A debugger (functionality to help with bug fixes).
There are many IDEs.
Some allow to develop for a specific operating system, others are versatile.
1. Code :: Blocks
Code :: Blocks is a free and multiplatform integrated development environment.
It is written in C ++ and uses the wxWidgets library.
The first stable release is released on February 28, 2008 with version number 8.02.
The numbering has changed to match that of Ubuntu, where the first and second numbers respectively represent the year and the month of the exit.
The last stable version is version 16.01, it was released in August 2017.
The user can however obtain relatively stable unofficial versions, the "nightly build" in order to follow the latest developments.
Level feature, it supports several compilers such as: GCC, SDCC, Borland C ++ 5.5, Watcom, GNU Fortran, ARM, GDC, etc ...
As for Eclipse it has a user interface allowing it to use drag and drop.
We can also import Dev-C ++ or MSVC projects.
Formatting and indentation of the automatic code;
Hiding code blocks;
Parameterizable completions and fully automatic code;
Squirrel scripting engine.
It's a very complete development environment with a lot of useful and modern features.
It was rated 4.7 / 5 by users who downloaded it on smithy.
To download it: http://www.codeblocks.org/downloads
Eclipse is an open source development environment. It is one of the most popular and powerful for C / C ++ development.
It was created in November 2001 as free software and is supported by a group of companies that will later be the Eclipse Foundation.
This foundation is composed of about fifty actors of the software world, aims at directing and supervising the development of Eclipse and was created in 2003.
Eclipse can be used on the following platforms: Windows, Linux and Mac OS X.
It supports debugging, compiling, autocomplete, and code refactoring.
It also has a user interface for using drag and drop and also supports static code analysis.
Eclipse is a little dad of development environments. Many free and commercial IDEs are built on Eclipse like MyEclipse, Orion or RAD.
It can be used for programming in many other languages than C / C ++ and is currently considered the best available development environment.
To download it: https://eclipse.org/downloads/
3. GNAT Programming Studio
GNAT Programming Studio is a free and very advanced environment also known as GPS.
It was created by AdaCore and is a multiplatform IDE, indeed it can be found on Windows, Linux, Mac OS X, FreeBSD or Solaris.
GPS is known to have a very natural interface, very easy to use, which allows navigation much easier and efficient, and also to put forward the fundamental ideas in the program.
By displaying basic application structures, GPS facilitates system development.
It has other features such as:
A version support: Git, CVS, etc. ;
A project assistant;
An application generator
Automatic generation of body files
Automatic correction of the code
GPS is a new type of development environment that offers software experience and design in a particularly comfortable environment.
To download it: http://libre.adacore.com/download/
CodeLite is an integrated development environment for C / C ++ languages.
It is an open source IDE and multiplatform.
It is distributed under a free GPLv2 license, with one exception: External plugins are allowed to remain closed and can be distributed under any license.
It was created by Eran Ilfrah in August 2006.
Supports the new generation debugger;
Completion tool very powerful and very fast;
He also has his own RAD tool for creation;
Support for static code analysis, refactoring, profiling, and navigation between classes;
GDB and LLDB support (debugger).
CodeLite is an excellent IDE, free, open source and multiplatform.
To download it: http://codelite.org/Main/ReadMore
NetBeans is a very powerful free and open source development environment.
It is well known and is used for many programming languages.
It is widely used by professional developers for the development of enterprise, web, mobile or office applications.
NetBeans is a cross-platform IDE.
It can therefore support Linux, Windows, Mac as well as Oracle Solaris.
NetBeans was created in 1996 but was named Xelfi, in June 2000 Sun Microsystems placed it in open source under the Common Development and Distribution License (CDDL) and GPLv2.
In 2010 Oracle acquires Sun Microsystems and NetBeans becomes part of Oracle.
With this acquisition and the contribution of a very active developer community, NetBeans benefits from ongoing upgrades and enhancements.
Configuration and management of the graphical user interface;
Support of different programming languages;
Source code processing (editing, navigation, formatting, inspection);
Import / export function from and to other IDEs, such as Eclipse or JBuilder;
Access and management of database, web servers, shared resources;
To download it: https://netbeans.org/downloads/
6. Qt Creator
Qt Creator is a cross-platform integrated development environment that was part of the FrameWork Qt.
It is oriented for C ++ programming.
The development of Qt Creator started in 2007 but under another name: Workbench and a little later under the name Project GreenHouse.
The latest stable release was released on October 4, 2017.
It includes various tools and allows:
Project management (creation of pre-filled projects, configuration);
Compilation and execution of the application;
Create windows and widgets with built-in Qt Designer and Qt Quick Designer tools
Vault management (Git, Subversion, Bazaar, Perforce, CVS and Mercurial).
It also makes it easier to create mobile applications and compile them.
Qt Creator is a good IDE, easy to use but unfortunately it is not free.
However you can test its free version for a month and get an idea for yourself.
To download it: https://www.qt.io/qt-features-libraries-apis-tools-and-ide/
7. Dev-C ++
Dev-C ++ is an open source development environment for programming in C and C ++.
It was developed by Borland Delphi.
Long abandoned, the project was taken over by another developer in 2011 and is regularly updated.
It is not multiplatform like other IDEs, it is available only on Windows.
It uses the MinGW version of the GCC compiler and allows to exploit its projects under .dev file.
Dev-C ++ can also be used in combination with Cygwin or any other GCC-based compiler.
This complete IDE includes in others:
A class directory for easily locating source code functions, classes, and members
A directory of included functions that function as the class directory but to search in included files;
And a debugger that monitors the state of variables during program execution.
On the other hand, it suffers from the lack of a resource editor, which makes application design tricky if you do not use an external tool.
To download it: http://www.bloodshed.net/download.html
8. C ++ Builder
C ++ Builder is a RAD software (rapid development of applications) designed by Borland as for Dev-C ++ and that takes the same concepts, the same interface and the same library as Delphi using C ++ languages.
It allows to quickly create Win32 applications as well as a graphical interface with its resource editor.
The first version was published in February 1997.
It was version 1.
It is available for Windows and Mac OS X platforms.
The latest version of C ++ Builder was released in March 2017 and offers enhanced or new features:
Better support for debugging
A better compiler
Android C ++ applications can now be created without requiring a specific version of an NDK;
The linker can now use up to 4GB of memory;
And full support for IOS 10.
C ++ Builder is a great way to start creating high-performance C ++ applications for Windows without connectivity to any database.
It is not unfortunately not free but has a free trial version.
To download it: https://www.embarcadero.com/products/cbuilder/starter
MonoDevelop is a free GNOME development environment designed for C # and other .NET languages.
MonoDevelop is part of the Mono project.
MonoDevelop was created in 2003 by a group of developers from the Mono community.
Over time the MonoDevelop project has been absorbed into the rest of the Mono project and, as of 2016, is actively maintained by Xamarin and the Mono community.
MonoDevelop allows developers to quickly write desktop and web applications on Linux, Windows and Max OS X.
Among the main features we find:
The autocompletion of the code;
Class management (MonoDevelop includes a class visualization tool that allows you to list the classes of the current project, methods and properties.);
Intuitive help (integrates .NET and Gtk # documentation as well as prebuilt projects for GNOME which makes it easier to get started when starting console mode.);
A control version Add-in (add-in for versioning which is completely flexible.);
A graphical environment (MonoDevelop has developed its own graphical environment named Stetic -it allows the creation of graphical interfaces in Gtk # =);
Add-in for database management (allows to create and modify elements of BDD like tables, views, stored procedures ...).
To download it: http://www.monodevelop.com/download/
Anjuta is an open source development environment for GNU / Linux.
It is not available on Windows and Mac OS X.
It was developed for GTK + and fits well in the Gnome desktop environment.
It was created by Naba Kumar and his development team.
The first version was published on December 27, 1999.
Anjuta provides a number of advanced programming features:
A powerful editor;
Project management with autotools;
Interactive application creation;
A version control system;
Anjuta is an IDE that supports many languages as well as plugins to increase its possibilities.
To download it: http://anjuta.org/