IDE, functions and list
An Integrated Development Environment is a tool to assist the programmer in building applications or writing scripts.
An IDE includes at least:
- A graphical user interface.
It allows you to select files, set options, launch tasks.
- A source code editor with syntax hightlighting.
- Configuration of a compiler.
- Of a link editor.
- An integrated make tool. He sends commands to the compiler and link editor with the source or object files as parameters.
- A debugger.
Optionally you can also have:
- Support for several languages.
- A syntax checker.
- Auto-completion of code.
- Visual editor of interfaces, with drag and drop of widgets.
- Class browser.
The IDE can be dedicated to a programming language or be multi-languages. In the second case the editor adapts the syntax highlighting to the language, depending on the file extension or user choice.
The NetBeans IDE is like a simple code editor with the source file list on the left and the editing window on the right, but it is actually more sophisticated. It has a built-in syntax checker for supported languages that detects errors, can hide the body of a function to reduce the display, can interface to a database to run the code under test.
And of course has the classic development tools...
To automate again the production of applications, other tools may be incorporated into an IDE:
- Panel for tree of classes and their members. It provides easy access to elements of a program.
- Visual designer. By choosing components in panels,you create an interface by drag and drop.
- Context-sensitive help. Provides the meaning of each pointed out item and how to use it.
- Version manager. Maintains versions of the source code.
- Profiler. Helps to optimize the code and to improve its performance.
Modern text editors like Bracket, Visual Studio Code, besides syntax highlighting have extended functionality such as auto-completion, correction of syntax. This therefore should be available in an IDE.
List of free IDEs
There are all cross-languages IDEs. For specialized tools, see at the list of languages on the home page of this programming section.
- Visual Studio Community .
C++, C#, Basic, HTML 5. Became free in 2014.
- IntelliJ IDEA.
The Community Edition is free. It is distinguished by its default gray background, allows to make applications in Java et HTML 5 for the desktop or for Android in the CE version, and other languages in the pro version. Good debugger, refactoring support.
An IDE dedicated mainly to C++ applications but supporting more languages, including OpenCL.
For Linux and Windows.
Written in Java, IDE to integrate same programming tools to a lot of languages. You can add your own tools.
It is a difficult to understand and unappreciated software. Most complain in particular to unstable plugins, the slowness, and difficulty to access components. Its qualities are its support to SVN and CVS, the wide range of languages supported.
- Aptana Studio.
For Web Applications with HTML 5, PHP, Ruby. Deployment wizard and Git support.
- Light Table.
The integration of the browser allows you to view the results of changes without reloading the page which is ideal for a Node.js project.
Java, PHP, C++ applications. Features a syntax checker, access to source files appears only when needed and frees the screen otherwise. Maven integrated for project management. It is well-suited for web apps.
Support for Git, CVS, SVN.
- XCode. For MacOS.