3 ms·
I held off learning LISP for many years, always thinking "one day I'll get to it". Because the syntax looked funky (even though I used other languages such as H
by Insanity 7y ago
I held off learning LISP for many years, always thinking "one day I'll get to it". Because the syntax looked funky (even though I used other languages such as Haskell which has a "non-traditional" syntax).
Eventually I just dove in, and grew to appreciate the language. The homoiconicity (the code is data, and thus data can be used as code) is something that did excite me.
Unfortunately, I never got good with LISP. Whenever I wanted to do a 'real-world' thing, I ended up fighting with the package manager. Having outdated dependencies, not managing my deps correctly or just not finding deps for things that I wanted to use.
Which also deepened my believe that programming is more about the ecosystem than the language. I love functional programming, I really enjoy Haskell and I'll solve small things (Advent of Code) in LISP. But once I need a library I'll use Go, Python or Java, or _any_ other common lang.
I'd recommend learning it though!
EDIT: I just said LISP here, but I always used the CL (Common Lisp) implementation. And I run it with SBCL (Steel Bank Common Lisp)
- 6thaccount2 7y agoI'm here too. Niche languages are great when you're a solo developer or own your own company. If you have to work in a large company, you have to deal with other technologies and people you'd normally avoid. That usually necessitates a larger ecosystem.
- vindarel 7y agoI find the package manager actually great. Quicklisp works with monthly "distributions" that are tested to load together, rather than libs that must be strictly pinned and updated separately like everywhere else. I can understand the ecosystem problem, but it might be way better than one thinks: https://github.com/CodyReichert/awesome-cl https://github.com/CodyReichert/awesome-cl Also, Quicklisp can be completed with http://ultralisp.org/ http://ultralisp.org/, a distribution that builds every 5 minutes and to which it is trivial to add a library. There's also Qlot for local dependencies, and more.