[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]


I submit to you, the programming field as a whole, that we have been
guilty of arrogance of the worst kind, and will soon pay the price for

We have called ourselves a science, yet we can't even define our
subject matter. We call ourselves an art, yet those who can appreciate
what true art is in the field number fewer than the number of modern
art critics, and most of what is produced is utterly prosaic. We call
ourselves a craft, yet we have no real standards of excellence. 

Most programming is no more scientific than astrology, no more
artistic than a lawn mower, not better crafted than a child's model. 
90% of all programs are produced, not as commerce, not as experiment,
but a tutorial - the curse of the class project, in the most
overstudied field in history. Yet most 'professional' programming is
done by underskilled hire-ups, with no knowledge of the field, coding
by rote no different from any factory worker. We pride ourselves as an
acedemic field, yet the intellectuals of the field are no more
involved in the daily business than the scholars of Laputa. The source
of most  innovation and talent is disconnected from those who actually
write the programs. 

As a field we have sought to find a way to make things accessible for
users, yet most of the ideas never get used except in theses. When an
effort is made - Windows 95, for example - what gains it offers come
at the expense of greater complexity, by placing the user at a greater
distance from the system rather than moving the system to the user. It
remians impossible for most people to learn a program without
overwhelming effort - and learning one program does little to  help
understanding others.

Programs being made now remain monolithic, singular things,
disconnected from each other and the user. Instead of making programs
that integrate smoothly, we have paved over the differences with
semi-standardized connections, as if we built a town by constructing
individual houses and connecting them with superhighways. The
'connectivity' and 'drag and drop' of our system remain cheap
imitations of true integration.

We have work, all of us, to make systems that users could, in fact,
use. But in doing so we have concentrated on giving them as many tools
as we can, rather than finding out which they actually use and
building *those* in the simplest and most direct ways. We have made
vast, powerful and extensible systems that only a genius can
understand, and only an expert can use. Yet at the same time we have
made them so 'simple' as to frustrate those who do master them, by
forcing them to take baby steps for each move they make. And still
things get more complex, as the need to market the same product time
and again forces us into adding tiny incremental 'improvements' that
serve mostly to confuse.

We have created a vast network, a Tower of Babble, in which almost
anything can be found - if you know how, and have the patience to do
so.  It is still only half usable, half working, half worthwhile, but
it is being hailed as a revolution. In coming too soon, it will be
finished too late; already, the bloom has rubbed off, and we can hear
the rumbling of discontent among those who need it most, and can use
it least.

As a field and an industry, we are headed for a fall. Too many people
need from us more than we can give. We cannot shove this trash down
the throats of the public forever; eventually, even so valuable a
tools as The Computer will fade if it becomes intolerable to use it.
The users view remains, in the words of Nelson-sensei, 'a field of
rubble'.  Frustration is overcoming those who need these services so
badly, and disillusionment is eating away at the users. Soon it will
end, and we will all be back writing assembly code for toaster ovens;
and I can only hope that when the hype and the tripe have been washed
away, that we can at least try to build something useful, something
pleasant and small and easily understood. The need is so great, but so
has been our hubris.

Jay Osako AKA Schol-R-LEA