Today I was reading Obie Fernandez’s blog posting which singles out Alex for his choice of Scala. I personally don’t know Obie, but I have friends who do, so I want to express that this entry is not a personal attack on Obie or an effort to slob Alex’s knob. It’s my personal opinion (subject to public scrutiny), but I’m not looking to take part in such a pissing contest which requires a high power fan to be placed in front of me.
The blog posting has a smell of BileBlog without the substance. As a person interested in this debate between Ruby and Scala, you should look at the facts and not the personal opinions being sold. Alex makes many claims about how Scala is a better fit for Twitter, which I personally agree with, but once again let’s ignore opinions and look at the facts.
Scala was designed with the mindset that Object-Oriented and Functional Programming paradigms both have a place in the world of Software Engineering. The combination of these two paradigms make Scala a ‘Scalable Language’. Let’s take a look at how Scala can scale up based upon the size of a project.
Scala can serve has a scripting language to solve rather simple tasks without a load of bloated code and unnecessary declaration of objects. This allows you to write quick scripts that clearly express the problem at hand without a load of noise. But as a project starts to grow, it’s important to be able to ’scale up’ with Object-Oriented concepts. This is done though the creation of components with a statically typed language. I can’t stress the latter of the previous sentence for large code bases. It can be argued that with proper test cases and good developers, you don’t need a statically typed language, but the world isn’t perfect.
There are many things that Scala provides outside of the two points made in the above paragraph, like interoperability between Java, Actors (which yes, is found in Ruby, ErLang, etc.) and many more items which I won’t go into here. I believe these important things were never mentioned in Obie’s argument. Instead he made personal attacks on Alex’s virtual ’star’ and doesn’t provide any reasonable arguments against using Scala.
For these reasons, I’m left to believe Obie’s post was done with intentions of going against the grain and draw attention for his own financial benefit. His company Hashrock and his books are heavily based on Rails, so naturally he feels the need to defend his source of income. Just because you’re objective for defending Ruby is financially motivated, it doesn’t mean Alex is doing the same.
My sole intention was to demonstrate that Alex is speaking out of both sides of his mouth. On one side he’s dissing Ruby and Rails at every opportunity, including public talks where he can claim that irresponsible journalism twisted his words. On the other side, he’s saying “Can’t we all get along?”
No, when you unfairly criticize Ruby and Rails and get the idiot masses in a lather about it then those of us that dare, especially those that are financially motivated need to step up and balance out the the discussion.
Hi Obie,
I would feel for you, except you guys used exactly the same arguments and techniques against Java back in the day (rails is sooo much more productive, rewriting a java app in rails took just 5 days, oh and there was this bit too http://www.jroller.com/obie/entry/top_10_reasons_why_java )
I’m not looking for sympathy or support or anything at all except maybe an acknowledgment from Alex that it was their crappy Ruby code that cause them problems and not the Ruby platform.
Overall, it’s just a game and I love playing it.
Cheers,
Obie
Obie I respect your honesty. Most people wouldn’t openly say the things you’ve said or react the way you’ve reacted thus far.
My only complaint is we (Software Engineers) are becoming that of which we hate. People who push solutions for the sole purpose of financial gains, regardless if it’s a good fit.
The Ruby community, like any other, is no different when it comes to defending their language. The Java community never openly admits they have an addiction to writing frameworks or embraces a million APIs or half baked JSRs. For this very reason, I commend Alex for making his choice and being vocal about it. I know he’s received a lot of praise as well as backlash, but in the end I think he’s made good choice. To your point Obie, there are cases in which he down talks Ruby i.e., “fine for people clicking around Web pages”, but that’s not a very strong argument.
There’s nothing wrong with challenging another’s opinion. I think it’s something that should be done more frequently vs. having people blindly accepting and following what someone says.
Richard L. Burton III
http://twitter.com/rburton
Obie,
Usually you use two arguments:
- they are sloppy ruby programmers and you base this on their remark on kind_of? usage. I think this can easily backfire considering they have the biggest rails installation and you did not even see their code base. So why are you so sure they are that bad? Have you ever dealt with similar traffic or a big project like theirs before? If not, I would rather believe them than you.
- they should have used Jruby
Except when they make their decision in early 2008 jruby was much slower than now.