Entirely valid and thought-provoking point of view, and one that I’m
finding
is quite characteristic of the Ruby community, perhaps indeed the
defining
characteristic.
Ruby is the only programming language I know that (for specific reasons
inherent in the design of the language) has some potential to challenge
the
prevailing wisdom among businesspeople who manage IT projects. Which, to
oversimplify, is that a large problem requires something at least
resembling
a large team. I’m eliding some of the logical steps, but this entrains
much
of what you and others (with some justification) criticize as
backside-covering.
But this goes directly against the ethos that software production is a
fine
art, and that the choice of tools matters less than the quality of the
artifact. This feeling has been a recognizable characteristic of
software
practitioners long before Ruby was invented, as has the concomitant
criticism of IT managers. As one of those managers, I wouldn’t dream of
attempting to build a large one-off enterprise application in Java with
one
or three top-quality programmers and five assistants. But someday I
might
actually consider doing it in Ruby.
The best Ruby programs are small ones. This is wired into the genetics,
and
the aesthetics, of the language. But small Ruby programs can be
remarkably
powerful, in ways that can fundamentally change the dynamics of software
production. If this point can be made by powerful and eloquent advocates
then Ruby may become a much more widely used language. But so much
depends
on the goals one chooses to pursue. Many committed Rubyists have stated
many
times that Ruby should not have widespread adoption by business as a
goal.
(Perhaps underneath this, there is fear that success would corrupt
Ruby’s
essential character. If so, that’s a topic for another thread.) But this
does explain why the Ruby community has so few powerful and eloquent
advocates.