Integrated Development Environment is a software application that allows computer programmers to develop software by programming languages. The environment consists of source code editor, compiler/ interpreter, build automation tools and debugger. IDE is designed and dedicated to a specific programming language and it has the features that mostly matches with the programming paradigms of the language. IDEs typically represent a single program having many features for authoring, modifying, compiling, deploying and debugging software that are helpful in developing software programs.

Source code editor:
A source code editor is a text editor program designed for writing and editing the source code of computer programs by program developers. It may be a standalone application or a built in application in an IDE. The source code editors speed up and simplify the writing process by providing syntax highlighting, bracket matching and code auto completion functionality.

Compiler:
A compiler consists of a set of software that transforms the source code written in a programming language into another language understandable by computer, often as binary language called ‘object code’. The transformation helps create an executable program. A compiler performs the operations such as lexical analysis, preprocessing, parsing, code generation and code optimization.

Interpreter, build automation tools, debugging tool:

An interpreter is a computer program that executes the instructions or source code written in a programming language. Build automation automates a variety of tasks such as compiling the source code into binary code and running tests that are done by software programmers. A debugging tool helps to test the program. It has a functionality to run a program step by step, to halt when specific conditions are encountered, to stop at some event by using breakpoints.

IDEs are available for multiple languages such as Eclipse, ActiveState Komodo, OracleJDeveloper, Microsoft Visual Studio, NetBeans, Xcode, Selenium, MPLab IDE. Some IDEs have the ability to support multiple languages. It has a GUI. IDEs increase developer productivity by providing instant feedbacks for syntax errors when writing programs and parsing of code at the time of developing programs by programmers.