May 2000

The New Programmer's Road Map: Choosing an Editor and Primer for Programming

Choosing an Editor

There is a silent holy war (among many thousands to be sure) on the Internet. It can be found waging in newsgroups, chat rooms, "web forums" and the like. It is about the Editor of Choice. Some will say it is vi while others will insist the end all editor (and environment in some cases) is emacs. I would say - the choice is yours, but what value might I bring you without some simple information about them first?

Initially built by Bill Joy of Sun Microsystems, the vi editor represents simplicity and elegance. It has a wide range of commands and can have MACROS. The vi editor is best known for being light. It normally has only a terminal interface, however, there are clones out there that can run in X mode. A very thorough tutorial on the vi editor can be found at the Engineering Computing Network of Purdue University's VI TUTORIAL.

On the other hand is emacs from Richard M. Stallman, founder of the GNU project. Emacs has an intense array of commands, extensions and tools to help a programmer a long. In fact, emacs is similar in nature to an Integrated Development Environment, but better. One can also use mail utilities, play games, download and participate in newsgroups with emacs. The trade off for some might be the time it takes to reap the full benefit of all the things emacs can do. A full compliment of emacs reference material can be found at the Geek Girl's Emacs reference materials page.

There are also many other editors for UNIX out there, some are like vi, some are like emacs while others are sort of hybrids. If neither one of the ones mentioned here suit your tastes, explore and see what else is available, I am sure you can find one that works for you.

So which one do I use? I prefer the vi editor, mainly because I am on so many different platforms and I will be blunt, I am lazy. It was easy for me to learn and retain the commands. I used xemacs for awhile but was easily frustrated by my own poor memory while trying to learn how to use all of it. I have always been a sucker for the whole simple elegance thing too.

A Primer for Programming

I had intended to suggest learning either the Hypertext Markup Language (HTML) or a Text Processing Language as a "primer for programming" but decided to stick with HTML only for several reasons. First, it is somewhat difficult to learn a text processing language and the processing side as well. Second, many people suggest learning HTML before a text processing language - that sort of ended the issue.

Now, what do I mean by Primer for Programming? Well, just that, through HTML, one can learn the basics of structure, a very important aspect of programming. I do not believe one needs to become a master of HTML, rather the opposite, understand how it works and what happens when one uses certain tags. In a sense it is a Primer for Programming Primers if you want to get technical.

HTML is a subset of the Standard General(ized) Markup Language (SGML) which is now coming "online" as the eXtensible Markup Language (XML). HTML is a set of tags that are relatively easy to learn and employ, however, it is a Markup Language which means the author is concerned not with appearance but with the Structure. This is why HTML makes a great primer for primers, some (not all) principles of programming can be found within it.

Another great thing about HTML is it can be fun. It offers very quick rewards for a small amount of work, always a good thing for the aspiring programmer since later, things will not be so easy. I suggest two primers for learning HTML, first, HTML 3.0 Examples, while dated, this is still a great starting point. Second is Dave Raggett's Introduction to HTML.

If you are strictly interested in programming, I suggest learning basic HTML and going no further in the "on line" endeavors until you have a little spare time. Otherwise, for the extremely brave who wish to know and understand a great deal of how HTML works and additional topics such as style sheets I urge you to read everything (several times if you must) at Dr. Terry Sullivan's usability site All Thing's Web.

Wrap Up

Try out an editor and play with it, once you feel somewhat comfortable with it, start learning HTML using your editor. This will give excellent practice with your editor and a chance to have a little fun with HTML.

Next: Scripting Languages Previous: Introduction