MOTIVATION¶
Ruby is badly managed¶
Look here: http://rubyforge.org/tracker/?group_id=426
283 open bugs. 63 untouched patches. Some of those are several years old.
The Ruby standard library needs an overhaul¶
Too many libraries are dependent on third party libraries , many are deprecated, many do not work on Windows, a few are Japanese-specific, several are generally useless, and some just plain suck.
There is very little refactoring in the core Ruby language or standard library.¶
I'm not talking about bug fixes. I'm talking about reworking the overall design of any given class or library. Or even just general cleanup efforts. It happens rarely.
Ruby is poorly tested¶
Ruby has about 1500 core tests. That's it. The rest are from the standard library, and their quantity and quality varies wildly depending on the library.
MS Windows is a second class citizen¶
Ruby has clearly focused on Unix (specifically, Linux) over Windows because that's what Matz develops on. Some of the core kernel methods don't work properly on Windows, most notably Kernel#select. Other issues range from the use of deprecated functions (sometimes in an effort to support 95/98/ME) to bugs (File.size doesn't work on files larger than 2gb) to generally cruddy implementations (File.basename).
I'm tired of arguing with the core list members!¶
It has become a major hassle to get even the simplest enhancements accepted. So, I've gone my own way.
I want to add features the core developers aren't interested in¶
The (tentative) list includes method annotations, type inferencing, keyword arguments (not quite the same as 2.0), selector namespaces, structured warnings, something to replace $SAFE levels (probably some form of sandboxing), AOP support and fine grained mixins.