Super-dee-duper D features

Andrei Alexandrescu (See Website For Email) SeeWebsiteForEmail at erdani.org
Mon Feb 12 11:31:38 PST 2007


Bill Baxter wrote:
> Andrei Alexandrescu (See Website For Email) wrote:
>> Bill Baxter wrote:
>>> Walter Bright wrote:
>>>> kris wrote:
>>>
>>>>>> 5) Lisp gets things right, according to what I've read from heavy 
>>>>>> Lisp users, by being a language that can be modified on the fly to 
>>>>>> suit the task at hand, in other words, by having a customizable 
>>>>>> language one can achieve dramatic productivity gains.
>>>>>
>>>>> Yet, Lisp will always remain a niche language. You have to wonder why.
>>>>
>>>> I'm pretty sure it's the syntax.
>>>
>>> And the recursion.
>>> People just don't naturally think recursively.
>>>
>>> And the lack of mutable data structures.
>>> OCaml tried to fix that, but OCaml's probably always going to be 
>>> niche as well (see first point).
>>
>> LISP does have mutation. 
> 
> Ok. My bad.
> 
>> Besides, many people naturally think recursively, 
> 
> The statement was about why LISP is never going to be wildly popular. 
> There may very well be "many" people who naturally think recursively, 
> but if they're not a majority then that's a hurdle to LISP becoming 
> popular.
> 
>> and many problems (e.g. parsing) can be easiest thought of that way.
> 
> Sure.  However, you can write recursive algorithms in most any 
> procedural language to handle those naturally recursive tasks when they 
> come up.   With Lisp or <my-favorite-functional-language> you're pretty 
> much /forced/ to look at everything recursively.  And I think that makes 
> joe coder nervous, thus presenting a major hurdle to any functional 
> language ever becoming truly popular.
> 
> My point is just that I don't think syntax is the *only* thing that's 
> prevented lisp from becoming wildly popular.  If that were the case then 
> the answer would be to simply create a different syntax for Lisp. 
> (Actually, according to someone's comment here 
> http://discuss.fogcreek.com/newyork/default.asp?cmd=show&ixPost=1998 
> it's been done and it's called Dylan, another not-wildly popular 
> language).  So I think the problem is more fundamental.

I think the bottom line is, languages succeed and fail for the most 
mysterious reasons; engaging in speculation is a certain time vortex. 
When it comes about LISP in particular, the most amazing thing to me is 
not why it didn't catch up in the industry, but why it's so amazingly 
fresh today after 46 years. Some concepts pioneered by LISP that people 
have laughed at are now increasingly considered "obviously good" (GC, 
lambdas, higher-order functions, closures, continuations), while others, 
I agree with Paul Graham, are starting to blip on the community-at-large 
radar only now after so many years. Those are the macros.


Andrei



More information about the Digitalmars-d mailing list