Fun Numbers - Ruby and Perl (Massive difference in core test suite size)
use.perl.org
use.perl.org
Perhaps Ruby isn't "feature poor". Perhaps Perl is "edge-case rich".
The language is rather complex. Browsing at random through the dreaded Camel Book, here are some things I find, in no particular order: a goto statement with three forms (page 105), typeglobs (pg 115), explicit syntax for references (pg 116), a text-formatting mechanism in core (pg 121), expressions that evaluate completely differently in "scalar context" vs "list context" (pg 45), taint mode (pg 357)...
A more fundamental question is: Where do these numbers come from? And an even more fundamental question is: Since when did counting tests prove anything? Isn't that just like counting lines of code, or counting the number of bugs that have had to be fixed? (Give me a day or two and I'll double the raw number of Ruby's tests! I'll just add more assertions!)
Unlike Perl, Ruby has elected to make these specs an open community process usable across all implementations. Oops.
Perl 6 does separate the specification from the implementations.
http://svn.ruby-lang.org/repos/ruby/trunk/Makefile.in
Find "test-rubyspec".
It even `git clone`s rubyspec if you ask it to (update-rubyspec).
A lot of developers continue to use MRI 1.8 despite 1.9.1 being out due to API changes. So you could still make the case that the main interpreter being used was at one point not well tested. However, forward progress in the language is tested, so there's nothing really to be remedied.
I'm not sure who they're arguing with here. Developers that write code in Ruby have a testing culture... I've never heard anyone imply that Matz and the core development team care even slightly about it.
In short, your average Ruby project and Ruby the project are entirely unrelated, they're written in different languages, even!
I think the words were poorly chosen. I understand the main point, which IMO supports your assertion. But knowing the habits of people surfing the web, I can certainly understand how it doesn't appear that way to everyone.
Why is this a topic of discussion? Is someone from the Ruby community running around saying otherwise?