This would be a good reason to switch to crystal (although i think this is at least the 3rd just like ruby but static language I’ve seen, so maybe wait a bit). Going through all this work to find bugs in ruby code, and then continuing to develop the ruby version sounds downright painful though. You’re going to add another feature to the ruby code and then do this all again next week?
Ruby has the advantage of being a significantly more mature language, with all of the pros (and cons) that brings. So I still think it’s a reasonable choice in the end. As always, it depends.
i think this is at least the 3rd just like ruby but static language I’ve seen
I’m curious, what are the other two?
One of the jruby devs was working on one. You can get some speed ups by calling methods normally instead of reflection for everything. :)
Mirah is the one from the JRuby folks.
Ruby folks named it after a gemstone in Japanese, eh? Last dynamic one used in mission-critical stuff just straight up said Gemstone:
A lot of things get named same thing in IT. Maybe just sheer volume of stuff we make. Btw, I saw Braintree on Basecamp’s Bootstrapped and Proud article. It was one of my favorites, esp owners' strategy of upselling on people who really knew why they needed product. I was thinking about trying something similar but as a non-profit or public benefit company chartered carefully for long-term safety of customers. Maybe franchise as well for growth strategy. Braintree could do that. Good luck to yall anway. :)
And to you as well
It’s hard to say with a contrived example but the syntax looks close enough to make me wonder if you could have ruby ignore the type annotations - test and check with crystal but develop and run with ruby, maybe?
For some reason, as I continued to read through the post, I assumed that the “second opinion” phrasing was a joke that was going to end with “you might as well use Crystal”.
It might be of interest here to know that an OpenBSD version of Crystal was released today ;)