Racket's documentation is wonderful and the community around it is very welcoming and helpful.
I'm a huge fan and my only wish is that it supported OS threads so it was possible to fully utilize a machine with a single process.
I'm a huge fan and my only wish is that it supported OS threads so it was possible to fully utilize a machine with a single process.
Also, the idiomatic code is mostly functional, but you can write non functional code if necessary.
(And if you want more confusion, add Clojure to the Common Lisp / Scheme list. It's another similar language with lot of parenthesis. It's somewhat similar to Scheme but the difference is big enough to tell them apart easily. And it runs in the JVM.)