A moment of nostalgia, and appreciation
Apr. 24th, 2009 08:17 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
This afternoon, I had a thought. One of "those" thoughts. A long time ago (like, over 20 years ago) I admired Leo Schwab's demo for the Amiga, Marketroids. I remembered that Leo had provide the source code for it on one of the Fred Fish "Fish Disks" that were part of the early open source community, and I was immensely pleased to find an archive of those materials and even a copy of the source code.
What amazes me most is that, while the date on these files is Nov 1987, the C inside is still some of the most readable, most clear, and most concise I've ever read. Even the assembly language is easy to read the first time through. It's the kind of code I like to read, short of a full blown Knuthian writing style.
I once said that Leo was one of those programmers who taught me what beautiful code looked like. And it's good to see that I wasn't wrong: even after 20 years, his style is still one to emulate.
What amazes me most is that, while the date on these files is Nov 1987, the C inside is still some of the most readable, most clear, and most concise I've ever read. Even the assembly language is easy to read the first time through. It's the kind of code I like to read, short of a full blown Knuthian writing style.
I once said that Leo was one of those programmers who taught me what beautiful code looked like. And it's good to see that I wasn't wrong: even after 20 years, his style is still one to emulate.
no subject
Date: 2009-04-25 07:21 am (UTC)I am proud and honored to be spending part of my life in Leo's company, because he is such an amazing person. Thank you for posting about of one of the things that makes him the Leo he is.
no subject
Date: 2009-04-25 08:59 am (UTC)I just downloaded that code and looked at it again for the first time in about 15 years. I don't put spaces around the
->
operator anymore, I put spaces around most arithmetic operators now, I put two spaces after the;
infor
clauses, and I still use 8-space TABs in my own code.And I still use 'vi', although I've recently taken to using EMACS for a few things at work.
I really should dig the hard drives out of the old Amiga machines and pull off what I can. There's some old stuff I'd like to look at again...
no subject
Date: 2009-04-25 11:29 am (UTC)It's beautiful.
The names are just terse enough, but no more than necessary, to make for fast, efficient reading.
The layout (and factoring!) is marvellous for reading clarity.
I had no trouble figuring my way around the code, and I've never programmed on an Amiga!