|
![](/i/fill.gif) |
>>>> Or because it isn't backwards compatible with
>>>> the massive legacy codebases that already exist?
>>>
>>> Again, no. Remember that LISP predates COBOL and C++ and probably even
>>> C. All of that predates Java and Javascript.
>>
>> Remember also that Lisp never actually became popular...
>
> Exactly the point being made, but you seem to have missed that.
My point is, for whatever reason, C-like languages became mainstream.
Thus, these are the languages that everybody is used to, these are the
languages that legacy code is written in, these are the languages that
there are books about and courses for, these are the languages that have
extensive libraries and tool support, etc.
In short, if you design a language which is /not/ C-like, it's going to
be quite difficult for it to be popular. Regardless of how good the
actual language design it, all of the factors above work against you.
Now, it depends just /how/ different your new language is. I'm not
really sure why Lisp never took off; I'm going to go with "historical
accident". (Back when Lisp was around, computing power was extremely
scarce, and you couldn't possibly waste it by using a language that is
even slightly inefficient. That probably put a lot of people off.) The
various OO languages have done quite well, presumably because once you
understand imperative and structured programming, OO is reasonably easy
to assimilate.
Of course, there are factors other than language design in play. Java is
a very mainstream language. Eiffel is an OO language like Java, but with
a vastly superior design. In my limited experience, nobody has even
/heard/ of Eiffel. Maybe it's because there isn't a huge multi-billion
dollar corporation behind it. Maybe it's because there are really only
two extant Eiffel compilers, one of which is commercial and extremely
expensive. I don't know. What I /do/ know is that if you want a C
compiler, you can find one for almost every platform on Earth which
could be described as a "personal computer", and many others besides.
How many of these platforms have Java compilers? Quite a few. How many
have Eiffel compilers? Uh... not many.
(How many have a Haskell compiler? Well, let's see... MS Windows, Apple
Mac OS X and later, hypothetically anything that runs Linux... but only
hypothetically...)
Of course, in the case of Haskell, if you already know how to write C,
the learning curve is pretty vertical, and there is minimal written
material to help you on your journey. (And what exists is mostly out of
date now.) I guess it's a bit like Linux 10 years ago. Only the hardcore
need apply. Only time will tell if that ever changes...
I still do not agree that a language must be badly designed to be
popular. Rather, it seems to me that all the languages that turned out
to be popular are so for reasons other than just language design.
Post a reply to this message
|
![](/i/fill.gif) |