Comments on: The myth of LISP superiority http://www.twopotscreamer.com/lisp-superiority-myth/ Thu, 14 Feb 2013 21:38:18 +0000 hourly 1 https://wordpress.org/?v=4.4.10 By: Duncan Bayne http://www.twopotscreamer.com/lisp-superiority-myth/#comment-138552 Thu, 14 Feb 2013 21:38:18 +0000 http://www.twopotscreamer.com/?p=846#comment-138552 The languages you cite as having thrived in place of Lisp worked, that is true. However, you’re dropping context: for the most part they worked on hardware that was not capable of running Lisp in a reasonable fashion.

My own programming evolution was Locomotive BASIC -> Z80 -> Pascal -> C -> C# -> Ruby / Coffeescript -> Lisp. Only towards the end of that evolution have I been using machines capable of running practical Lisp implementations; the machine I learned to program on had 42kB free RAM!

Also, note that as the hardware has progressed, more and more features that were once solely the domain of Lisp have been assimilated into ‘mainstream’ languages.

I’d argue that it was the triumph of microcomputers that killed Lisp as a mainstream language; when you’re dealing with an 8 bit CPU and many orders of magnitude less memory and storage than a cheap candybar phone, you’re not going to be able to run Emacs and Common Lisp ;)

]]>
By: Bob http://www.twopotscreamer.com/lisp-superiority-myth/#comment-89573 Wed, 07 Mar 2012 15:38:49 +0000 http://www.twopotscreamer.com/?p=846#comment-89573 Another one who doesn’t understand Lisp. Perhaps this is why Lisp never became popular.

]]>
By: Gurpreet Saini http://www.twopotscreamer.com/lisp-superiority-myth/#comment-88811 Wed, 29 Feb 2012 07:53:48 +0000 http://www.twopotscreamer.com/?p=846#comment-88811 Dead in terms of popularity. Most certainly yes. But for some reason, a reason worth discovering IMHO, lisps have a cult like following for a subset of hackers doing *ahem* real work (go to franz’s website if you don’t believe me). So its a handful of people deeply empowered by this reprogrammable programming language which, like many other languages like Tcl, Rebol, Oz, keep producing anecdotes of programmers gaining independence from the rat race (my hope) and really contributing to the industry – Rich Hickey being the most prominent recent example. The question you have to ask yourself is that are you afraid of finding out the truth behind the the passion that this language invokes. Because as far as I am concerned the passion behind blub programming languages like C++,C#, and Java is mostly professionally programmers wanting to stay relevant. Understandable, but ultimately self defeating.

]]>
By: srean http://www.twopotscreamer.com/lisp-superiority-myth/#comment-31761 Fri, 03 Sep 2010 04:06:15 +0000 http://www.twopotscreamer.com/?p=846#comment-31761 The article reminded me of Dylan. Not the language but the singer.

You walk into the room, with your pencil in your hand,
…..
Because something is happening here
But you don’t know what it is
Do you, Mister Jones ?”

Move on folks, nothing to see here. To the author, well, everybody uses powerpoint that doesnt mean its any good.

]]>
By: Mario http://www.twopotscreamer.com/lisp-superiority-myth/#comment-21052 Mon, 14 Sep 2009 20:54:54 +0000 http://www.twopotscreamer.com/?p=846#comment-21052 Your document is pointless, you criticize lisp but lisp is not a programming language but a set of programming languaje.
Please read and know well some thing before criticize it. Criticize some thing than you even confuse it name is silly.
I can’t comment more because i do not know what dialect of lisp are you talking about please specify.

]]>
By: Michel Bagnol http://www.twopotscreamer.com/lisp-superiority-myth/#comment-18368 Wed, 24 Jun 2009 13:40:06 +0000 http://www.twopotscreamer.com/?p=846#comment-18368 Note: In this post, I use LISP as a shorthand to “Common Lisp”

=== Introduction ===
I’m a software architect for real-time assembly machines, I’ve been through many many languages in my career, and for my company I choose languages by popularity : because I can find some developers on the job market.

=== Chapter 1: Me and LISP ===
Yes, I choose the main stream languages for my company, but NO I do not like them more than LISP. In fact I personally prefer LISP over any other languages I’ve ever used professionally, and here is why, in a single word: Homoiconicity
http://en.wikipedia.org/wiki/Homoiconicity

