There are a variety of text editors but we are primarily concerned with those that are useful for writing programs. Consider the following categories of editors:
- Word processors: Primarily used for writing papers, reports, and books. Common features include font changes, table creation, and image insertion. Includes Microsoft Word, Wordpad, and LibreOffice Writer.
- Basic text editors: Primarily used for quick note-taking or viewing. Bare-bones functionality that generally just allows for writing text, loading, and saving. Includes Windows Notepad.
- Enhanced text editors: Primarily used for writing programs. Common features include those that make program writing & reading easier, including syntax highlighting. Includes Sublime, Notepad++, emacs, nano, and vim.
- Integrated Development Environments (IDEs): Primarily used for writing and compiling programs. Common features include all those from enhanced text editors plus a compiler. Includes Microsoft Visual Studio, Code::Blocks, and Eclipse.
It is very common to use Linux in the scientific, academic, and computing industries. Additionally, experience with simpler text editors that are readily found on most Linux systems, and the underlying experience of just using Linux and keyboard-only interaction will be valuable. In general it would not be recommended to write code in or print out code from a word processor or basic text editor.
Therefore, it is highly suggested that students use one of the enhanced text editors available on Linux, all of which are available on the CS servers: