DISQUS

Phil Dawes' Stuff: All roads lead to lisp?

  • Tom · 3 years ago
    Cool, I realised that Lisp was an end point recentlt too.

    Note IANAL(Y) (I am Not A Lisper{yet)) but, download "On Lisp" (http://www.paulgraham.com/onlisp.html) to find out why Lisp is so very cool and then get hold of "Practical Common Lisp" (http://www.amazon.co.uk/gp/product/1590592395) to help actually learn it.

    Then we can compare notes like the happy geeks (or geek wannabe in my case).
  • Phil Dawes · 3 years ago
    Hi Tom!
    'Practical Common Lisp' arrived today from amazon - although have already read a few chapters from the online version.
  • Neil · 3 years ago
    A problem with LISP ((aside(from)()()))all (the()()(damned))))brackets))) is that the established LISP "gurus" have got so tired telling everybody that there has been nothing new in Computer Science since 1954, that they have become bitter, twisted and vindictive:

    http://groups.google.com/group/comp.lang.lisp/b...

    (http://tinyurl.com/jjyph)
  • Phil Dawes · 3 years ago
    Agreed, but you've got to wonder if they've got a point.

    (IIRC Erik Naggum took the prize for the most bitter/twisted/vindictive lisp weenie)
  • Eric Shafto · 3 years ago
    Yes, in fact they do have a point. I worked in Lisp for many years and have been as bitter/twisted/vindictive as the best of them. "Java? Don't tell me about Java, you Starbucks-swilling, Gap-clad sheep. We had everything Java's got since CLOS came out, and you still don't have a MOP," I'd yell at strangers in the park. And that was before I'd had a few drinks.

    But I've been dabbling in Ruby lately, and I must say I like it very much. My most succintsummary would be, "a modern Scheme with a more thoroughly-integrated object system and --" (I choke here briefly before continuing on) "--a better syntax."

    Believe me, that last phrase cost me a lot to say. I don't know yet what it's like to break new conceptual ground in Ruby. A great strength in Lisp is the ability to write a new language as you need it. I don't yet know whether Ruby measures up in that regard.

    It could be that so much of the environment you need is already done in Java that you will not exceed your current productivity by switching to Lisp or Ruby. However, I just ported a small project to Ruby from Scheme just to get my feet wet (a small hierarchical knowledge base with single inheritance -- a classic Lisp app), and now I'm all, "D00d, werez my c0de?" because it's just so much smaller. Half the stuff I wrote was to provide the syntactic sugar you allude to.

    Here's a project for you. Read "The art of the Meta-Object Protocol", and see if (1) you think you need that sort of capability, (2) you can get it from Java, and (3) you can get it from Ruby. It's worth reading, in any event, if you care about computing or you're curious about the power of Lisp.

    As for macros, I just discovered (I think) that Ruby has the concept of unquoting in a string (something I'd kill for in Bash). If it does, then I won't feel like I'm cheating on Lisp. I'll feel like Lisp put on some fancy clothes and I'm taking it to a dance.
  • James · 3 years ago
    After Python and Ruby, the maddening thing about Lisp is that the standard libraries are so spartan. No sockets, no regular expressions, no internet protocols, etc.
  • William · 3 years ago
    Ever thought about learning, Smalltalk ;)