Part II : Tools of trade: a short tutorial introduction
Module 5 : Some miscellaneous freeware
 
1 Linux programming environment: Editors, debuggers, and Makefiles

In this section, we introduce the reader to some editors, GNU debugger and Makefile. There are software for other things like version control and beautification of code; however, they are outside of the scope of these notes.

1.1 Editors

The first step in any programming exercise is to generate the source code. The source code could be a single file; or, it could be a suite of files. The source files typically contain instructions in the relevant programming language. The source file(s) could be a .c file containing instructions in the C programming lanugage or a .plt or .oct or .sce file containing instructions for gnuplot, GNU Octave or Scilab repsectively, or even a .h header file meant to be used included in a C source code.

Typically, one uses an editor to open a text file, write the relevant commands and/or instructions into it, and save it on to the computer. In the Linux programming environment a wide variety of text editors are available - vi/vim, GNU Emacs, gedit and pico to name but a few. Some of these editors like gedit and GNU Emacs have a nice graphical user interfaces; these editors are also quite intelligent; for example, they can understand the C programming environment and hence highlight the different parts of the program in different colours; see the screenshot in Figure 1, for example, of a C source code opened in the gedit editor. Some like vim are based on the terminal; in Figure. 2, we show a screenshot of a C programming language opened using vim. Again, the different sections of the code are highlighters in different colours; further, when the cursor is one the open paranthesis, the corresponding close paranethesis is highlighted and vice versa.

In the references below, we have given links to websites wherein more information, tutorials and documents on these editors are available.