It's a compiled language with Ruby-inspired syntax (but not identical to Ruby). It has fast performance and a good standard library. Version 1.0 of the language was released in March 2021.
Some disadvantages:
- Compilation is a bit slow
- Small community
- Few learning resources
- Windows version is still under development (not 1.0 ready)
I'm impressed by the language and find it very likable. It's not often discussed on HN, which is a shame.
If you are using Crystal, or have taken a look at the language, what are you thoughts on the language?
It’s more production ready than much I’ve encountered elsewhere with less need for external “shards” or libraries.
The executables are small and to give you one example: a nodejs app that used 500mb of ram is now consuming 25mb as a crystal executable that doesn’t require any minding and happily runs for months with no change in the overall memory consumption or evident leakage. This executable was built on the same machine it runs on and can use normal systemd units and controls etc.
The standard library is built for purpose and has most of what you need.
I agree that compile times are slower than ideal but not like c++ slow or anything, like 30 seconds for one app that’s roughly 30k LOC fwiw.
I use a combo of standard lib .ecr server rendered templates and named js bundles from the frontend build toolchain to speed up the dev cycle. Most backend functionality in crystal works as intended once it compiles.
I really wouldn’t consider anything but Rust an improvement (gets rid of our Boehm GC) as crystal is just nicer to work with than Go, and less hassle or nonsense than c or c++…
Obviously it blows the doors off anyway interpreted even with native extensions… it is FAST