- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
I saw a project a couple weeks back which allows writing and running Crystal methods inline inside a Ruby file. It’s a neat project, and I don’t want to take away from it but something in the README example looked off to me. require ‘crystalruby’ require ‘benchmark’ module Fibonnaci crystalize [n:
It’s easy to make Fibonacci fast. And even so I wouldn’t count non-idiomatic code. The first version is clearly what you would write.
Very cool that Ruby can get that much faster with relatively small changes. Even just the implicit return + array allocation tip is a useful one on its own.
Even if ruby was the fastest language ever, it would still be awful. It encourages such awful coding practice.
Like what? Meta programming? Ruby on Rails is still fairly mature.
From what I’ve seen it encourages writing highly dynamic code that is extremely difficult to follow if you didn’t write it. This is based on me trying to understand Gitlab’s code. I have tried to read it to understand several different features and behaviours and every time I always get to a bit of code where I can’t find the caller or callee.
Compare to VSCode which is a similarly huge codebase that I have contributed some small fixes and features to. It’s night and day. Just click things to follow them. The only time it is even slightly difficult is when there’s an abstract interface and then it can be a little tricky to find the concrete code that you want. But still very doable.
I think you’d have to be crazy to pick Ruby for anything other than tiny one man shows.