Hacker News new | ask | show | jobs
by JohnStrange 3085 days ago
I can speak for CommonLisp, scheme and Racket. Someone else will have to answer for Haskell. Generally, LISPs are extremely flexible, reasonably fast, compiled languages with macro systems that allow you to develop a domain specific dialect. Some of them, like CommonLisp and Racket, come with a pretty huge set of libraries, tooling and ecosystem.

> Why aren't they used?

They are used a lot.

> Is it because they are too hard to use, or to difficult to approach for a beginner?

They tend to be easy to learn but difficult to master for writing idiomatic code, i.e., have a relatively long flat learning curve.

> Is it possible to hear bad things about those languages?

Sure. In my personal experience, their biggest downside is the same as their biggest selling point: their flexibility. Code is generally hard to maintain and read by others. You can invent some incredibly hacky spaghetti code monstrosities in LISPs if you want to. More disadvantages: high memory use, dynamic typing and dynamic dispatch can suck big time (e.g. Racket OOP methods are mostly checked at runtime, which can lead to testing nightmares if you're not careful)

Overall, CommonLisp and Racket are pretty good 'batteries included' languages, whereas some scheme implementations are extremely fast and evolved small extension and scripting languages.