Charles, once again I feel you are light on business drivers. Development
productivity itself is only a business driver for a company that sells
technology, not for a company that sells widgets or services. You give the
example of IBM. They have a deep and permanent commitment to Java, because
they sell Websphere, and anything that cuts into Java's hegemony will
threaten the market for Websphere. If I were IBM I would work very hard
against Ruby for that reason, and for another reason besides: anything
that
increases development productivity decreases the value of IBM Global
Services. (IBM, not being dummies, recognize that this business is under
pressure, which is why they're trying to reinvent it as a management
consultancy.)
Yes, IBM sells WebSphere, but not for very much. In some cases, if bundled
with IBM services, it's practically free. I will grant that any company with
a major vested interest in language X is less likely to invest in or support
language Y, but they need to be damned careful about that policy. They could
very quickly be blind-sided by Y when a major competitor realizes Y's
potential before they do. I think Ruby could be Y for a number of the big
corporations we're talking about.
And what, pray tell, is a good business reason to support any new language?
Why did Google choose to support Python so heavily? Why has Microsoft done
the same with IronPython and why are they providing funding for Ruby.NET? If
you're looking for reasons like "Ruby will increase profits nine jillion
percent" or Ruby will banish your competitors to the land of wind and
ghosts" then I'm not the person to talk to. But if you're looking for
technical, grass-roots reasons why a company should start focusing on Ruby
intelligence and support right now, that's what I've given you.
Why do we choose one language over another? Why do we want Ruby to be our
for-pay daily-development language of choice? Because we know...we know we
could get more work done...we know we and others would be happier...we know
the software world would be a brighter place. Maybe it's bright-eyed
optimism on our parts, maybe we're wearing Ruby-tinted glasses. But maybe
we've tried so many other languages and so many other development models and
so many other communities and finally found one that feels right.
We may not be able to show the business boys (yes, all the way up to the
top) MBA-endorsed reasons why Ruby is the way. What we can show them is an
enthusiastic, creative, vibrant, and growing community of some of the
smartest folks around. And we can give them the laundry list of current
successful ventures that started the same way. That's what we do...we take
empirical evidence and extract theories from it. I think it's safe to say
that the evidence points toward great success for Ruby and those who have
the good sense to use it.
Another problem with development productivity per se, which hasn't yet been
addressed, is how to create value *cumulatively* from it. In short (and at
the risk of being accused of Java-philia), Ruby applications don't work
well
together, or with other enterprise systems (that represent capital assets
and may not be disregarded). I think Rails has a latent (and possibly
fatal)
flaw in this regard, which Ruby itself does not share. But it's a problem
that must be solved.
And this is a perfect area where backing from experts in systems integration
could help. Of course we don't want CORBA. Of course we don't want EJB. Of
course we don't want gigantic SOA behemoths. Their failures are documented
better than their successes. But there's a lot of smart folks that have
learned from those mistakes that work for the big guys. Given freedom to
work within the community, to work with the community, to "innovate outside
the box"...everyone could win.
What IBM, Sun, and Microsoft could also bring to the table is in tools.
Eclipse and Netbeans are, while memory-intensive, really nice IDEs to work
with. And the beauty of Visual Studio is well documented. As another poster
mentioned, what acceptance would Java or C# have had without a vast array of
beginner-friendly tools to help make them accessible to the masses?
For what it's worth, I think Google and (ironically) Microsoft, are
companies that might someday get into some serious Ruby advocacy.
I have heard Google is intrigued by Ruby, but they have at least one staffer
who probably isn't a fan. And Microsoft is already supporting Ruby, by
providing some amount of funding for the Ruby.NET project. It's a small
start, but big things come in small packages.
···
On 8/17/06, Francis Cianfrocca <garbagecat10@gmail.com> wrote:
--
Contribute to RubySpec! @ Welcome to headius.com
Charles Oliver Nutter @ headius.blogspot.com
Ruby User @ ruby.mn
JRuby Developer @ www.jruby.org
Application Architect @ www.ventera.com