Return to the Section 101 Homepage.


Introduction to Emacs and the Shell

Introduction

For a programmer, the choice of development environment (The tools they use to write, compile, test, and debug programs) is an important one. Although each programmer will have different requirements, it is fair to say that all want tools that will help them to write better code more quickly.

In this class we are using the classic combination of the text editor (emacs, specifically) and the shell. There are other tools out there and I encourage you, if interested, to try them out on your own; Perhaps you will like some other text editor (such as vi) better, or prefer a completely different environment (Eclipse, for example).

The shell and emacs are similar in a number of ways: They are both primarily text based, they have both been around for quite a while (Emacs has gone through 20+ version in 20+ years, for example), they both provide a similar user experience on a number of different Operating Systems, and they can both take a bit of time to learn to use. However, so many programmers use these tools regularly because they find that, after gaining experience with them, they provide the right balance of speed, convenience, and flexibility.

Emacs

Emacs is, at least as far as we are concerned, a text editor that offers a lot of features useful when working with code. In particular, it does syntax highlighting (Coloring of portions of code to indicate what purpose that regions serves), automatic indentation, and parentheses matching, among others. Emacs also offers a lot of commands for quickly moving through and manipulating text.

Get started by reading the Emacs Reference Sheet.

Shell

The shell (AKA terminal, console, and command line) may not be very inviting, but, like emacs, it can be a powerful tool once its details are understood. It also provides a single location from which just about anything can be accomplished, including starting programs, working with files, and managing preferences. Further, it provides a mode of user interaction that is shared by many operating systems (including Solaris, Mac OS X, Linux, and many others); After learning how to use the shell, it is fairly easy to work on any of these systems.

Get started by reading the Shell Reference Sheet.



Return to the Section 101 Homepage.