Text Editors, IDEs, and PDEs

Ultimately, all the code we write is just text. Instructions that we type and give to a computer to perform. However, there are different kinds of programs we can use to write code more easily, and efficiently.

Features Offered

There are features common to these types of programs that make writing code easier and more efficient. For example:

Syntax Highlighting

Syntax highlighting is a feature that colorizes different parts of the code to make it more easily readable by a human. The code snippets in this book are syntax highlighted.

Code Completion

Code completion is a feature that allows the program being used to write code to auto-complete code being written, or offer suggestions based on the code that you've already written. This is useful for saving time when writing.

Built In Interpreters

Some programs used for writing code allow us to run and test our code in the same program used to write the code. This is useful so we don't have to go to another program every time we want to test or run something.

Plugins

These programs usually support the use of plugins, which are essentially add-ons that add even more functionality.

Text Editors

The most basic kind of program we can use to write code are text editors. There are programs that simply allow us to write and save text files and not much more. A common text editor installed by default in Microsoft Windows is Notepad. A more feature and rich text editor, one designed specifically to write code is *Notepad++". Notepad++ offers syntax highlighting and allows the use of plugins to extend its capabilities. Here is a list of commonly used text editors:

  • Notepad
  • Vim
  • Notepad++
  • Geany
  • Notepadqq
  • Sublime
  • Emacs

Integrated Development Environments or IDEs

The next step above a text editors are integrated development environments or IDEs. IDEs offer everything text editors do and more. IDEs usually offer features that would be found in an entirely other program, and give the programmer the ability to stay in the editor instead of having to switch programs frequently. Some of these features are:

  • Code interpretation or compilation
  • Debugging
  • Version Control

IDEs usually are designed for use with a a specific programming language, however IDEs exist that are used for programming in general. Also, since IDEs are so much more feature rich that text editors, they usually are more complicated and tend to have a steeper learning curve. Some examples of popular IDEs used today are:

  • Visual Studio Code
  • PyCharm
  • Eclipse

Personalized Development Environments or PDEs

There is a lesser known concept of a personalized development environment or pde. This is essentially a text editor that has been customized extensively by installing plugins and other software. So, it is a text editor that has been personalized by the user for their own, specific use. Two editors that are commonly personalized by users are VIM and Emacs.


These types of programs are plentiful and it is common practice to try as many as one likes to find one that suits their preferences and the language they are writing in.

Further Reading

Integrated Development Environment