Jims Email-Improving Software III
Last updated at 12:35 am UTC on 17 January 2006
And stuck another foot in my mouth (that's three if you're keeping count at home) by actually comparing Linux to other Unix implementations.
John Hinsley wrote in reply to my last email:
>Parts [of Linux] 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.
Well, I wouldn't presume to 'educate' you. For one thing, I'd get my
butt kicked. But I would be interested in your educating me by telling
me your reasons for making that assertion. Otherwise you don't seem to
be saying anything more than "that's what I think, take it or leave
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'd blike/b to believe that too. But I can't think of a single
"revolution" which wasn't evolutionary in the sense of "standing on the
shoulders of giants".
I wrote back:
Well, I wouldn't presume to 'educate' you. For one thing, I'd get my
I don't think so. Everybody knows I don't know anything . Just ask 'em ;-)
I can't be educated, neither.
But I would be interested in your educating me by telling
me your reasons for making that assertion.
Ain't really educatin'. Here's a simple test. Tell a BSD disciple that
GNU/Linux is better than his BSD.
I would tell the survivor (if there was one) to compare the latest and
greatest against an old version of BSD or UNIX. I'm thinking that if you
could somehow grab a Unix guy from 1983 and sit him in front of your
'terminal' he'd feel right at home (if the shock that DEC is gone didn't
kill him). There are more commands for him to learn, he would like that. He
could still write his code with EMacs, but he would say he likes Vi better.
He'd bitch that the kernel was too big, just like all real Unix guys do. He
might get confused with that C++ thing, but then again who doesn't? And all
that Pearl and Tcl stuff would be so much faster in C, even if there was a
way to convince him that a fancy Emacs macro couldn't do the same thing.
Most importantly, if you pluck someone off the street and make them use it,
they wouldn't have a snowballs chance. But that's progress for ya.
I realize that Linux is only the kernel and GNU is responsible for the far
more visible (serious) parts of the release. GNU states that their aim was
to develop a complete free Unix-like system. They did that. How much better
is it than Unix? 50%, 100%, 10x better? Compare that result to the 8086
versus Pentium IV difference. Is it 1,000 times better? Me, I don't think
so. Social revolution? Maybe, and it's at a good price point. Technological
revolution? Not even yet.
I'dlike to believe that too. But I can't think of a single
> "revolution" which wasn't evolutionary in the sense of "standing on the
> shoulders of giants".
I tend to subscribe to the James Burke view of history where there are all
these ideas floating around that eventually cross polinate to become
something much greater than the sum of their parts, something totally
unforseen. An example of Burkes view:
[ed - This link is dead now, but it was really good. You'll regret (for the rest of your life) not having read it. A short summary: There were several inventions that contributed to the internal combustion engine. Voltas' methane detector for the spark plug, the perfume atomizer for the carburetor, the idea of converting vertical motion (for the pistons, valves) into circular motion (crankshaft, camshaft)came from hydraulic systems that ran mills. It was the combination of these ideas that produced the internal combustion engine, not 'standing on the shoulders of giants'. Burkes hypothesis is that it is the combination of (most of the time unrelated) ideas that spur revolutions, not evolution/refinement of ideas ]
Volta had some pretty good ideas, but no matter how much you work on a
methane detector it isn't a spark plug. An atomizer on a perfume spray
bottle isn't a carburetor. Yet you need both of these for a gasoline powered
internal combustion engine, and that's the origin of those parts. You need a
leap of faith, a revolution, and the ability to look at the world around you
from a completely different angle. The internal combustion engine was not
the result of "standing on the shoulders of giants" as it were, just
gathered bits and pieces put together at the right time with a change in
perspective. Yet it created both a social and economic revolution any way
you measure it.
There is a lot of energy in this idea of different fields crossing paths. As
an example, we know that part of Kays idea about object oriented programming
came from cellular biology. Would we call this an evolutionary step? [Damn,
I've been reading Bijan posts again :)]
Sure, you could make the argument that the IC engine is a derived work from
steam engines, just a natural evolutionary extension. The car isn't that
clever, just a fancy carriage that you could just as well hitch a couple of
horses to. Nothing special about a Boeing 777, if you've seen a Wright
I never much agreed with the feel of that quote. From what I know,
revolutionaries and giants are not people who are standing around. Instead,
they are more than likely contrarians running around like their pants are on
fire, with an inner convinction that they have an insight into the world
that others don't. Plus, they do something about it. Remember though, just
because you're a revolutionary doesn't mean you're right.
At the very least, I would phrase the quote differently. "Revolutions come
from standing on the shoulders of giants – and jumping off (as Kay points
out, in a better direct direction), to become the base for the next
revolution". Sure, some people jump off the wrong way and get hurt, but when
someone lands right ...
In the physics world, they do that routinely. Take Einstein as an example.
He used the work preceeding his, but he didn't "build" on it. See, he had
these 10 gnarly equations that he knew he could solve. Every school kid
knows the result of those proofs, E=mc2. He jumped off the shoulders, and
became the base for the next revolution. That doesn't mean to say that you
summarily dismiss the Newtonian view of the world, but it sure explains a
few things. I'm doubt that leading modern day physicists sit around all day
rewriting those 10 equations and try to extend them with a few of their own
expecting the unification theory to drop out as a result. They make it a
point to look under different rocks and see if they can find any secrets
hiding under there.
The history of computer software is brief. Here's an off the cuff list of
some revolutions that didn't have a whole lot preceeding them (in no
Engelbarts MIT Sketchpad thesis
Engelbart's presentation at the 1968 Fall Joint Computer Conference
(hypertext, mouse interaction)
Cobol and Fortran for various reasons
There's a whole lot in the computer graphics arena
Closer to home:
The overlapping window interface
Smalltalk (though you might make a case that it was standing on Simulas
etc, etc, etc
you get the idea, it's a really long list. Derived, evolutionary works? You
might be able to make that case, but I think that their true nature is that
they are ideas and concepts that lept out of the ordinary thinking of the
time to become the new shoulders on which to build.