Preston said:
I'm wondering what those of you using
Ruby feel are Ruby's chances of taking off. At least to the extent that
you could begin to see it used in places where J2EE is being used
currently. I know this is already happening. But my question is more
with regards to the future. Is something like RoR worth learning in the
context of being able to actually put it to use in the future? I know
I'm asking for conjecture. And that's all I expect. But not being
actively involved in the community, I get no sense as to how much
momentum Ruby has, and thus what the chances of it becoming more
commonly used, are.
Hi Preston,
I think Ruby on Rails is at the same crossroads that Java was 10 years
ago.
Ten years ago, I switched camps and wholeheartedly joined the Java
initiative. Before doing that, I went through the painstaking process
of abandoning the mainframe/midrange technology by going for the C++/VB
one. But in the summer of 1995, I knew I had to jump ship again.
Fifteen years ago, me and some of my fellow developers grew tired and
disgusted with mainframes. Those behemoths were simply too enormous and
too brittle to allow for any reasonable course of developing even
fairly simple applications. So, we've switched to OO platform (first to
Smalltalk, and later on to C++).
But the 'DLL hell' made us equally disgusted. Soon it was time for a
change. After abandoning the mainframe legacy, we've adopted the 'DLL
hell' legacy of Microsoft. Along came Java (remember "the network is
the computer" slogan?) and we jumped right into it, swallowing it hook,
line and sinker, as the saying goes.
Today, 10 years later, we're disappointed (nay, shocked) to see Java
growing into an even bigger behemoth than any mainframe. Needless to
say, some of us are disgusted by the clunkiness of J2EE. Even worse
than that, the clunkiness of the J2EE-aftermarket is actually more
shocking. I've tried countless open-source frameworks that were
supposed to address and cover up J2EE's original lack of vision, but
came away utterly disgusted.
In the process, I've slowly grown absolutely alergic to XML, which I've
embraced enthusiastically at first. Today, I get violently sick
whenever I have to look at any XML-snippet.
For the past 5 years I've been impatiently waiting for something to
come along and point to the way beyond Java, beyond C#. I've even
developed my own frameworks to address the gap.
But the day I saw Rails, I knew that my wait was over. It addresses
elegantly all my grievances, and then some!
Yes, right now there are more naysayers than coolheaded people about
RoR. What I find hilarious is that all the arguments against RoR are
exactly the same as the arguments we were hearing against Java back in
the mid-to-late '90s. And these same objections are now mostly coming
from the Java camp!
Remeber when the corporate technologists were chiming against Java as
being too slow? Can it scale? And so on.
One thing is certain -- Java/J2EE is destined to go the way of the
mainframes. No, these techologies will never go away. But, they are now
being delegated to the legacy status. Read: necessary evil.
RoR community will grow rapidly. Then, once it reaches certain critical
mass, it will specialize in bridging the gap between the legacy
technologies (i.e. J2EE, .NET) and the modern platforms. The same thing
happened with Java in the '90s, and now with .NET (the enormous push
for 'data exchange' via XML and XML Schema, perpetrated by Microsoft).
There is a huge volume of business logic burried inside the J2EE/.NET
code worldwide. This logic will have to be somehow salvaged in order to
be utilized in the modern, agile platforms. RoR will serve in the
future as a bridge, as a 'glue', integrating everything together
(remember when Java/VB were being touted as being one such 'glue'?)
The software development community will (again) split into 2 camps on
the issue of RoR vs. Legacy. This split is inevitable, and it always
occurs, whenever there is a revolutionary breakthrough. It happened
when we abandoned mainframes. It happened when we abandoned the 'DLL
hell'. It is happening now, when we're slowly but surely abandoning the
XML-based legacy systems.
Basically, one camp (arguably always a bigger one) will consist of
those hard-core nuts-and-bolts technologists. These are the people who
delight in going into the engine room, getting down on their knees with
screwdrivers in their hands, and tightening the 'screws' on their
legacy platform of choice. This is what I call the 'How' crowd.
The other camp will consist of developers who are first and foremost
interested in delivering quality products. In other words, they know
they are in the business of selling experiences, not nuts and bolts and
screens and reports and push buttons. This is what I call the 'What'
crowd.
The 'What' crowd is the one that always makes progress. They don't care
too much about polishing the done deal. They only keep pressing for the
ever higher quality.
And this is where RoR gives all of us the best chances.