"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.
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.
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.
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.
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.
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.
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.
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.
[+] [-] sramsay|11 years ago|reply
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
[+] [-] ced|11 years ago|reply
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
[+] [-] tokenrove|11 years ago|reply
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.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] eudox|11 years ago|reply
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
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
[+] [-] malvosenior|11 years ago|reply
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
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
[+] [-] unknown|11 years ago|reply
[deleted]