Programming

Unix offers an extensive set of programming tools standard. Third parties do sell programming tools to supplement (or replace) the standard ones. However, normally Unix comes right out of the box with support for serious C programming.

In particular, the system offers a C compiler, a debugger, a profiling system, a source code control system (for managing different versions of a program), and a make utility (for managing the construction of large applications). For the sake of brevity, I will just point out three programs here.

cc

The C compiler. To compile the program afile.c, use the command cc afile.c. The executable result will be put into the file a.out. You can rename a.out with the mv command.

The cc command takes many options. Refer to the manual for more information.

vi

One of the standard Unix text editors. Vi was designed to work on any kind of terminal. When vi is in command mode, every letter you type is a command. The "i" command put vi into insert mode. You must be in insert mode to actually enter text into the file. To escape insert mode, you type the ESC key.

If you are entering text and you want to move the cursor to a new location in the file, you must first leave insert mode (ESC) and then type the appropriate command letters to move the cursor (j,k,h, and l).

It's actually not that bad once you get used to it.

emacs

Emacs is a common text editor (but not standard). It's a little easier to use than vi. Instead of having two modes of operation, emacs uses control characters for the commands. There are many different combinations of control characters to be remembered. However, you don't have to worry about changing modes all the time.