Live data from Hacker News

How Lisp is Going to Save the World

landoflisp.com

101–110 of 239 posts

Re: How Lisp is Going to Save the World

#101
post #52

Earlier quoted context omitted.

> No competitive free implementation existed able to take a leading position and bootstrap the ecosystem, like gcc, cpython, perl and javac did for their respective language ecosystems. it was never a goal in the Lisp community to develop a single unified or leading implementation. This has nothing to do with 'free software' or not.

"it was never a goal in the Lisp community to develop a single unified or leading implementation" ...and that's one reason it hasn't ever achieved critical mass: it's so easy to write software that only works on one implementation that the various CLs effectively compete with each other on the same level that each is competing with other rapid development languages. It wasn't CL vs Python vs PHP, but instead CMUCL vs…

I've struggled with various Scheme programs not working in different implementations (mostly code from books like Lisp in Small Pieces) and have heard plenty about the fragmented Scheme landscape, but is this really such a big problem with Common Lisp? And is/was that really a big reason why Lisp has failed to catch on? (being genuine here, I have no idea really about the history and have only use CL a bit)

It seems to me that there are plenty of more popular languages with a similar glut of implementations: there are multiple JVM vendors, multiple implementations of Java (Sun/Oracle and now Dalvik, ...), many C and C++ compilers, etc...

This is total speculation, but it is perhaps because things like threads and networking were not part of the Common Lisp standard that there are fragmentation issues that impeded adoption? Or do you still think that canonical implementation vs language standard is that much better, in almost all cases?

Re: How Lisp is Going to Save the World

#102
post #41

Great intro. Any comments on "Land of Lisp" as a book for a "want to learn Lisp" journey?

Land of Lisp was how I first got into Lisp - I was hooked already before finishing even a third of it.

For production code, I ended up abandoning Common Lisp for the most part in favor of Racket, simply because of its library support and compatible, scoped dialects, but the principles are the same in either case. I'd actually recommend starting with something less 'batteries included' if you have the patience, because it makes it easier to see the fundamental beauty of the language, without getting distracted by something as "irrelevant" as library support.

Some people say that Land of Lisp makes it hard to develop 'useful' applications afterwards, but for that, I think Practical Common Lisp is a good secondary resource, and it's easy to skim once you've completed Land of Lisp. Land of Lisp is much better as "Lisp Propaganda" - ie, for someone who's interested in giving it a shot, it does a good job of selling the Lisp paradigm as a whole philosophy, even if it doesn't have space to cover all of its practical uses[0].

[0] I won't sell it short, though - it does a good job for that too... several of the games it implements are non-trivial.

Re: How Lisp is Going to Save the World

#103
post #5

I am a intermediate programmer with just over one year experience. Everywhere I read about the power of lisp and really want to use it. If it is so good why ain't it is used more? It is very easy to get sites running using ASP .NET, wordpress, RoR or Django. I have worked on production sites using the first two. And personally tried on small projects on the last two. Is there a way to use Lisp professionally?

> If it is so good why ain't it is used more?

Speaking just for myself, it's because most commonly available distributions (such as SLIME) require you to learn a new editor on top of learning a new language.

I think emacs is great, but it's not my editor of choice, and when a language distribution all but requires you to use emacs, it's going to have a hard time gaining traction with me.

This may have changed over the past few years, but it certainly stopped me from learning Lisp some 10 odd years ago.

Re: How Lisp is Going to Save the World

#104
post #78

Am I the only one having a hard time reading lisp? Non-functional programs read like plain English. Particularly Python but I just can't get my head around the functional ones.

> Non-functional programs read like plain English.

