Channels ▼
RSS

Lessons Learned


Dr. Dobb's Journal August 1998: Editorial


The trouble with history is that it's about old stuff that really doesn't matter anymore -- the Peloponnesian Wars, the Hanseatic League, Bob Dole. The trouble with computers is that they are too unique, too new, and too fast moving to have a history at all.

Debunking these notions is Robert Glass's recently published In the Beginning: Recollections of Software Pioneers (IEEE Computer Society Press, 1998). In compiling his book, Glass (who wears the hats of a programmer, author, and editor) asked computer pioneers David Myers, Watts Humphrey, Norman Schneidewind, Barry Boehm, Robert Britcher, Donald Reifer, Frank Land, Ben Matley, Harold Highland, Robert Babor, John Bennett, Bruce Blum, Peter Denning, and Raymond Houghton for their recollections of computing way back when -- well, mainly in the 1960s. In response, the contributors present a lively set of essays describing the world of computer programming back when punched cards ruled the rack.

Granted, much of In the Beginning is of the "who did what when" or "setting the record straight" ilk. Not that you'd expect a whole lot of hands-on information, of course. Let's face it, in this day and age, there's little practical value in knowing how to program -- in assembler, no less -- a Control Data 6400 or IBM 704. Still, Glass and his cohorts remind us of a number of important points.

For one thing, despite what today's hucksters would have us believe, many "modern" concepts -- data abstraction, modularity, dynamic linking, and object-oriented virtual memory, among them -- have been around since, well, when Ike was in the White House. The MIT Multics system, described by Peter Denning in "Before Memory Was Virtual," is just one early research project that explored many of the concepts that are mainstream today.

More importantly, In the Beginning underscores that the difference between journeymen programmers and great ones is often in how they approach problem solving. Even though the tools and resources software developers had in the 1960s and 1970s were primitive by today's standards, there's much to be learned from how they tackled problems. The lessons learned by Barry Boehm in "An Early Application Generator and Other Recollections" (such as anticipating future extensions) and Robert Britcher in "A View from Below" are just as true today as then. And today, as back then, a solid foundation in mathematics and grasp of fundamental algorithms is central to the software-development process.

(Buyer beware: According to the IEEE Computer Society Press, In the Beginning retails for $29.00. For several weeks, however, Amazon.com priced the book at $101.25. At this writing, Amazon.com had dropped the price to $37.00. Maybe this explains the growth in dollar revenues for web-based e-commerce. The lesson to be learned here is "buy elsewhere" -- In the Beginning is worth 29 bucks, but not a hundred.)

Actually, we've been knee-deep in this history stuff for the past few weeks, putting together a CD-ROM of interviews with leading programmers and computer scientists. In addition to interviews from the past ten years or so of DDJ, we're including the full text to Susan Lammers' classic (but out of print) Programmers at Work and James Hague's Halcyon Days: Interviews with Classic Computer and Video Game Programmers. The CD-ROM also includes audio/video interviews from Dr. Dobb's TechNetcast.com Internet "radio" program and never-before-published conversations contributing editor Jack Woehr has had with a number of leading programmers. All in all, Dr. Dobb's Programmers at Work CD-ROM, which is being built by Kevin Carlson, DDJ's managing editor for digital media, includes more than 50 interviews that get you inside the heads of Chuck Moore, Elizabeth Rather, Bill Gates (back when he was a programmer), Donald Knuth, and a host of others. To borrow from Susan Lammers' "Introduction," our goal is "to discuss timeless matters...[and] detail the myriad ideas, methods, and personalities that go into developing innovative software."

And speaking of history, it's sad to report that a computer-industry icon is just that -- history. Yes, after nearly 24 years of publication, the venerable BYTE magazine is no more. Effective with its July 1998 issue, BYTE was unceremoniously killed off by its new corporate masters. I've always felt it an honor to have worked at BYTE, and feel saddened at its demise. They claim that BYTE will rise from the ashes later this year, with yet another focus. However, after the shabby way its corporate owners have treated tens of thousands of loyal BYTE readers, I don't know why they'd bother. Alas, the magazine is dead, and the BYTE experience won't be repeated.

The lesson we can learn from In the Beginning, Programmers at Work, and the life and death of BYTE is that time passes and things change. Consequently, what's important is to remember why we were attracted to all this stuff in the first place. Donald Reifer summed it up for me in his In the Beginning essay "Almost Thirty Years as a Change Agent" -- to make a difference. Once Java is forgotten, once Windows is history, that'll be enough.

--Jonathan Erickson


Copyright © 1998, Dr. Dobb's Journal

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.