I recently picked Ruby up again after about a year of JS and Python. I instantly fell in live again due to how simple it is to do anything with Ruby.
Rails is a breath of fresh air after trying to maintain hand-rolled solutions. The productivity gains are incredible. With Ruby 3 coming soon it seems like the performance of the language has drastically improved. I’m excited to see ruby continue to flourish.
It's hard not to fall in love with Ruby. Since 2010 I've also dabbed into Javascript, Go, Elixir, Rust --work in progress, damned lifetimes!-- but as the song goes, Ruby was my first programming love and will be my last.
And mind you, i've seen and written my good share of crap Ruby code! It's not about the quality of the code or the fit-for-purposeness of the language or platform, it's about the joy of writing code in it. Totally subjective.
Crystal is a great language that has learned a lot from Ruby. I'm excited to see where it goes. I think one area where it doesn't measure up to Ruby, however, is Windows support, which they've decided to forgo for the 1.0 milestone [0].
That said, I'm excited to pick up Crystal someday. What are some good niches you've found for it?
True, but one of the selling points of Ruby to begin with is runtime metaprogramming. Sure, it should generally be discouraged, but when it's heavily utilized by ecosystems like Rails, it becomes a primary feature that macros do not adequately address.
Are you saying it's a primary feature for Rails or for Ruby? I can't think of an example where it's a primary feature for a user of Rails but I usually avoid it in favour of better tools so I might not know of them. Perhaps you know of some?
Rails leans on meta programming for a lot of its magic (though less so than it used to in early versions). You don’t generally use it as a user of Rails, though.
It does have metaprogramming, only at compile time. Crystal metaprogramming is very advanced as well, you could even create methods dynamically from a JSON file if you wanted to.
Rails is a breath of fresh air after trying to maintain hand-rolled solutions. The productivity gains are incredible. With Ruby 3 coming soon it seems like the performance of the language has drastically improved. I’m excited to see ruby continue to flourish.