In article <firstname.lastname@example.org>, email@example.com (Mark A
> Why are so many of the popular languages created not by language
> theorists but by people trying to accomplish some other task?
> (I think JO raised this last point in his MIT lecture.)
I'll take a shot at this one.
Most 'popular' languages started life as highly specialized (i.e., 'limited
scope') languages that had access to some peculiar library -- e.g., graphics,
type-setting, wimp, linear algebra (matlab), symbolic algebra (macsyma, etc.).
People then found out that any language with sufficient power (i.e., not
brain dead) was Turing complete, and the converts to these new languages
then discovered that they would do _more_ than 'just' graphics, type-setting,
etc., etc. Of course, many of these converts had been exposed to only one
language, and this language was so much better than that silly Fortran,
Pascal, (insert your favorite dog to kick here) language that had been forced
upon them in engineering/math/physics/.... school, that they touted it as the
next best thing to sliced bread.
The truth is that there isn't more than an ounce of spit in the differences
among most of these languages _with the exception of the specialized libraries
that they are hooked up to_, so most of this variation is non-productive.
There are major exceptions to this assessment, to be sure. The appearance
of soft/dynamic typing, garbage collection, EVAL, sophisticated data structures,
dynamically compiled/linked code, etc., etc., quickly separate the sheep
from the goats.
So the language theorists focus on the _library-independent_ issues such
as typing, data structuring, control structuring, etc., instead of on
building large numbers of specialized libraries. The ability of a language
to continue growing out of its original niche depends critically on this
more balanced view, but this view is seldom to be found in the initial
enthusiasm of creating the first Turing-capable interpreter for one's new
The few languages that do manage to leave the premordial slime and move
onto dry land (Lisp, Prolog, Smalltalk, ML, etc.) are laughed at by those
still in the slime for sloughing off their specialized libraries, even
though by doing so, they can now do all of the specialized things from
not only their original area of expertise, but also many other areas, as well.