It depends partly on what you're used to. You're used to programs specifying instructions (since that's what we think of as an algorithm), so yes, Lisp won't look like "plain English" instructions.

However, functional programs don't define instructions - just relationships. For the most part, they wash their hands off of specifying the details of the execution, in favor of looking only at the high-level, mathematical relationships.

In that sense, Lisp programs like

(define x (map (lambda (x) (* 2 x)) (sort '(2 3 2 1 4))))

is defining a relationship between x and the list '(2 3 2 1 4), the same way that

x = 2y + 3

is defining a relationship between x and y. The latter doesn't tell you how to get the value of x (for a given y value), but defining that relationship is sufficient to understand the concepts.

So, you could say that non-functional programs read like plain English instructions of actions, whereas functional programs read like plain English mathematical relationships.

Re: How Lisp is Going to Save the World

#105

Earlier quoted context omitted.

> If it is so good why ain't it is used more? * Weird syntax (for most people). * No free implementations existed during a key period (80s, 90s) so no initial traction, no useful libraries and killer apps which would pull the whole ecosystem. Implementations didnt even exist for commodity hardware. * The commercial implementations cost too much, so they suffocated the ecosystem. People preferred coding for free in C…

> * No free implementations existed during a key period (80s, 90s) so no initial traction, no useful libraries and killer apps which would pull the whole ecosystem. Implementations didnt even exist for commodity hardware. Emacs LISP (OK, a limited dialect) was available and so was CMUCL (full implementation), which I believe was used for teaching in 1992 when I first got in contact with LISP at our uni ... Also, back…

> faster compiled languages

Lisp is a compiled language.

For that matter, it's a damn fast one, too. The Lisp implementation of PCREs are actually faster than Perl's, by some benchmarks.

I don't want to start a tangent about benchmarks and their relevance, but it's clear that Lisp performance isn't a limiting factor.

Re: How Lisp is Going to Save the World

#106

With the deepest reverence to John McCarthy, I regret to say that Lisp is our cosmological constant. It creates a static universe that is otherwise expanding; it reduces the problem to a solvable one and then declares victory. The truth is, it's all state. All of it. Remember that movie "Boy in the Plastic Bubble," about a boy with an immune system deficiency who lives instead a hermetically-sealed, sterile bubble? T…

"The truth is, it's all state. All of it." The problem is not state. The problem is being able to recreate the state: both for testing and for business purposes. The bigger problem is that most programmers, like you, are knee-jerking before the issue of "recreating the state" and declaring that "It cannot be done, because it's all state" . And hence we have both languages who are build by considering mutability to be…

Try googling around for "cqrs". There are many ideas on how to do exactly this effectively.

All it takes is to swap "write" operation with "event" entity (all is state). Combine that with intention revealing commands (customer_died instead of delete from customers where id=1) and you hit jackpot.

End result is nice stream of events which is ultimate source of truth and enables crazy queries you never thought you would ever need http://abdullin.com/journal/2010/6/3/time-machines-should-su...

Re: How Lisp is Going to Save the World

#107
post #63

Earlier quoted context omitted.

For many things you won't even know that it is written in some kind of Lisp. * the first Gulf War in Iraq was won because a Lisp application took care that US soldiers had everything from toilet paper, ammunition to gasoline. Plus it took care that the troops were at the right place. * the missions of various Telescopes, especially the Hubble Space Telescope are planned with a Lisp-based planner * American Express ha…

> the first Gulf War in Iraq was won because a Lisp application took care that US soldiers had everything from toilet paper, ammunition to gasoline. Really? Because IIRC it was won because it was fought by superpower against a small country with 1/1000 the military resources. I'm not talking politics in this comment. What I mean to say is it's another thing to say "Lisp was used in that system" and totally another to…

Basically they had to wait for the Iraq invasion until the Lisp software was ready.

> Because IIRC it was won because it was fought by superpower against a small country with 1/1000 the military resources.

The Lisp software moved the 1000* military resources to Iraq.

Re: How Lisp is Going to Save the World

#108
post #5

I am a intermediate programmer with just over one year experience. Everywhere I read about the power of lisp and really want to use it. If it is so good why ain't it is used more? It is very easy to get sites running using ASP .NET, wordpress, RoR or Django. I have worked on production sites using the first two. And personally tried on small projects on the last two. Is there a way to use Lisp professionally?

> If it is so good why ain't it is used more? Speaking just for myself, it's because most commonly available distributions (such as SLIME) require you to learn a new editor on top of learning a new language. I think emacs is great, but it's not my editor of choice, and when a language distribution all but requires you to use emacs, it's going to have a hard time gaining traction with me. This may have changed over th…

There is slime for VI. And Paul Graham and team used VI and clisp to build the store software--no IDE.

If you read Coders At Work http://codersatwork.com/ the grown-ups don't use IDEs.

Re: How Lisp is Going to Save the World

#110
post #107

Earlier quoted context omitted.

> the first Gulf War in Iraq was won because a Lisp application took care that US soldiers had everything from toilet paper, ammunition to gasoline. Really? Because IIRC it was won because it was fought by superpower against a small country with 1/1000 the military resources. I'm not talking politics in this comment. What I mean to say is it's another thing to say "Lisp was used in that system" and totally another to…

Basically they had to wait for the Iraq invasion until the Lisp software was ready. > Because IIRC it was won because it was fought by superpower against a small country with 1/1000 the military resources. The Lisp software moved the 1000* military resources to Iraq.

Software does not move tanks. It's one part of an overall system that moves tanks. You over-reached on that point; it happens.
Post reply on HN