It’s probably appropriate to link to Eric Lippert’s Top 10 Worst C# Features on lobste.rs earlier this week. The TL;DR is that most of his regrets stemmed from making a language that felt familiar but worked differently just enough to be highly confusing. It seems like Crystal might be following exactly in these shadows.
This is probably going to come off as negative, but while I like the typing Crystal feels like a 100% copy of Ruby (warts and all) without the ecosystem.
Though maybe gems will work naturally.
Typing and native binaries seem like big gains.
Yeah, but like that’s true of any language?
Not trying to dispute that, only trying to say that it could offer gains greater than a copy of Ruby could. :-)
Yeah, you’re right about that.
My complaints are really that I’m tired of seeing Ruby’s warts continued in new languages.
What Ruby warts do you see being continued in Crystal?
Your complaint is valid, but if your new “copy of Ruby” changes too much, then it’s no longer a copy and no one who likes Ruby will want to use it. That puts languages like Crystal in between a rock and a hard place. Do you want to be like Ruby or “the next Ruby”? Or do you want to forge your own path? Neither path is an easy road in my opinion. And, finally, it’s a very fine line to walk between the two.
Hey, yeah I’ve made the same argument about RubyMotion (which has minor differences).
I believe that honestly if Crystal gets the ecosystem it should start ripping out the warts. It’ll be a long journey, it’ll have a lot of discomfort, but we’ve learned a lot since ‘91.
Agreed, I have the exact opposite opinion: too many languages are “inspired by X” but with some meaningless change (functions are defined with func instead of def for example). It is added cognitive load for no real gain.
It’s great to see Matz has contributed to the project funding https://salt.bountysource.com/teams/crystal-lang/supporters
I’m really excited about this! I love Ruby but the one thing it is missing is static typing.
People enjoying Ruby should def. try this. It’s nice to see the Ruby community explore new horizons (Elixir comes to mind…), and there is a lot of room for new contributors. :)