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

From: Samantha Atkins (
Date: Wed Sep 04 2002 - 20:04:39 MDT

Sam Kennedy wrote:
> I think I'm going to have to chime in here...

> That's a subjective opinion. C# is perfectly good for anything anyone
> would want to do. So is Java, or Eiffel, and so on.

Why does this remind me of statements from yesteryear like that
the country only needed 4 computers? :-)

Seriously, as a professional software architect and system
builder for 22 years I can tell you that you are utterly
mistaken. I quite commonly have to build a lot of scaffolding
in such languages in order to produce a clean, efficient and
maintainable implementation. I use all available features of
every language I have encountered and quite quickly run into
limitations that all but a few make it unnecessarily difficult
to get around.

>>> Time. Modern languages have higher productivity for three main
>>> reasons: more precise/useful language constructs, managed
>>> environments, and better designed libraries. Both of these languages,
>>> C# and Java, are also hardware agnostic in that they both compile into
>>> platform independent "bytecode". There are now versions of Cobol,
>>> C++, Eiffel, and Visual Basic that also compile down to platform
>>> independent "bytecode".
>> Can we write useful, provably correct systems? No.
> Why not? Take a look at or any similar project. Real
> things are getting done in a distributed way, more so than ten years ago.

They are getting done in very fragile and clumsy ways. COM,
CORBA, RMI, DCOM and so on are all pretty gross when it comes to
distributed programming. A large part of the grossness is a
direct result of weakness of the underlying expected language
environments and, more importantly, of weak language
preconceptions about what is possible and desirable.

>> Can we write secure systems? No. Okay, can we at least write
>> gracefully failing systems? No.
>> Can we generate code to specs automatically? No. Can we design massively
>> parallel systems, where millions of asynchronous objects distributed over
>> thousands of small processors do meaningful work? No. Do we have any clue
>> as to how break through the complexity bareer, using nonstochastical
>> methods (coder monkeys)? No and no.
> Progress is being made. From the way you're talking, it seems that you
> just aren't up to date. Check out such things as the MOSIX project (I
> use this at home). Also, check out Microsoft .NET, and C#. Those are
> significant progress.

No, there isn't. Perusing comp sci research projects would give
a far better idea of what is missing and what can be done about
some of it. The commercial systems including Microsoft .NET are
far behind in addressing these issues.

>> There's no need to go on. We haven't had any palpable progress in the
>> last
>> decade, arguably two. In fact, the average code quality is decreasing,
>> though to different reasons.
> Do you have anything but your pessamistic curmudgeony old views to back
> that up? Ten years ago, there were no standards for applications running
> on PCs (I'm talking about MS-DOS). Now, it's possible to create reliable

False. There were several environments/language 10 years ago
that ran on multiple environments including PCs. In particular
most of the interpreted languages of the period and Lisp come to
mind. I personally created a distributed, persistent
programming environment on top of Unix and OS/2 based around
extensions to Objective C over 15 years ago. Yeah, it didn't
become a standard (done inside a properietary company) but I
certainly was not the only one that thought of the issues. RPC
was well known before the last decade. Data encoding for use by
disparate systems did not only exist after XMl was invented.

> programs that will run on any set of platforms, and interoperate, share
> data, and so on in ways that hadn't been dreamed of ten years ago, or
> possibly even five. Code reuse is lightyears ahead of ten years ago.
> With .NET's CTS, whatever you write in one language can be used in any
> other with no problems.

You really should read about systems and languages older than 5
or 10 years before you embarass yourself like this.

- samantha

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