Programming Languages (CS302 2007S)

Ed Nather - The Story of Mel, a Real Programmer

These notes are also available in PDF.

Comments on this reading are optional.

Comments on:

Nather, Ed. (1983). The Story of Mel, A Real Programmer. Posted to usenet on 21 May, 1983. This version taken from http://www.wizzy.com/andyr/Mel.html.


I admire Mel's programming skills, but the reading made me think of one reason for creating programming languages: to make it easier for other people to read and modify one's program.

It's still possible (and even common) to write code in which a change in one place significantly affects code elsewhere.

Minimizing the time it takes for a program to run is often one of the key measures in determining how "good" it is. Quicksort is considered much better then Bubble sort primarily due to the fact that Quicksort runs much faster. However, this story illustrates that maximizing speed does have substantial costs that may, in some cases, outweigh the advantages of the additional speed.

Mel was able to write faster code because he did manually what programming tools, such as what the "optimizing assembly", could have done automatically. While his attention to detail did result in faster code, it did not necessarily result in better code. All of his speedy tricks made his code very hard to understand. Other programmers were unable to understand or change his code without large amounts of effort.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Sun Apr 29 11:27:39 2007.
The source to the document was last modified on Sun Feb 4 20:57:49 2007.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS302/2007S/Readings/nather-mel.html.

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Samuel A. Rebelsky, rebelsky@grinnell.edu