Rainy days and Java always get me down

I've Moved My Blog

It's currently located at http://www.urlinone.com/blog

I should say "I'm moving my blog." It's a pretty painful process.

Pebble has blown up on me, and it's been many months since I've been able to blog reliably. I've lost posts. And now I've got to figure out how to migrate my past blog posts from Pebble to my new destination without all the URLs changing, lest external links become 404 Not Founds.

Why does everything in the 21st century have to be a three-day project???

Working for an integration company has changed my perspective on things. I used to be totally web-centric, focused on AppFuse, Tapestry, Spring, Hibernate, etc. While I still have interest in those things, my horizon has expanded beyond that single application silo.

Ruby on Rails interests me a lot, but I keep having fear, uncertainty, and doubt about the platform and supporting infrastructure. I know that a lot of bile has been spilled over Rails versus various J2EE frameworks, but I believe that a lot of that is fueled by fear. People who've invested the last several years honing a skill don't like to hear that it's being obsoleted by the next new thing. Ruby and Rails look like a threat, so some people want to discredit it. (If you object to that point, you're probably one of them. ;)

But my fear is not based on that; I've never been the type. I tend to throw myself into the unknown with great abandon. I left behind a guru-like knowledge of embedded, real-time C++ (I could tell you what instructions the compiler would generate from a given section of code; I could convert IEEE floating point format in my head; it's quite sick, really) in the world of avionics for the great unknown of J2EE. I didn't even know what an application server was at the time I started at ATG. Thank you, crazy tech bubble, for making my career change possible. And now I find myself in the land of SOA and ESB. No one can accuse me of being complacent.

My fear of Ruby is based on investing time and energy in a technology that never pans out and leaves me hanging, half-way through. Being a sucker for bright, shiny things, I worry that I can't trust myself to assess the real value of this new bauble.

So, today (really for the past couple of months), I'm weighing Ruby and Rails. I've never really liked Java syntax, and the efficiency of Ruby feels like a return to my lean and mean C/C++ roots, where men are men and, you can assign a value to a variable at the same time that you test it in an if-statement. (I like a lot of rope.) I believe in code generation, and Rails does a nice job of providing a quick way through the tedium. But the thing that keeps me up at night is the platform.

Is the Ruby runtime anywhere near the quality of fourth and fifth generation JVMs? How's the threading model? Garbage collection? JIT compiling?

And even if you don't want to be a totally anal-retentive nerd, dinging the VM for academic shortcomings, what about interoperability? I would imagine that you could fairly easily implement things like JMS and JMX in Ruby, but they don't exist today. I can think of so many things I could do with Ruby if it offered such technologies. Without them, I feel hesitant to commit, as much as I am ready to fall in love. Do I want to limit myself to a platform that can only serve basic database-backed web apps (no matter how quickly or nicely)?

The question remains whether Ruby will grow up to be a platform that can displace Java. Java has accomplished some remarkable things. It wasn't the first bytecode interpreted language, but it was the one that stuck. It wasn't the first environment to run on multiple platforms, but it is the one that was ported to mainfames and smartcards. It wasn't the first language to promote code reuse, but I've never seen anything like its vast library of reusable code in any other language (which is also a source of great pain, but that's a topic for another JCranky post). You can run JRuby in a JVM, but you can't run Java in Ruby. The JVM is a formidable incumbent.

Java is not just a language, it's an environment. And so must Ruby be. The question is whether Ruby's environment can grow up to be as robust, rich, and performant as the JVM. I really hope so. I could say goodbye to Java the language with no regrets. I can't say the same thing about Java the platform.

C'mon, Ruby, I'm pullin' fer ya! Don't let me down.

Actually, Rails is more the platform than Ruby. Kinda interesting how I ended up here. Looking at that Simpleology stuff, ended up on Joyner's forum, read your "I'm crap at marketing" post, and now I'm reading about Ruby on Rails, which I've been using full-time for almost a year now. :) Anything I say about it is going to be very subjective, I'm afraid ;-) Consider that you need to take risks to get the big prize. I started with Rails a year ago when it was a complete unknown. Now? I have work coming out of my ears because I'm one of the most experienced with it and the demand is higher than supply. It's not Java.. demand didn't grow slowly.. it's rocketing! A risk that paid off.
Anyone remember Lotusnotes (later renamed domino)? That was a platform alright. A giant one. Some people, frustrated with Domino, started complaining how it looks more and more like 'a giant solution in search of a problem'. Today, some of us are starting to feel that J2EE is another one of those 'giant solutions in search of a problem.' Yes, you may get paid big bucks for doing some J2EE work today, but back in the mid-late '90s, you could've done the same with Domino. Today? I honestly doubt it. J2EE is slowly turning into the legacy platform. It is going the way om mainframes. That is to say, the way of dynosaurs. The handwriting is clearly on the wall. Get out while there is still an opportunity.
More blog posts please!

Add a comment

HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
E-mail address
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://www.leegrey.com/hmm/addTrackBack.action?entry=1123105774796