My first Euruko was in 2005, but even after using Ruby for all this time, I hope (and expect!) to come away in 2013 having learnt something new.
When a new version of Ruby is released, discussion usually focuses on what's been added. However, what if we took advantage of the next major Ruby version to drop some features?
The question I'd like to ask is: could we increase programmer happiness by removing features from Ruby? And, assuming that the answer is yes, what might we consider removing?
I have several candidates in mind, including:
Some of these will be more controversial than others; some more practical than others. Some may already be shunned by the majority of Ruby developers; others may be dearly beloved. Some might be completely impractical!
For each candidate, I'll:
Finally, I'll explore whether we as Ruby programmers might unilaterally cut out use of some features, how we'd practically achieve this, and what benefits it might give us. As a comparison, the
Andrew: do you mean this flip-flop operator? I think that's a good addition to the list!
I currently use the first five features! ^_^
Are you going to talk about the flip flop operator as well?
Hi Filip, thanks for your suggestion. I'd like to try to persuade you otherwise! I know that some of my ideas might be impractical or a hard sell, but I think that's what makes them provocative and interesting to discuss.
I think there are some architectural downsides to relying on autoload, but, on a more prosaic note, it poses problems for multi-threaded applications. Matz himself has said that autoload might be dropped in Ruby 3.0 for this reason.
I dont think that autoloading should be dropped. I have php experience where autolading is used very much to provide IoC container, speed up (reduce loading of files that are not required) etc.