crystal-book
crystal-book copied to clipboard
[Documentation] Provide a guide for ruby users, aka a ruby-to-crystal guide, ideally linked in via: https://crystal-lang.org/docs/
I would like to propose to providing a guide that focuses on ruby users who know ruby very well already.
Something that makes it possible to understand the DIFFERENCES in crystal.
In theory people can read the documentation and learn on their own, but some users are very very lazy. I am one of those!
For those lazy users, a succinct how-to-guide would be super useful. It does not have to be super-long, by the way; just a medium sized article that focuses on the most important differences, and specifically has "expert ruby users" as main target audience. This should be a collaborative guide that can be easily extended by different crystal users, but please not the github wiki - the github wiki is, unfortunately, really really bad. (Github issues on the other hand are super-useful.)
PS: For the length, I recommend a "normal" sized article on medium.com. While I hate medium, the SIZE of the articles there is quite ok, so the aim of this proposal is to aim for a similarly sized, but still succinct, article in this regard as well.
Wasn't there something already done...I think..maybe @sdogruyol did it? Crystal for Rubiests...or something like that but I can't find it
@bararchy It's a wiki page: https://github.com/crystal-lang/crystal/wiki/Crystal-for-Rubyists.
Maybe it should be moved over to the book.
There's an entire website: https://www.crystalforrubyists.com/
We should definitely link that from the book. Maybe we could even incorporate it as a tutorial? 🤔
I'm not sure how up to date the wiki page is. I'd like to remove it / transfer it to the book (/cc https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303, PR: crystal-lang/crystal-book#470). But it seems https://www.crystalforrubyists.com/ is overall better than the wiki page, so we could really just remove it.
The book is intended as a general guide to programming, and in my opinion actually conflicts with some of our existing guides and tutorials, whereas the wiki page focuses on language feature and standard library differences; the two have very different purposes.
I think we should expand upon the latter and also incorporate things that are in Ruby 3. Two important ones are Fiber::SchedulerInterface, which brings their concurrency primitives closer to ours, and TypeProf, that can technically express concepts like generics and overloading.
The wiki paged was moved to the book. We can close this one.