links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Jims Email-Improving Software II
Last updated at 12:35 am UTC on 17 January 2006
As you might have guessed, when I mentioned Linux in an unfavorable light, the disciples started making some noise. So I wrote a response, and then another Jims Email-Improving Software II

David T. Lewis wrote:

> Granted, there is a lot of junk being put forward as "innovation."
> But with respect to eg Linux, I think that there is something to
> be said for a 25 or 30 year old design that was simple and general
> enough to have held up this long, especially if it serves as the
> basis for good new work. Squeak seems to be a case in point, and
> Linux is another. Somebody just "burned the disk packs" on Unix,
> and it came back stronger than ever.

These sentiments are exactly why software never gets any better.

In the Linux case, somebody "burned the disk packs". According to that
metaphor, my understanding is that after that you take the experiences
learned from the last go around, take out the bad bits, add a whole lot of
insight from the experiences gained (which may include throwing out the
whole design in its entirety) and build some very clever thing next.
Clearly, Linux is not a result of that process. Parts are better than run of
the mill 'nixes, some parts worse. It's not the case where someone sat down
to write a what we would call a better Unix, they just wrote a different
one. Before someone takes me to task and feels the need to 'educate' me
about Linux and how much better it is than other nixes, I'll tell you up
front that I don't care.

So back to the original question. Hardware advances in leaps and bounds. How
can you make software do the same? Let's take an example. In one design
arena, about 20 years in hardware time compares an 8086 vs Pentium IV. A
side by side comparison of the computing experience makes you believe that
the two are not even remotely related.

Software side? Let's see. You might make the argument that C and Unix were
around in 1980, but couldn't run on the '86 architecture until a little
while after that. Smalltalk couldn't run on the orignal '86 for awhile
(Notetaker excluded). On the original 8086, it was Basic, assembler and
Pascal. On the PIV its Basic, C/C++ and Java. However, I don't think you
get around the point, a lot of the software is the almost the exact same
fucking thing it was 20 years ago!!! Well, maybe a little worse because of
the GUI stuff you have to put up with now. And any good software guy from
MIT or Stanford would have told you that most of it was crap to begin with.

Obviously I know that this is exagerrated, and there are some wonderful
applications out there. Photoshop comes to mind, digital audio workstations,
Renderman, etc. Gaming software is much better now. On the other hand, I
look on in horror at things like databases which seem to have permanently
chained themselves to 1980 due to their voluntary dependence on SQL.

So how do you make software better? Personally, I don't see it coming from
rewriting thirty year old software. Me thinks it comes from the revolution


[I didn't say this in the email, but am writing it now December 2K2]
I have pretty much the same viewpoint about Smalltalk. Reading a lot of the posts here and on cls, there seems this slavish devotion to worship at the original Smalltalk-80 altar, and to not change anything semantically or structurally. I think it's shameful that 20 years have passed and there hasn't been all sorts of wonderful additions to the language, or that the language/environment didn't do some sort of phoenix and turn itself into something more interesting.

Jims Email-Improving Software II