Journal for Bruce Salem

Tuesday November 1, 2011


Mourning the Dead

Today is All Saints and Halloween is nomially All Souls Day, both are Christian overlays on much older traditions of honoring the dead around this time a year. Perhaps it has to do with the cold weather starting and even that it may be a good time of year to disintur the bones of people who died last year, as in many places, to make room for newer died people. Death is less omnipresent to us in the developed world than it is in poor countries or even a century or two ago in our past. I did listen to Mozart Requiem today, based on the tradition in Vienna to perform that work on this day.

Three important people who Just Died

This year, even this month, I have cause to honor the dead as three people who had a big effect on my life died in October. The most well known is Steve Jobs, of Apple Corp., who still has a big effect on consumer electronics and how it has and will shape people's lives, but his success rests in part on the work of two other computer scientists or innovators who also died in the month. The next most influiencial is Dennis Ritchie, the inventor of the C progrmming language on which all *nix systems are based, and whose impact on programming is large, and the other person is John McCarthy, inventor of Lisp and probably of Artificial Intelligence, which term he coined, and whose ideas about functional or list programming had almost as big an effect as did Ritchie. I think Ritchie had a little more of a direct impact. All three have shaped directly what a user of any computer system experiences.

Top

Their impact on Me

Steve Jobs made the GUI affordable to ordinary computer users in the Machintosh. He didn't invent the idea, Xerox did, but Xerox would not have made it available nor have shaped its impact on all other computer systems the way Jobs did. Bill Gates, it could be argued had a bigger impact in terms of the market share he had and how Windows exposed GUI to most people, but that could be thought of as an imitation or copy of what had already been done by Apple, Xerox, and in the X11 GUI then available on most UNIX workstations.

John McCarthy's other major contribution arguably had more impact than his development of AI and Lisp. It was his advocacy of time-sharing in an era in which personal computers were too expensive to exist and the mainframes of the day could support several users whose individual experience was personal. It was this idea that promoted the evolution of operating systems, programming languages and their interfaces, including early GUIs, before the price of personal computers dropped to the point where they were affordable. Indeed, if you were using time-shared systems as I was in 1975, you missed the impact that Apple had on everybody else in the next few years, because at a cost of perhaps $10,000 a seat, you already had a glimpse of the future, and early personal computers were just wimpy versions of what you had in front of you at work. This was true into the 1980's, but by 2000 the whole thing had been turned on its head. The economics that spurred John McCarthy to argue for time sharing had been overturned by Moore's Law, and the same tools that once so characterized time shared systems hosting thousands of CLI users, could be run on a single desktop. The Linux systems of today are the historical artifact of all that history. Many of the historic programs, having been open sourced, can be run on today's very average and very modestly priced desktop computer. In 1995 I was able to run a virtual clone of the desktop environment I ran on a Sparc 5 at work but at home on an IBM PS-2 with 16 MB of ram running Linux and X11 with fvwm as the window manager. I could run the same window manager on today's Linux or even in cygwin on Windows system.

Top

Emacs has its roots in this history

I almost forget to say that emacs, the editor of choice I use to edit this page, is a perfect artifact of the above history and the influience of the men we are memorializing today. If is written in elisp, a version of Lisp, and it has a history that connects it to the days of time-sharing and continues to today's personal computers. It runs on every major operating system of today, and even though I have tested many newer editors and IDEs and find many worthy competators I am drawn back again and again to work in emacs. Surely, that is in part due to familiarity, and its power to do certain things with high efficiency such as gobal or search and replace edits using regular-expressions, and I know that Vi and its descendants have their group of dedicated advocates; speaking only for my self, I get tripped up by vi's editing modes, but in no way denigrate its possibly equal power in the field of editors of choice for programmers, and both emacs and vi go back to the days of time-sharing and glass ttys, before GUIs, before flat panels.

Top

Free Web Hosting