In regards to expressiveness, Racket is definately the most powerful lisp on the market, maybe even of any language, lisp or not.
Great GUI library, the most powerful metaprogramming the world has ever seen, FP, static typing (still a little rough around the edges), libraries for xml/json/http and a ton of other stuff, nice OOP libraries, contracts, and a truly awesome IDE.
Is there any other language that is as flexible, powerful, and elegant?
The only thing missing from the equation is a high performance optimizing compiler and industrial GC. If Racket could get JVM-like performance and a GC that could manage terabytes of heap, it would be the ideal language for me.
I used to program Racket professionally in academia, and it works really well for desktop applications. You can whip up complex single user apps very very quickly, with generally acceptable performance. Great for research and data science applications.
I now use Scala at work on a computation heavy multi-user finance application and Racket would be unteniable for this use case. High-load servers need the best GC (or no GC) and there are very few languages that work well in this use case. Pretty much just JVM languages, C/C++, Rust, and maybe Go or OCaml.
If Racket could get competitive in these areas, it might open the door for commercial adoption. Though, on the otherhand, both Python and Ruby have worse implementations and worse GC and that doesn’t stop everyone from using them for servers.
This is a tangent I suppose, but it’s a mystery to me why Racket isn’t more popular compared to Ruby/Python. For data science and ML the network effects of Python are strong, but the networking libraries for Python aren’t any better than those for Racket. Maybe people just think parens are scary?
Anyways, Racket is seriously awesome and developed by some great people (professors). If you haven’t tried it, I would highly recommend it. Very easy to get started because of the great IDE.
PS: Also HN is written in Racket (essentially), so I guess you can wrangle for high-load servers.