Integrated Development Environments
This article will be discussing the many different ways you can edit your code.
Text Editors
The most basic way of writing code is to use a plain old text editor, like Notepad. However, I wouldn't recommend that because you would have to spend lots of time doing things like running your code or debugging your code. If you're programming in a language like Python, which uses indentation for syntax, it would be quite a pain to manage all the indentation.
There are more advanced examples of text editors out there, like Atom or Notepad++, but they are still quite limited in their capabilities. For example, you need to get an extension in Atom to even run your code inside the editor.
Also, if you really want to go crazy with text editors, you could try something like Vim or Emacs, which don't have GUIs what so ever and only use the keyboard.
Code Editors
Code editors are text editors but with a lot more built-in features and are built specifically for writing code. Code editors are used to make the code editing process easier. Examples of popular code editors are Sublime Text and Visual Studio Code.
Integrated Development Environments (IDEs)
Integrated development environments' features go quite a bit farther than code editors. Integrated development environments, commonly abbreviated as IDEs, are environments which integrate the entirety of the development process, hence the name. They have everything from unit testing to debugging to build automation and much more.
One disadvantage of IDEs are that they are often language-specific. For example, PyCharm is used for Python, Code::Blocks for C++/C/Fortran, Visual Studio for C#, and IntelliJ and NetBeans for Java. This may also be a good thing, since these IDEs often have specialized features for that language like quick and in-depth auto-complete. For example, Android Studio, used to make Android applications, has a built-in Android emulator which can be very helpful since other editors won't have it.
Another disadvantage of IDEs are their size. They can take up gigabytes of memory but most of the time, it is definitely worth it.
What's the Best One?
There is no best one, and it depends on personal preference and what you're using it for. At Learnmonkey, we use Visual Studio Code and Sublime Text because of their versatility and their large number of extensions, but some people like to use Vim. However, it is often a better idea for beginners to use a code or text editor, you won't only rely on auto-complete or the other features of an IDE. But, of course, IDEs can be great for experienced developers who want to be more efficient.