Am I the only one who forgets Racket? Everytime I visit the site and browse through the documentation, I find myself wondering why I'm not using the language. Years ago I used Chicken Scheme but this seems more robust and the standard library is adequate. Who's using this in production? What's your experience?
1. Simple to learn and remember (they tend to correspond)
2. Module System; Support for modularization of complexity
3. Simplicity of coding and maintaining simple modules
4. Simplicity of coding and maintaining complex modules
5. Available libraries and their quality
In comparison to (I can only code efficiently in) Java, Python, Javascript/CoffeeScript/Node, Common Lisp, Scheme, and Haskell
- Racket is best for 2. (especially if you add a bit of meta-data to a module) and 4.
- Racket is much better than Haskell, Java, and Common Lisp for all 5 metrics Except for Haskell, which happens to be very nice for certain things that benefit from its type and class system
- For 3., Racket is overly complex, especially with the macro facility and huge number of types and structures. Node/Javascript/Coffee is better by far; Python is a little better than Racket because of less language features
- Racket is weak in 5. - Racket has many libraries of dubious quality, and I've hit undocumented issues a few times; Only Java was worse; However glue/business-logic doesn't require many libraries I now use NodeJS because I've been dealing with simpler stuff.