[Fwd: Re: One step at a time]

Kyle Lahnakoski kyle@arcavia.com
Sat, 24 Jun 2000 17:46:26 -0400

Here is a message I received from Jason Marshall

-------- Original Message --------
Subject: Re: One step at a time
Date: Sat, 24 Jun 2000 11:49:46 -0700 (PDT)
From: Jason Marshall <jason@george.localnet>
Reply-To: jmarsh@serv.net
To: kyle@arcavia.com

> > If you want to actually engage in "complete
> > rethinking", I would suggest that you do so.  That
> > means starting with as clean a set of assumptions
> > as possible.  That applies to programs (as human
> > productions), to objects, and to source forms.
> I am an incremental fellow.  I believe a complete rethink is not needed;
> any starting system can be evolved into Tunes, and like a caterpillar,
> can shed its origins eventually.  I will admit that evolution is usually
> slower than revolution, but at least there is a working system at all
> stages.  Anyway, a Tunes revolution will never be realized, starting
> from scratch will have as many code rewrites as an evolved system just
> because Tunes has no formal specification.

If you look at what languages have enjoyed the strongest userbases over
the last twenty years, I think you'll find that the average programmer
can, in fact, only handle evolutionary changes to their environment.
"Saving the world" only works if you can actually get "the world" to
use your language.  I have a personal theory that it is not at all a
coincidence that C looks a lot like assembly, C++ looks a lot like C, 
and Java looks a lot like C++.  (VB comes from childhood exposure to
BASIC, but it's not polite to talk about that).  People seem to need
to fit part of the new system onto their mental map of the old system. 

If this is true, then for functional programming to go mainstream, 
someone first has to develop an OOL that borrows significantly from
functional programming and C++ or Java.  

> > I would also suggest that you not belittle other
> > systems, but have a clear understanding of what is
> > right and what is not so right within them.  Then
> > you can profitably engage in a culling process for
> > the "right" and a corrective one for the "not so
> > right".  Every one of them is a serious attempt by
> > their author(s) and advocate(s) to do at least in
> > part what we are attempting.  In that manner we can
> > continue as part of a "common cause".
> This last paragraph is what prompted me to reply.  I find the language
> reviews to not be helpful at all.  They do not specifically show the
> good and bad points of each language.  Such a discussion would go into
> the semantics and syntax of the language and compare to others. 
> I would like to rewrite the language reviews.  I would need everyone's
> help here because I do not know most of these languages.  For example,
> Haskell is one I am learning now, and the type system is quite a complex
> unfamiliar beast.  But I wonder about how powerful static typing is, and
> I doubt it would handle well in a system with dynamic types.

I think I could manage a pretty thorough critique of Java. 

Jason Marshall
> ----------------------------------------------------------------------
> Kyle Lahnakoski                                  Arcavia Software Ltd.
> (416) 892-7784                                 http://www.arcavia.com