Re: software progress (RE: Hardware Progress: $319/GF)

From: Samantha Atkins (samantha@objectent.com)
Date: Wed Sep 04 2002 - 20:49:17 MDT


Ben Goertzel wrote:
> Eugene,
>
> I've been writing software since 1980 or so. In my view, there has been
> significant progress in the software domain. Obviously, progress in this
> domain is harder to objectively measure than in the hardware domain, as
> there are no simple metrics like "CPU time" or "memory size." However, with
> sufficient effort, it should be possible to compare the man-months required
> to create and maintain a software project of a given complexity, then and
> now. Maybe someone has done this already.

A couple of perhaps useful articles (or at least ones I like):

http://paulgraham.com/icad.html (general comments on
differences in language)

http://www.flownet.com/gat/papers/lisp-java.pdf (Lisp as
alternative to Java referencing empirical comparisons)

There are quite a few language comparisons out there that are
findable with google.

>
> My own view is that the more complex software projects being undertaken
> today, would hardly have been possible using the software tools of 15-20
> years ago. Certainly, prior to scalable, distributed-processing friendly OO
> software technology, something like Novamente could not have been attempted
> by a small team.
>

How odd. I was designing and implementing complex projects over
a decade ago although not as complex as those some of my peers
were involved in. And yes, these were successful projects.

> I think the Net has made the development of complex software much faster,
> because there are so many sourcecode snippets and open-source projects and
> messageboards out there to look at. Before the Net, it was a hell of a lot
> harder to find useful "lore" about how to solve various difficult software
> problems.

This is mostly true although the underpinnings were there for at
least the last two decades. The usenet groups for various
languages and environments had wide use for finding expertise
and snippets of code. The GNU project started in the mid 80s.
Many university labs were sources for code. But the full
revolution was greatly aided by the WWW.

>
> I don't enjoy using Visual Basic or Visual C++, but these tools have clearly
> made it much easier for *average people* to produce software that *average
> people* can use. This is not the kind of progress that excites scientists,
> but it is an important kind of progress, and it's been accelerating fast.
>

Average people should not be writing software at that low a
level imho. They should use tools build by very non-average
tool builders to express what they wish the computers to do.
These non-average people should never ever be restricted to
*average* languages.

I would give a lot to have back all the fruitful years eaten by
such *average* *popular* languages as C++, Fortran, and Java.

> Creating a distributed application, as Ben H points out, is WAY easier now
> than in the 80's or early 90's. There's no comparison. Java and .net make
> it easiest, but even in vanilla C++ there are so many handy libraries for
> such things out there... this sort of thing didn't exist back in the day....
>

It is easier to create a working distributed application within
some quite restricted parameters. But it will not be
particularly efficient and certainly not very flexible. C++
libraries not very clean or standardized (STL to one side) or
easily browseable. All of this and more was part of languages
like Smalltalk and many Lisp environments. Which I am sure you
know.

> Software technology has not progressed in quite the way I would have liked
> it to. I'd like to see specialized chips for graph rewriting to enable
> efficient Etc. Etc. However, there is no question in my mind that software
> technology has progressed very rapidly in directions that society has found
> useful....
>

Not really. The moaning about the tremendous software backlog,
the high cost of software production, the low level of
dependability, the general expectation of major cost overruns,
the inflexibility of results and so on started over 2 decades
ago and has in no way abated to this day. If anything it has
increased in volume. Even *average* users do not want bloatware
that forces them to more and more expensive dumb boxen to do the
few things they really want to do with a computer or became
convinced computers would make easier. Ask your *average*
business or home computer user how satisfied they are with the
systems of today. Ask the sys admin. Ask the people writing
the code. Especially ask the support people.

> Saying software tech hasn't progressed because it hasn't progressed in *your
> directions of choice* is like saying hardware tech hasn't progressed because
> it hasn't moved substantially toward massively parallel computing...
>

Not at all and I am surprised at such an empty dismissal from you.

- samantha



This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:40 MDT