[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why tail recursion matters and why Java isn't it, was Re: lisp performance was Re: problems with lisp



On 2003.09.04 17:03 Michael Vanier wrote:
> 
>  Too many choices in programming language design are mutually
> exclusive (in practice, if not always in theory) for me to believe in the
> One True Uberlanguage.  But 700 is surely too many.  I'd guess that the
> number should be more like 100, and should be proportional to the number of
> existing programming paradigms with a fairly small multiplicative constant.
>
I think this is almost right, except that programming has other paradigms 
to it, orthogonal to the programming paradigm.  Representational paradigm, 
for example.  One such paradigm is to represent a program as a string of 
words and symbols; spatial arrangements of shapes, lines and arrows 
another.  Is UML a programming language?  Whether or not it is, it's not
much of a stretch to imagine full-fledged languages for each of the 
programming paradigms using graphical representation.

Another dimension is the computing paradigm.  Is it a von Neumann machine?
A dataflow machine?  A quantum computer?  A DNA-based computer?  I'm not
sure what an OO language for a beaker of organic chemicals should look
like, but probably not like Smalltalk or Java.

Syntactical style is another.  I suspect your "small multiplicative
constant" derives from this dimension.  Words or symbols?  Infix or
prefix?  s-expressions or special forms?

One final dimension to consider: synthetic vs. pure.  There are purists
of each paradigm, and then there are pragmatists who are willing to bend
the rules in order to incorporate ideas borrowed from other paradigms.  
Surely each camp deserves its own language.

Michael

-----------------------------
Michael St. Hippolyte
http://www.bentodev.org