Which LISP should I learn? Years ago I read about Scheme and wrote some hello world level code. I learned about lambda functions and currying. I also looked at racket. A few years ago, much of my day job involved the JVM and I was getting sick of Java so I got a book on Clojure, which is a very nice language, but I never wrote any.
A few days ago I downloaded and built the latest version of DrRacket.
Should I go straight to Haskell? Or what about other functional languages? Is Erlang worth a look?
I need something stimulating to distract my brain from the mundane nature of everyday life, and mediocre programming languages.
(Score: 1, Interesting) by Anonymous Coward on Saturday November 27 2021, @04:32PM (2 children)
Erlang is very nice. Its native distribution and error-handling primitives are great. Its syntax is terse but legible. Its alternative to OOP is breath-taking in both simplicity and flexibility. Its realtime capabilities are lovely and practical. Its library is deep and well-maintained.
At first erlang will seem like a bit of a slog, but then you will get about three a-HA! moments, and then it turns everything around.
Other languages keep copying its features (badly) and missing the point. Golang springs to mind.
(Score: 1, Informative) by Anonymous Coward on Sunday November 28 2021, @05:43AM (1 child)
Erlang is an good choice if you are into those sorts of things. It was definitely engineered with a purpose in mind by people who knew what they were doing. It also has an equally wonderful reference implementation and some major alternate implementations. An additional benefit is that if you want to learn Lisp, you can run LFE directly in the Erlang environment.
(Score: 1, Informative) by Anonymous Coward on Sunday November 28 2021, @08:38PM
This is kind of why I recommend erlang. It is well engineered, it's not a toy language, it has a mature library set, and within its domain it still sets the standard. It can be a glue language for distributed management of tight code written in C, or you can do everything in there directly.
IF I'd wanted to suggest an obscure functional language, I might have proposed APL ...