Hacker News new | past | comments | ask | show | jobs | submit login

Richard Stallman is not happy at all about the LLVM FOSS situation:

http://gcc.gnu.org/ml/gcc/2014-01/msg00247.html

> You say that as if it's good.

> It might be a fact, but it sure ain't good.

Is it bad that not everyone understands Hegel or Heidegger? Does that make their writings less useful?

> Is there a single good thing that can be argued to come from a language not being popular?

It's not a question of good or bad. It's a fact of life that some things are less popular than others, which says nothing about the usefulness of the tool.

> I meanbeside BS like "keeps the amateurs away?", which judging by the abundance of amateur Lisp code one sees, is not an actual advantage of Lisp...

It's just that not every programmer has the intellectual capability to understand, master and use Lisp. That's a fact. I've seen that myself countless times at university in beginner's courses. Also many programmers don't need the features Lisp offers and are happy with other approaches. For them Lisp is too complex, too flexible, etc.

Lots of people can learn some basic Lisp or simple Lisp dialects. But once they use actual features of Lisp, which allows every user to radically change the language, the things get tough... in the industry stuff like that is not liked. They want tools and developers which are more predictable.

I think you should get over this 'popularity' BS.




> Lots of people can learn some basic Lisp or simple Lisp dialects. But once they use actual features of Lisp, which allows every user to radically change the language, the things get tough... in the industry stuff like that is not liked. They want tools and developers which are more predictable.

This is such a silly and elitist argument that I've always wanted to dismiss it outright on those principles, but I think it can finally be dismissed on factual grounds now that Clojure is a thing and is actually popular in the industry. The argument that people just can't get Lisp was always an embarrassing position to stake out, but now it no longer holds any water too.

Everyone has their own opinion as to why Common Lisp is having popularity trouble. Mine is that the spec is twenty years old and has no reasonable process for moving forward. I think a number of people are of the opinion that the spec represents stone tablets handed down by God and is completely perfect, but I on the other hand find a number of useful elements missing that are difficult or impossible to implement universally with macros. IMO, Common Lisp's popularity problem flows from its lack of evolution.


> This is such a silly and elitist argument that I've always wanted to dismiss it outright on those principles,

Calling an argument silly and elitist does not help your case much.

> Clojure is a thing and is actually popular in the industry.

The number of Clojure developers and its percentage is tiny. Far from 'popular'. It's also in a different stage of the hype cycle.

> The argument that people just can't get Lisp was always an embarrassing position to stake out, but now it no longer holds any water too.

You need to actually read what I said. Basics of simple Lisps are relatively easy to learn, still many people fail at it. I've seen it in computer science University courses where only like 10% were able to write anything useful in Lisp, struggling with recursion, graphs, dynamic typing, ... Few ever got so far that I would let them program macros.


>Few ever got so far that I would let them program macros

If you start with the assumption that it's for "few people", and teach it like that, then few of your students will get it.

Yet, people have used Scheme and CL as a first language, and even Haskell, and students were able to pick them just fine.


>It's just that not every programmer has the intellectual capability to understand, master and use Lisp. That's a fact. I've seen that myself countless times at university in beginner's courses. Also many programmers don't need the features Lisp offers and are happy with other approaches. For them Lisp is too complex, too flexible, etc.

