top | item 8212860

International Lisp Conference 2014 Summary

75 points| pietrofmaggi | 11 years ago |cipht.net

19 comments

order
[+] sramsay|11 years ago|reply
"CL went through a spike of interest in the mid-2000s; where did those people go . . ."

I don't know about others, but I was part of that spike and I went . . . far away from Common Lisp.

Learning Lisp absolutely blew my mind. I felt like every page of Peter Siebel's Practical Common Lisp was some new kind of glorious revelation. I was going to write everything in Common Lisp.

I did write some fairly serious things in CL, but in the end, it came down to what felt like a broken, barely documented, half-assed ecosystem for doing most of the things that ordinary working programmers want to do.

I realize that sounds harsh and unfair (though I'm hardly the first person to put it in those terms), but the problem is relative. It's not a total disaster as such, but if you're used to the ecosystems of languages like Java, Python, Ruby, PHP, Javascript -- almost anything else (including, in recent years, Haskell) -- you'll probably find yourself frustrated with CL. I did, anyway.

So what did I do? I abandoned CL and took my knowledge over to languages like JavaScript (cum Underscore) and Clojure.

The OP ends that quote above by asking "What can we learn from that?" I don't know. I don't know how a group of brilliant programmers working in one of the most brilliant languages of all time end up turning enthusiastic newbs into people who feel frustrated and disappointed. But I'll say it: It for damn sure ain't the language or the skills of the people who work with it.

[+] chaoky|11 years ago|reply
Maybe give CL another try? Since the mid-2000's the ecosystem has definitely improved exponentially. (ala Quicklisp, Quickdocs, and related portable libraries) Threading has a de-facto implementation as well now.
[+] ced|11 years ago|reply
Also part of that group - Paul Graham's essays drove me to Lisp. I am very happy with what I've learned over ~5 years of near-exclusive CL usage. I agree - while CL-the-language is amazing, CL-the-ecosystem just doesn't have any momentum. It's spread too thin.

I think I'll be putting my chips on Julia from now on. It should be a near-ideal language for data science and AI research. I like that it's focused on one thing (numerical computations), so it should avoid the lack of focus that plagued most Lisps.

[+] mlitchard|11 years ago|reply
I was amazed by lisp, also encouraged by Paul Graham's work. When I came to questions of packaging for use by end-users, I didn't like what I saw. Explorations into my options led me to Haskell. Since then I've started asking more interesting questions and haven't looked back.
[+] tokenrove|11 years ago|reply
OP here. Thanks for taking the time to read my post.

I am quite bad about maintaining conversations on HN, so I would appreciate it if you would email me if you have any thoughts on those questions -- why did you leave CL, what could have been done to improve the community or ecosystem?

I am not promising to fix these things, but I would like to give it another try.

[+] eudox|11 years ago|reply
The reason I have stuck with Common Lisp, rather than bailed to Clojure or something else, is that the language is so fundamentally good -- Mature, robust, standarized, performant, compiled, gradually-typed -- that it is worth sticking with it, it is worth working to expand its ecosystem.

Regarding the ecosystem, Common Lisp has improved a lot over the recent years. We have Clack (Equiv. of Python's WSGI/Ruby's Rack), a bunch of web frameworks, an ORM, a small set of web-related tools built around those. It's certainly nowhere near the size of the ecosystems of Ruby and Python, but I think it's acceptable given the size of the community.

I do, however, think there has to be a movement like Fare's "Lisp library consolidation"[0] to, if not expand, improve the existing libraries: Build Github Project Pages, Sphinx documentation, a better-looking wiki. Just porting old READMEs to Markdown would be an improvement.

[0]: http://fare.livejournal.com/169346.html

[+] wukix|11 years ago|reply
the language is so fundamentally good -- Mature, robust, standarized, performant, compiled, gradually-typed -- that it is worth sticking with it, it is worth working to expand its ecosystem

This is why I created https://wukix.com/mocl. CL has a ton of merits. It's unfortunate that people pass over CL because it's "old" or whatever (a worthless criterion if there ever was one). The language is great, and with a little house cleaning, CL can seriously kick ass.

[+] sramsay|11 years ago|reply
I'm emboldened by comments like these, and I don't mean to be harsh or dismissive. Maybe time to give it another try. But I'd like some acknowledgement of the problems, which I think is what the OP was after.
[+] malvosenior|11 years ago|reply
I was looking up some info on hash tables in Scheme the other day and came across this insightful HN comment:

https://news.ycombinator.com/item?id=531079

I imagine the same applies to CL.

I personally use and love Clojure, but wish it compiled to native code.

[+] pjmlp|11 years ago|reply
>I personally use and love Clojure, but wish it compiled to native code.

It is a matter of implementation, not the language.

So you can:

- use a JVM with AOT compilation like Aonix and RoboVM among many others

- use a bytecode AOT compiler like Excelsior JET

- join the Clojure to C or Clojure to Scheme compiler projects

- write your own compiler

[+] wtbob|11 years ago|reply
In Common Lisp:

    (setf h (make-hash-table))
    (setf (gethash 'foo h) "hi") ;; -> "hi"
    (gethash 'foo h) ;; -> "hi"
    (gethash 'bar h "bye") ;; -> "bye"
That's not too bad. Not quite as perfect as bracket-based dereferencing, but I can live with it.