Re: software survival and progress (was Re: Sweeden & Germany to phase out nuclear power?)

From: Samantha Atkins (samantha@objectent.com)
Date: Sat Mar 30 2002 - 13:10:22 MST


Mike Linksvayer wrote:

> On Sat, 2002-03-30 at 01:54, Samantha Atkins wrote:
>
>>Those were simply the largest technological segments affected.
>>Most high technology was hit to some degree. The dot coms were
>>not as worthless as they are often portrayed. Many quite strong
>>and worthwhile companies died along with the rest or are barely
>>surviving. Quite a few had interesting technological edges that
>>could have made a difference in what was available for the rest
>>of us. Dot coms got caught up in the super hype but I don't
>>believe they created it or that the crash was altogether or even
>>mainly a healthy thing. The telecomms were not just spending VC
>>money, nor were some of the "dot.coms".
>>
>
> http://www.nytimes.com/2002/03/25/technology/ebusiness/25NECO.html
>
> 83% of companies entering 2001 with venture funding still live. Not
> sure whether I'm surprised or not. The rapid adaptation that enabled
> this survival rate would seem to speak very well of the Silicon
> Valley/American/Capitalist economy/culture. Granted, even most of the
> survivors had to make serious cutbacks and some may still not pull
> through, but I wonder how much realling interesting technology was lost
> or set back significantly? Not much is my guess.
>

It is just a guess as is mine. I certainly know of a lot of
very good brains currently not being gainfully employed and a
lot of others that are in a holding pattern doing everything
necessary to keep a company afloat rather than doing what they
do best. The company I worked for was cut down to and arguably
into the bone. We are still alive but not as able to seize
opportunities and flesh out our technology as before.

>
>>In the meantime, non-self programming software hasn't
>>received any significant advances in programmer tools and
>>abilities in over a decade. I don't know how we are to develop
>>good augmentation wares without several serious advances in
>>programming practice, human-computer interaction and other areas
>>not exactly accelerating at this time.
>>
>
> I guess one can quibble over what constitutes a significant advance or
> claim that nothing's new under the sun, but what about (in no particular
> order)
>
> * safer programming (the collection of stuff Java and C# kind of get
> right)

These are largely boring languages that greatly limit the
productivity and creativity of programmers and of builders of
tools to support software design, implementation and
maintenance. There is nothing "new" in either language although
the organization of the languages and their marketing has been
effective.

> * object oriented programming

Very old technology. I've personally been involved in it for 20
years now.

> * application servers/frameworks

Remember old timesharing systems? The frameworks leave a lot to
be desired that I can go into at length if desired.

> * scripting languages

Very old languages like Lisp and its descendants and like
Smalltalk always were "scripting". Scripting languages alone do
not address productivity of software engineering and gains in
reliability and capability. They are more productive
environments for designing algorithms in the small but most do
not address programming in the large well.

> * ubiquitous networking and database connectivity

We have better piping (network). We have database technology
that is more used but really hasn't advanced in a decade and in
places two decades. It covers relatively small transaction type
problems well but not much else where the much else is certainly
needed today. The connectivity to databases is mainly
relatively low-level with little broadly available support at
the level of object persistence for instances. This is an area
of personal expertise and I very much know whereof I speak.

> * semi-literate programming

The concept is quite old and the practice is not often done and
certainly isn't well and broadly supported by tools.

> * "extreme programming" practicies

Most of them are not very extreme in their effectiveness and
many are part of what good programmers already do.

> * the web! (xml/http/uri/...)

More pipes and information enabling. XML is broadly over-hyped
as the solution for everything. In fact it was designed for and
is nominally useful for the packaging and delivery of mostly
hierachical information between heterogeneous parties. Neither
it nor any of the other protocols listed address the real meat
of the programming problem space.

> * easy internationalization and accessibility
>

Not relevant to the problem.

 
> I consider adoption and robust implementation highly relevant, even if
> the ideas are decades old. None of the above have run their course
> IMO. I look forward to another decade of improvements (though with a
> half-empty perspective, one may be looking at a decade of stagnation)

Not one of the things listed address better automation of the
software process itself and radically better toools and
techniques in programmers hands.

> and perhaps a few surprises. Capability security should be really
> important. Aspect Oriented Programming looks like a nice adjunct to

Capability security is also a very old concept. I independently
hit on it and used it in the early 80s myself. Aspect Oriented
Programming is interesting but not easily exploited in
relatively inflexible languages like Java and C#. It is
commonly used to patch up existing software messes rather than
to revolutionize the creation of software.

> existing programming methods. For the sake of list continuity or
> something, Intentional Programming looked interesting to me a couple
> years ago (mentioned by Billy Brown I think) though I don't think I
> fully grokked it. Appears that the project is no more at Microsoft
> Research.
>

Intentional programming is extremely interesting to me. In the
meantime a great deal could be done to reverse-engineer and
refactor existing code (providing much more useable information
about the codebase as a side-effect!) and to enable much higher
levels of reuse and use of design patterns. But creating a
viable tools company was very difficult before the meltdown. It
is even more so now. So it is likely these developments, if
they happen, will come through volunteer efforts as Open Source.

 
>>From my (limited, not all that experienced) perspective, the software
> stack is getting higher level every year, which frees brilliant people
> to work on really hard problems (building a seed AI, eventually) instead
> of reinventing lower layers that have been implemented and
> re-implemented by previous (internet time) generations. Also lets bozos
> like me crank out boring programs faster. :)
>

The stack is getting much broader but it is not getting
significantly "deeper" or better organized for excellent use.
The very structure of many software companies and of software
patents and other encumbrances precludes much reuse of prior
efforts. A lot is re-invented over and over again by working
software engineers. Relatively little is reused even within
companies much less across them.

- samantha



This archive was generated by hypermail 2.1.5 : Sat Nov 02 2002 - 09:13:09 MST