Rupert said:
Robert Myers wrote:
[SNIP]
The smallest unit that anyone will ever program for non-embedded
applications will support I hesitate to guess how many execution
pipes, but certainly more than one. Single-pipe programming, using
tools appropriate for single-pipe programming, will come to seem just
as natural as doing physics without vectors and tensors.
The fact that this reality is finally percolating into the lowly but
ubiquitous PC is what I'm counting on for magic.
I really wouldn't hold your breath. Look how long it took for SMP to
become ubiquitous with major league UNIXen ... Has it had much of an
impact on the code base at large ? IMO : It hasn't.
UNIX had three stumbling blocks :
1) UNIX does let you make use of multiple CPUs at a coarse grained level
with stuff like pipes (ie : good enough).
2) The predominance of single threaded language that promotes single
threaded thinking.
3) Libraries designed for single-threaded non-rentrant usage.
I wouldn't have the slightest clue, were it not for Gnu. As it is, I
have a clue, but just barely. What I see happening is that, if there is
a better way to do business, people want to find a way to get there.
Given the millions of lines of code that are written in a language and
with an OS descended from ones written for the PDP-11, fundamental
change is very hard. To make change, though, the first thing is that
you have to want to make change, and I'm optimistic enough to believe
that the will is there.
By all accounts Windows NT suffers from the same, but to be fair it
has supported threading for a very long time and MS has been pushing
it very hard too. The codebase is positively riddled with threads by
comparison to UNIX, but I haven't seen much that is genuinely scalable.
Why should Microsoft make the necessary investment? The truly obscene
margin they are making on an OS they have foisted on the world by
illegal means keeps the empire running. Because they need that margin
to keep the empire running, it is never going to be invested in the
kinds of radical rework that would be needed to fix the supposedly
already fixed Windows NT/2000/XP stuff (as opposed to the Windows
95/98/ME stuff that even Microsoft effectively admits is hopelessly broken).
The fact that Microsoft has Tony Hoare and Leslie Lamport on staff and
_still_ manages to produce such horrifying stuff argues for your point
of view, and I think Microsoft is a dead waste to the world in terms of
making any kind of fundamental contribution to software.
I'm prematurely gloating over the fact that Microsoft isn't going to do
an IBM redux. IBM has software still in use so ancient it should be in
a Museum of Natural History. IBM got that software situated at a time
when the style of business that made such hopelessly proprietary and
hermetic software possible dominated the industry. IBM also understood
that, no matter what it took to avoid them, surprises were unacceptable.
Microsoft hasn't understood that or practically anything other than
the way that IBM's hermetic, proprietary software has, in the end, been
its passport to survival.
I don't believe that some kid will have a stunning insight as a result
of having a 2 or a 4P NT/Linux box sat on their desk either. Such boxes
have been around a *long* time and in the hands of some very clever
people who have already cleaned out the low-hanging fruit and are about
1/3rd the way up the tree at the moment.
Stunning insights are hard to predict.
The lesson of the fundamental disciplines where I should have some
capacity to judge progress is that it is the kids who make the
breakthroughs. Nothing that I have learned about the world of software,
mostly as an outsider, would suggest to me that it works any differently
in that respect from physics or mathematics.
I think hard graft is needed, perhaps having more boxes in more hands
will help increase the volume of hard graft and in turn that might get
us a result.
The respectable argument at the core of what I have said is somewhat
akin to the arguments that free market theoreticians make. A modest
number of people, no matter how smart, are unlikely to come up with the
best solution to a problem like planning a national economy. Turn a
large number of even modestly endowed free agents loose, though, and
amazing things will happen.
RM