I wrote a small web app in Crystal a few years ago. I enjoyed the language and the experience, except for the compile times. Any experiences of folks using the interpreter for speeding up iterative development?
I'd think it would be system level programming with acceptably good performance with high level abstractions and the Ruby flavor. Similarly is Nelua[1] which uses Lua's syntax and APIs and compiles to C.
I'd say it's the Ruby-inspired syntax. Some people find the Ruby syntax a joy to work with. Crystal has that, but also includes type checking out of the box, among other things.
The front page does a good job of outlining the key features of Crystal:
If none of these features seem that compelling for you, then Crystal may not be for you. As someone who has experience writing/reading/maintaining Ruby code, Crystal seems a lot more friendly to me than Go, but each to their own.
For Go, I want a better type system, better syntax, better exception handling.
For rust, I want simpler syntax and simpler memory safety.
For python, I want something much faster, an actually existing typesystem (not fancy linter comments pretending to be a typesystem), otherwise I'd be using Ruby.
17 comments
[ 2.7 ms ] story [ 48.1 ms ] threadSay, for Go it's utter simplicity and easy concurrency.
For Rust, it is the many safety guarantees on top of high performance.
For Python, it is the ease of learning and interactive fiddling on top of a colossal ecosystem.
Etc. What sets Crystal apart?
[1]: https://nelua.io
The front page does a good job of outlining the key features of Crystal:
https://crystal-lang.org/
If none of these features seem that compelling for you, then Crystal may not be for you. As someone who has experience writing/reading/maintaining Ruby code, Crystal seems a lot more friendly to me than Go, but each to their own.
But I hope to be wrong, syntax looks great.
For rust, I want simpler syntax and simpler memory safety.
For python, I want something much faster, an actually existing typesystem (not fancy linter comments pretending to be a typesystem), otherwise I'd be using Ruby.