From: Simon McClenahan (SMcClenahan@ATTBI.com)
Date: Sun Jan 26 2003 - 22:52:51 MST
The most significant thing I got from Lanier's interview was that there
needs to be a paradigm shift in the way programmer's implement a solution to
a problem. Traditionally programming has been implementation according to a
specification that is eventually marshaled across a wire (serial line). In
OO terms, one object send a message to another object. Lanier is saying that
the specification that the common programmer relies on is a hindrance to
solutions and creativity. At least this is what I got out of it.
A lot of the problems with "enterprise level" software I think is due to the
methodology and project management that is in use. I think that UML is a
great "language" simply of the fact that it is mostly pictorial and not
solely ASCII text based like all other programming languages one generally
talks about. The key assumption to make note of is that the programmers are
humans (as opposed to an AGI), who have bad hair days, nagging wives and
kids, the illusion of job security, and the whole gamut of the emotions that
humans experience that can both hinder and strengthen the software
development process. Therefore I submit that the problem of causing this
paradigm shift that Lanier is suggesting is a social engineering problem,
with the programmers themselves.
Those of us in the industry should have heard of methodologies such as RUP,
and Agile Development methodologies which includes XP (eXtreme Programming).
Concepts such as constant unit testing, integration testing, pair
programming, code ownership, on-site customers, etc. I believe are all
addressed very well in XP at least. Different techniques would be used for
closed source versus open source, in-sourcing versus out-sourcing, teams
that work locally and globally, etc.
There are many different tools and languages for modeling and programming
with. Procedural, object-oriented, component-oriented, service-oriented, and
phenotrophic computing that Lanier is suggesting. To most career
programmers, the difference between these concepts are not easily understood
and one often gets the glib reply of "right tool for the right job," and
they continue to use the same old tools they have become familiar with
throughout their career. I guess the same applies to other holy wars such as
OS's, text editors, IDE's, etc.
Now for an SL4 spin - imagine programming a system where you had or could
use all of your available motor reflexes other than typing through a
keyboard. This would include making sounds, pressing and moving things
around, etc. You would receive feedback of your program entry through all of
your available senses, including sight, sound, touch, smell, etc.
Now imagine that computer you are trying to program is intelligent and
sentient. Maybe even a simulation of a biological human. Could you program
an already intelligent being? If the answer is yes, then you probably
realize that we are already doing it to the people around us every day.
Marketers and advertisers know this and are programming us constantly. If
your answer is no, well, I'm not sure what to think because I can't see how
any intelligent being could be so blind as to not see that we can all
program each other in one way or another, no matter how high an IQ one might
This archive was generated by hypermail 2.1.5 : Wed Jun 19 2013 - 04:00:52 MDT