by Ed Hartnett
Trying to Make Programming Pretty
These days, fancy editing environments are all the rage, and editors for Web developers are a prime example of the proliferation of the so-called Integrated Development Environment. This is an attempt to make programming as easy as balancing your checkbook, writing a letter, or turning on the door locks in a dinosaur theme park.
Programming, however, is a bit more complicated than that, and Web programming is perhaps the most complicated type of programming. It involves dozens of different software packages, all working together to take text and graphics files, prepared by the Web programmer, and convert them to what the users see in their Web browser. And although the Web is a very graphical environment, a surprising amount of Web programming has nothing to do with graphics—it's just text processing.
A Web page, for example, is really nothing but a simple text file, until it is served up in a browser. The browser understands the file and the computer user enough to make some decisions about what the resulting Web pages will look like.
Back to the Basics
When it comes to processing text files, there's no school like the old school. Text processing is something that any programmer from 1980s onward can tell you all about.
In olden times, programmers used various different tools to perform the tasks that make up programming. These tools are all embodied in the general UNIX principle: Do one thing, and do it well. Lots of programmers still abide by this.
Learning Curves and How to Flatten Them
Learning how to use all these tools is a significant burden on the new programmer, as well as a fertile field of mistakes and bugs. Thus, the idea of a graphical users interface that hides all the tools beneath windows, wizards, and nicely written help files.
It's just a pretty face on the same old tools, but it allows new programmers to get up to speed very quickly, and to use the tools in an intuitive way. Experienced programmers will also claim that the integration of all the tools into one application allows them to work faster and to accomplish tasks more easily.
The idea is to have one application that can handle all the needs of a typical Web programmer, just as Microsoft attempts to handle all document-preparation needs with its Word application, and all the financial needs of users with Microsoft Money (and what does Bill Gates know about, if not money?)
This explains why such programs have little appeal to old-timers such as myself. We have already climbed that learning curve. And no matter how pretty the face of the latest graphical tool, I wouldn't trade it for the integrated development environment that I use.
What Do People Who Are NOT Cranky Old Geeks Use?
In the world of Web programming, the Dreamweaver application is the industry-standard Web-development tool.
It presents the user with a very typical Microsoft Windows interface, from which the entire range of Web development tasks can be undertaken. Files can easily be uploaded and downloaded from the remote hosting site; and the text in the files can be edited in a nice HTML editor, which changes the color of the text in accordance with its HTML meaning. (For example, commented-out HTML is all one color, while tags are a different color from the rest of the file, etc.)
There's really no doubt that, for the average computer programmer in these modern times of graphical user interfaces, a program like Dreamweaver is the best way to do Web programming and HTML editing.
But it's not what I use.
Emacs: The Programmer's Secret Weapon
Back in the mists of time, back when the Watergate scandal was still in the news, and only a few months after President Nixon resigned from office, Richard Stallman, a crazy lunatic or a brilliant programming genius, or perhaps both, began work on a new editor called Emacs—which would, in fact, become the first truly integrated development environment.
The Emacs editor (www.gnu.org/software/emacs), which is still actively developed by Stallman, continues to lead the way in features for programmers, while remaining completely backward-compatible.
Emacs has long since acquired a graphical face for those who wish to use it. (Not me. If text was good enough for my grandfather, the first programmer in the family, then it is good enough for me!)
The Emacs editor provides the usual features of a programming environment, such as Dreamweaver. But the great thing about Emacs is that it works the same for every type of programming. Whether I am doing Web sites or old-fashioned FORTRAN programming, Emacs provides all the tools needed.
Emacs is smart enough to adjust itself to the work that you are doing.
Perhaps best of all, Emacs is free software. I have the source code and can compile it any time I want. It runs on every computer system I have ever programmed on, from old VAX systems, to the latest Windows release.
You can download it right now, if it's not already on your system.
And no one can make it backward-incompatible on you, not even Richard Stallman. No one corporation can hold all of your work in the palm of its sweaty, corporate hand.