|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 29/08/2012 04:23 PM, Darren New wrote:
> On 8/28/2012 1:34, Invisible wrote:
>> What I take issue with is the claim that for a language to be useful for
>> anything it MUST be complex and badly designed.
>
> Nobody is claiming that.
...and yet, 200-post newsgroup thread... :-P
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 29/08/2012 04:21 PM, Darren New wrote:
> On 8/28/2012 1:29, Invisible wrote:
>> Is it because it requires people to actually learn new ideas and
>> concepts?
>
> Nope! Remember, everyone has to learn new ideas and concepts for their
> first language.
Sure. But the vast majority of programmers already know how to write
imperative code. Learning a fundamentally new way of structuring stuff
is no small feat.
>> 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...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 29.08.2012 17:21, schrieb Darren New:
> Again, no. Remember that LISP predates COBOL and C++ and probably even
> C. All of that predates Java and Javascript.
With COBOL predating C by a dozen years or so, yes - if LISP predates
COBOL it /obviously/ predates C as well ;-)
(According to Wikipedia, LISP indeed predates COBOL by one year.)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 8/29/2012 8:30, Orchid Win7 v1 wrote:
> On 29/08/2012 04:21 PM, Darren New wrote:
>> On 8/28/2012 1:29, Invisible wrote:
>>> Is it because it requires people to actually learn new ideas and
>>> concepts?
>>
>> Nope! Remember, everyone has to learn new ideas and concepts for their
>> first language.
>
> Sure. But the vast majority of programmers already know how to write
> imperative code. Learning a fundamentally new way of structuring stuff is no
> small feat.
True, but irrelevant to the point being made.
>>> 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.
--
Darren New, San Diego CA, USA (PST)
"Oh no! We're out of code juice!"
"Don't panic. There's beans and filters
in the cabinet."
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 8/29/2012 8:34, clipka wrote:
> Am 29.08.2012 17:21, schrieb Darren New:
>
>> Again, no. Remember that LISP predates COBOL and C++ and probably even
>> C. All of that predates Java and Javascript.
>
> With COBOL predating C by a dozen years or so, yes - if LISP predates COBOL
> it /obviously/ predates C as well ;-)
>
> (According to Wikipedia, LISP indeed predates COBOL by one year.)
Right. Which means LISP, as elegant as it is, did not fail due to a lack of
backward compatibility, which is the point I'm making.
--
Darren New, San Diego CA, USA (PST)
"Oh no! We're out of code juice!"
"Don't panic. There's beans and filters
in the cabinet."
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>>>> 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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 9/1/2012 0:51, Orchid Win7 v1 wrote:
> My point is, for whatever reason, C-like languages became mainstream.
Right. And you should be asking yourself, given that the competition was C,
COBOL, Fortran, Assembler, and Lisp, why it is that Lisp is the only
language that never really persisted.
> 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.
Unless it's so orthogonal in capabilities to what C offers, yes.
> 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".
There are other arguments. For example, LISP is so powerful that nobody ever
really needed to build up a standard library like you see in Java and C#,
and therefore everybody wound up reinventing events, OOP, complex data
structures, etc etc etc. Kind of like the same reason nobody programs to
raw X-Windows, even though it's much more flexible than using widget sets.
> imperative and structured programming, OO is reasonably easy to assimilate.
I'd say more because it's an excellent fit for some kinds of very popular
problems, while putting little in the way of those who need a different
paradigm.
> 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.
The lack of libraries is a killer too. You can no longer create a language
that expects to be in its own little world without even a GUI language and
expect it to fly.
> 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.
Exactly. Yet if you create a brand new language that's not tremendously
*more* productive in your chosen niche(*), then you've tossed away all the
libraries, including conceptual library designs(+), that everyone else has
already proven works.
(*) See, for example, Erlang, which succeeded because it's tremendously more
productive in its niche (high-reliability computing) than its competitors.
Or SQL.
(+) Conceptual library designs like threads, networking, data structures,
GUI design, etc. You have to reimplement them for every language, but if you
see a Thread class with a run() method and a wait() method and a notify()
method, you pretty much don't have to read the documentation to know how to
use threads.
--
Darren New, San Diego CA, USA (PST)
"Oh no! We're out of code juice!"
"Don't panic. There's beans and filters
in the cabinet."
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|