So where do I use LISP? not at work as I said, but for research projects on evolutionary algorithms. Homoiconicity is way more powerful that .NET’s Reflection for instance, because it allows both self-examination and self-modification and is so natural in LISP syntax.

Also LISP, by it’s syntax, allows you to extend the language in respect to the core language syntax. This allows you to extend the language in a natural manner. (please look at my programming challenge in this post).

Do I earn money with LISP : no.
Do I think LISP is the way programming languages should have evolve : yes.
Do I think LISP is like quantum mechanics : yes, because some geniuses have found a revolutionary approach but it took them 4 decades to have the rest of the world understanding it’s core power.
Do I give an advantage to joob seekers who like LISP: yes, because they’re way smarter in their resulting Java or C# architecture.

=== Chapter 2: Programming Challenge ===
I believe that language extension is very important, and that the resulting extension should respect the language syntax.

So, here is my challenge: Extend a mainstream language (Java, C++, C# or PHP) to have an IF working with 3 states (useful in signal processing): TRUE, UNKNOWN, FALSE
But you must respect the core language syntax so that programmer don’t get confused. So with these mainstream language the 3 state IF call should look something like:
if3 (my-3-state-variable) {
//my code executed the TRUE

} unknown {
//my code executed the UNKNOWN

} else {
//my code executed the FALSE

}

=== Chapter 3: Challenge solution in LISP ===
Here is a standard IF call in LISP:
(if my-boolean-variable
‘(print ‘true)
‘(print ‘false))

Here is the 3 states IF definition in LISP (the solution):
(defmacro if3 (test t-case nil-case ?-case)
‘(case ,test
((nil) ,nil-case)
(? ,?-case)
(t ,t-case)))

here is the new IF3 call:
(if3 my-3-state-variable
‘(print ‘true)
‘(print ‘unknown)
‘(print ‘false))
You can see that it looks like the standard IF syntax, the language has been extended in respect to the original syntax.

I’m waiting for the mainstream languages solutions for IF3… in respect to the standard IF syntax or their originating languages.

=== Chapter 4: More language extension ===
Now, please imagine yourself extending the C# language to add the LINQ feature, how would you have performed this in C# 2.0 ??? for lispers this is strait forward (“Practical Common Lisp” Chapter 3).

This is the reason of LISP’s longevity: user language extension.
The price for longevity: parenthesis, okay I’ll pay!

=== Conclusion ===
Please, do us a favour, read at least Paul Grahm’s “On Lisp” or Peter Seibel’s “Practical Common Lisp” before criticising the probably most elegant language syntax and core set of features (not libraries, just the naked language).

]]>
By: robocat http://www.twopotscreamer.com/lisp-superiority-myth/#comment-18091 Wed, 17 Jun 2009 11:08:16 +0000 http://www.twopotscreamer.com/?p=846#comment-18091 I think his *main* point is good (even if the rest is mis-informed):

“If LISP is so amazing, and if LISP has first mover advantage over anything the average programmer has ever heard of, why is it so resoundingly a bit player?”

That rings true to me.

]]>
By: okflo http://www.twopotscreamer.com/lisp-superiority-myth/#comment-17841 Tue, 09 Jun 2009 17:03:07 +0000 http://www.twopotscreamer.com/?p=846#comment-17841 Hmm, what do you mean with “LISP”? Common Lisp, or Scheme? Or Dylan? Perhaps Eurolisp? Not to forget Emacs Lisp, AutoCAD lisp and micro-lisp…. (just a hint) :)

]]>
By: Heywood http://www.twopotscreamer.com/lisp-superiority-myth/#comment-17824 Mon, 08 Jun 2009 14:48:51 +0000 http://www.twopotscreamer.com/?p=846#comment-17824 A great and accurate article. I’m amused by the comments; obviously, the LISP community is still based on ranting rather than coding. Well, have fun gentlemen. I’m off to earn some money.

]]>
By: 300baud http://www.twopotscreamer.com/lisp-superiority-myth/#comment-17773 Thu, 04 Jun 2009 19:53:10 +0000 http://www.twopotscreamer.com/?p=846#comment-17773 This could still be a good article if you kept the title and threw everything else away. I was disappointed. I would have liked to read some actual criticism.

]]>