3 ms·
I've a love/hate relation with Ruby because I think the language itself, is one of the best incarnations of modern very high level programming: the way OOP, imp
by antirez 9y ago
I've a love/hate relation with Ruby because I think the language itself, is one of the best incarnations of modern very high level programming: the way OOP, imperative, functional primitives are put together is great. On the other side I don't like the programming culture that the Ruby community formed, which is on the average not super focused on stability, quality, documentation, essentiality, simple code. At the same time, coming from the Tcl interpreter, I was also not super happy in the past with the Ruby C implementation: once I rewrote certain long running tasks from Tcl to Ruby, memory usage exploded, performances were no longer deterministic, regardless of the fact that the two languages were more or less at a similar level of abstraction and speed. So I love you Ruby, but it's hard to use you.
- pjmlp 9y agoI think Ruby missed the opportunity to be a more general purpose language beyond Rails projects. Since its early days, I was hopping for it to gain AOT/JIT compilation support, eventually by getting some inspiration from Dylan. RubyMotion seemed to be it, but because it is commercial product, it is largely ignored by the community. The JRuby work is awesome, then again some in the Ruby community suffer from Java allergy and won't touch it. Now we have Crystal as the best way to get a bit of both worlds, AOT and Ruby like syntax, but still alpha quality.
- look_lookatme 9y agoI agree about Crystal, the way it dispenses with metaprogramming in favor of macros is simple and elegant and optional type restrictions gives me most of the control I want.
- matthewmacleod 9y agoIndeed, I think I really share this view. Ruby is the only programming language I've ever used where I didn't feel like I was fighting it, or struggling to express what I wanted. It was easy to express complex behaviours and data structures without reams or syntactic or structural noise. But yes – despite that, there was a lot of shoddy and poorly performing code out there. The ecosystem never saw the kind of massive investment that JS (for example) did, so performance was always lacklustre, and I'd particularly love optional typing. Still, there are other options now for specific use-cases, which is good.