IDE, functions and list

An Integrated Development Environment is a tool to assist the programmer in building applications or writing scripts.

netbeans IDE
NetBeans IDE

An IDE includes at least:

Optionally you can also have:

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:

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.