Defection of Java programmers to Ruby on Rails!
This war between Java and Ruby On Rails is really funny. Java is finally getting the same deal (but in a different role) that they enjoyed against C++ in the past. Ruby is in the same shoes Java was back then. I am sure in a few months, Ruby will have developers all over the world writing stuff for it to put any doubts about its performance to rest… just like everybody joined the Java bandwagon back then and till now.
So Java loyalists, take heart in the fact that it has been a good decade for Java. I am sure Java will have its place.. just like C++ still does.
Here is something really funny that I just read somewhere:
“Typically, a high-level Java figure will encounter Rails, speak out against the claims of improvement over Java, learn more about Rails, spend some time developing with Rails, and then retract past opposition, and begin using Rails for new project development. ”
I think I will do the same after some time.. at some point, you will want to ask yourself whether you enjoy writing complex code with hundreds of classes, XML files and complications of building & deploying and feel good about how you managed to survive in all this or you prefer a simple programming model and get the same thing done in a faster way.
I think my thinking is slowly maturing enough to sense that what matters is not how much torture your brain can sustain and create something, but what matters is getting your ideas faster to their targeted users. If your colleague sitting next to you can deliver something that works quicker than you do with just a little bit of performance hit, then he is a winner and you loose the opportunity to present your ideas to the world. I remember my days as a die-hard C/C++ programmer when I would have never hesitated to start typing “#include ” for everything that came in front of me!
But then I learned over the years.. “If the only tool you know is a hammer, then every problem starts looking like a nail” – so I learned Visual Basic, Oracle, C++, Perl, Expect, Tcl, C#, Shell scripting, PHP, Javascript, even something called PI/Open… all the while, keeping that love for C/C++ burning in my mind! It’s still there, only thing is I understand now is that it doesn’t matter.
The world doesn’t need evangelists, the world needs someone who can have an open mind. Because, evangelists eventually get proven wrong or outdated by something else that shows up on the block. It is funny that people feel so passionately about Java and I used to be the same way for C/C++.
In fact, I still remember how I got angry when my Ruby instructor said “Ruby is more object oriented than Java” or that “Java is for stupid programmers so that they won’t make mistakes”. I thought that’s where we came from. Back then, I, along with other C/C++ programmers, had said Java is for stupid programmers who don’t understand pointers or memory allocations. Now look where we are. The whole world became stupid and embraced Java during the last decade. And now when Ruby says Java is for stupid programmers and we are going to trust programmers and let them modify a private member of a class even though it has been declared private, Ruby is pulling a C/C++ on Java again!
But think about it, does it matter to a myspace user or an online Amazon shopper whether what they used to develop this application is more object oriented or not. What matters is that they get these cool applications fast and working. If the people who develop these applications understand what security concerns they need to address, how the application should or should not behave and what are the safeguards they need to keep in mind, it’s just a matter of time before the tools can potentially be modified to work accordingly if they don’t do so already.
The Java-RoR wars are not new. Java has merits in being widely known, used, tested and workable in a variety of applications and Ruby doesn’t have that – not yet. That is not to say that it won’t in the future. The choice has to be made based on the application you are trying to develop.. instead of being religiously fanatic about one or the other!
At one of my first jobs, we had to convince the bosses that C could perform well enough compared to assembler.
There really are no new arguments, only new things to argue about.
Nice post.