5 ms·
Do I need to know Ruby in order to better understand Crystal? I'm interested in learning Crystal, but the community is quite small and the learning resources, s
by edgarvaldes 6y ago
Do I need to know Ruby in order to better understand Crystal? I'm interested in learning Crystal, but the community is quite small and the learning resources, sparse. Ruby on the other hand has a massive presence in the form of tutorials, books and blog posts. I have some minor experience with Python, Java and PHP.
- realusername 6y ago> Do I need to know Ruby in order to better understand Crystal? No you don't, it's inspired by Ruby but it's not a carbon copy. > but the community is quite small and the learning resources, sparse That's one of the main issues of Crystal, the community is very small and language adoption is still very low.
- antattack 6y ago"The ability to run the Crystal runtime on multiple cores is on the roadmap, together with ARM support, and availability on Windows. Building fully statically linked executables is currently only supported on Alpine Linux." Once Crystal addresses above shortcomings- it'll be a lot more interesting.
- mosselman 6y agoNo you don't, seeing as Ruby compatibility is a non-goal to begin with. If you want a fast language that is mature and has a big community with lots of documentation and resources, I'd go with Rust. I am a Ruby developer myself and I was interested in Crystal because of what I perceived to be an advantage for not having to relearn a language. But trying building something with Crystal revealed to me that syntax is about the smallest part of a language. Granted, Crystal shares a lot of the core libraries but even so there are differences in that it is typed, you have to compile, debugging a running program is completely different, etc. If I am going to have to learn about those differences, I'd rather learn a language that has the same advantages and more in the form of the aforementioned resources and the fact that it has been accepted by many as a well built language with lots of support for it. Hence my recommendation for learning Rust.
- ForHackernews 6y agoGo is another obvious choice if you're looking for a fast compiled language to learn as a complement to a slower interpreted one. I'm not a big fan personally, but it has tons of mindshare and there's a large active community around it.
- crazypython 6y agoD is another choice. It has good C compatibility and C-like syntax. It's not hot, but it's old, and thus more likely to survive
- rvz 6y ago> If you want a fast language that is mature and has a big community with lots of documentation and resources, I'd go with Rust. I'm sure that when Rust had their 1.0 release 6 years ago, there was little to no documentation and a small immature community at the time. We had the same people saying that it isn't mature and the same fans using it in production since pre-1.0. This is also the case with Crystal. Fast forward today, Rust itself has matured, but unfortunately the crates ecosystem is still immature. Each time I see a crate on crates.io, the version is below 1.0 and it is reflected on the "work in progress" disclaimer warning of unsafety guarantees in the mountains of other dependencies it uses, which makes me think twice about importing it; especially if it isn't pure Rust. I would expect better quality crates in the Rust ecosystem especially 6 years on from 1.0, but today, this is still not the case. I have the same expectation with Crystal's ecosystem, as it is now 1.0. Suppose you are using Ruby in a system (Not using Rails) for dispatching events and then calculating how long these events take with tens of thousands of users and you then realise that the language itself was the bottleneck. Yes, I'm talking about Deliveroo: [0]. Yet for them maintaining two languages and using Ruby FFI and rewriting it in Rust somehow sounds much more better than adapting it to Crystal. (since there were those who also used Rust in production in pre-1.0) If this was in C, C++ or Java then [0] would make sense. Ruby to Rust and still using both languages after the rewrite doesn't make sense when I can just 'adapt it' to Crystal in 5 mins and it just works. Even Elixir makes much more sense. [0] https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html#moving-from-ruby-to-rust https://deliveroo.engineering/2019/02/14/moving-from-ruby-to...