Editor's Forum


We Have a Winner!

Where were you 20 years ago?

As always, there was talk 20 years ago about the “fast pace of technology,” which centered at that time on the great innovations in calculators, microwaves, and the video entertainment industry (remember the Beta vs. VHS battle?). The IBM PC had just been announced, but practically no one had one. They were just plain too expensive, and besides, what would you do with the darn thing anyway? If people were going to splurge on some fancy electronic gadget, it would be on the emerging audio Compact Disc technology, not a home computer. The term “tech stocks” only applied to aerospace companies and IBM and its (now mostly non-existent) competitors.

By 1981, I had just spent three years at a defense contractor in Southern California coding in FORTRAN and Ratfor (where Kernighan and Plauger’s Software Tools was our “bible”) and decided to go back to graduate school. That’s when it happened.

Under the entertaining tutelage of fellow Ph.D. candidate and office mate Titus Purdin, I was exposed and eventually hooked on the C language while at the University of Arizona. Accustomed as I had been to long turn-around times for batch jobs on large mainframes, I was delighted with my first lean-and-mean C compiler, which ran on a Commodore 64 in the comfort of my own home. That led to many rewarding days (and, alas, nights) porting utilities from FORTRAN and Ratfor to portable C. When I couldn’t find code for a favorite Unix utility, I wrote it from scratch and then easily ported it to the C compiler on VAX/VMS at work the next day. Next thing I knew, the whole world was distributing C code on one BBS or another, the most successful of which was the dial-up server for the CUG (C Users Group), a popular clearinghouse for C code in, of all places, Kansas. No advertising machine engineered this particular revolution. Dennis Ritchie built it, and they came.

With all the negative press C has had over the years, nothing speaks more strongly in its favor than the multitude of programmers who have embraced it, and who continue to use it or one of its successors. It is fast, it is portable, and it has spawned a family of successful object-oriented languages and tools that sustains our industry today. It is the lingua franca of embedded programming and is still the language of choice for building efficient software tools. (Last time I checked, most of today’s compilers, databases, and JVMs are still written in C.)

The computing landscape has changed over these 20 years with the advent of the PC, graphical user interfaces and interactive development environments, object-orientation, and the World Wide Web. Diverse methodologies have come and gone. The pace of technological progress has undeniably quickened. Template meta-programming, agile development, and aspect-oriented programming are now having their say and will surely hand off to the next Good Idea. But computing seems to be pretty much the same old work on a new background. Tools may change, but the fundamentals skills remain the same. Conceivably, someday C, C++, and even Java will be relics of a bygone era, but I think that will yet be a very long time off. Things that work tend to endure.

This journal, which began as a newsletter for the CUG, has played an important role in the progress of our industry. It has been a voice for the workaday developer, and it continues as a clearinghouse for real code for real people — for solutions that work. And we are privileged to have the industry’s best on our masthead.

And so who are the winners of the last two decades? I can think of a few:

1. C and its descendants

2. CUJ

3. Humble programmers, like you and I

Here’s wishing us 20 more winning years.

Chuck Allison
Senior Editor