Besides elitist (which I wouldn't mind, if it was also true), this is quite false.

In fact I've seen more bragging and preaching than real world output that people care for from most Lisp advocates.

And even most of the things they are so proud of for building (with the exception of Emacs, which is also based on C), people have built in other languages and with more popular and full featured results.

>Lots of people can learn some basic Lisp or simple Lisp dialects. But once they use actual features of Lisp, which allows every user to radically change the language, the things get tough... in the industry stuff like that is not liked. They want tools and developers which are more predictable.

That's cowboy coder mentality stuff.

And in 2014, the ability to "radically change the language" is not that impressive. It merely boils down to: "Hey, my additions have the same syntax as native stuff and I can do meta-programming too". Sure, but first you have constrained yourself to a very specific syntax, so it's all a wash.


"Is it bad that not everyone understands Hegel or Heidegger? Does that make their writings less useful?"

Yes, actually. If they wrote clearly enough so more people could understand their point, their writings would be more useful. The point of writing something is generally to communicate with others, unless it's a personal journal or diary, meant to be kept private.

"It's just that not every programmer has the intellectual capability to understand, master and use Lisp. That's a fact. I've seen that myself countless times at university in beginner's courses."

Isn't it much more likely that the difficulties are more due to the fact they are beginners, than due to the language used in the course? Did you teach identical material using other languages, and found the students understood the material better? (Honestly curious.)

"But once they use actual features of Lisp, which allows every user to radically change the language, the things get tough... in the industry stuff like that is not liked."

Meta-programming in Ruby has the same challenges, but there is definitely a strong segment of commercial developers who whole-heartedly embrace those techniques. They didn't just give up and say "Oh well, guess we have to give up and go back to using Java", or adopt some complex about their language being too brilliant for other programmers to ever use. Instead, they put effort into persuading others the expressive power of Ruby is worth the tradeoff with predictability. They don't convince everyone, but they certainly managed to get a lot of developers on their side.

I think the Common Lisp community certainly could have accomplished the same thing. There's nothing about the language itself hindering broader adoption, or limiting it's use to academics or elite programmers. It's just the community that seems to want to keep it that way.


> Yes, actually. If they wrote clearly enough so more people could understand their point, their writings would be more useful. The point of writing something is generally to communicate with others, unless it's a personal journal or diary, meant to be kept private.

That's what Hegel and Heidegger did. They communicated with others. It's just that their thoughts are more complicated.

> Isn't it much more likely that the difficulties are more due to the fact they are beginners, than due to the language used in the course? Did you teach identical material using other languages, and found the students understood the material better? (Honestly curious.)

The experience is that 10% of a course were able to write some Lisp. 40% struggled with the tasks, but made it somehow. The rest more or less did not get more than the basics and were confused by things like 'code is data', recursion for iteration, ...

> Meta-programming in Ruby has the same challenges

Meta-programming in Ruby is very limited to what Lisp does enable. Matz designed Ruby for 'ordinary programmers' (his words). Ruby lacks the whole Code-is-Data idea and on the OOP side, it lacks many of the features of a MOP, ... But it was designed that way.

http://www.matthewdavidwilliams.com/2008/11/06/rubyconf-2008...

Matz thinks that there is a cliff and Lisp is beyond that cliff for 'ordinary' programmers. 'Smart people just underestimate ordinarily of ordinary people'.

http://rubyconf2008.confreaks.com/matzs-keynote.html

> Instead, they put effort into persuading others the expressive power of Ruby is worth the tradeoff with predictability

What Matz actually did, was scaling down the language to dynamic OOP + some functional elements.

> I think the Common Lisp community certainly could have accomplished the same thing.

The Lisp community could have scaled down the language. People have done it: Standard Lisp, Logo, Dylan, Eulisp, ISLisp, Scheme, Clojure, ... Some were more scaled down that others.

Common Lisp stayed like it ever was: a language with lots of flexibility and extensibility.

> There's nothing about the language itself hindering broader adoption, or limiting it's use to academics or elite programmers

I've seen research programmers struggling debugging macros which were writing macros. There are code bases where I myself struggle debugging stuff... Common Lisp is great, but it offers so many ways to shoot yourself into the foot....


>That's what Hegel and Heidegger did. They communicated with others. It's just that their thoughts are more complicated.

Well, here's a Hegelian thought for you: the demise of Lisp in the AI circles, and then in the industry means that wasn't not "real" enough (in the Hegelian sense), it was just a temporary transition phase till newer languages got GC, reflexion, macros, metaprogramming, etc.

Die Weltgeschichte ist das Weltgericht, as they say...


> It's just the community that seems to want to keep it that way.

To be fair, it's just that no one cares to proselytize.


Strange, because 90% of what comes out of LISPers is proselytizing (or touting their own horns, which serves the same purpose).


That's mostly because we get annoyed when we see old things being marketed as "new" and "hip" :) That's not proselytizing, that's snobbery.


Well, macros, closures and GC haven't been "new" or "limited to LISP" for like 40 years.

So, if LISP had them since 60 years and others got it 20+ years later than that, hardly matters by now.


It does matter when Lisp is not given due credit.


>Is it bad that not everyone understands Hegel or Heidegger? Does that make their writings less useful?

No, but programming languages are not like Hegel or Heidegger. They have network effects, and they need a good ecosystem.

It's more like a political/state philosopher (like Plato, Marx etc) or a reform theorist. If he could not get people on his platform he wouldn't have the influence he needed to influence policy, which would be bad for him.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: