|
|
|
|
|
by tombert
2470 days ago
|
|
I actually went Haskell->F#->Clojure in terms of job progression, so I am ok with largely theoretical stuff. The reason I ask is that Clojure is an easy-ish sell largely because there's a near guarantee that you will never be blocked due to lack of libraries, since you can mooch off of anything in the Java ecosystem (similar arguments can be made for F#). I hate Java, but it has been around a long time and is extremely popular, and as a result there is a library for virtually anything for it. As far as I know, there is no such guarantee for CL...unless I'm mistaken (which wouldn't surprise me). When using it for work, did you ever get stuck because of a lack of libraries (e.g. JSON parsing, protobufs, socketing stuff, threadsafe collections)? |
|
Nope, I did find some to be less well documented than ideal, but pretty much everything had tests and/or examples making up for it. Have a look at Quicklisp[0] and explore yourself.
CL has many implementations[1], including the one targeting the JVM, so you can make use of Java ecosystem from it too.
CL has been around a long, long time. First edition of CLTL[2] was released in 1984! and at that point Lisp had already been in heavy use for almost three decades. The standard has not been altered since 1994, and likely never will, but due to its nature innovation continues in the individual implementations and in the community, and there is a well established culture of portability libraries.
[0] https://www.quicklisp.org/beta/
[1] https://common-lisp.net/implementations - Not an exhaustive list
[2] https://en.wikipedia.org/wiki/Common_Lisp_the_Language