« Using comments as rake task descriptions | Main | Displaying Code on the Kindle »

April 08, 2009

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451c41c69e20115700c616c970b

Listed below are links to weblogs that reference Twitter Should Move Away from Ruby:

Comments

Giles Bowkett

Dave my objection is almost entirely a semantic quibble. I think part of the blog over-reaction is the idea that using any other language constitutes abandoning Ruby. But you must understand where I got the idea, you have it in your headline. ;-)

Anyway, quibbles aside, just a further note: when people asked DHH about scaling, in the early days of Rails, he said isolate your bottleneck and offload that to a more performant language. His specific example was when Jamis Buck rewrote part of Basecamp or Campfire or something in C. What Twitter is doing is literally *exactly* what DHH recommended from the get-go. I think I heard him say it in Vancouver in 2006.

Christian Romney

Sorry, but I have to agree with Yehuda. The flippant quote in the MIT Tech Review about Rails being fine for "clicking around web pages" adds some context to the row as well. So while I also look forward to the day Ruby afficionados don't feel the need to be so defensive about their language, I also look forward to the day when people can move away from Ruby for a given application without feeling the need to minimize it on the way out.

Clinton Judy

Yehuda, I have to disagree with you. If this is the article everyone's referring to (http://www.artima.com/scalazine/articles/twitter_on_scala.html), then there's nothing in here about the Twitter guys dissing Ruby for being Ruby. In fact, they mention several things that Ruby has done really, really well for them. Like Steve Jenson: "We find Ruby and Scala are very complementary. We use Ruby, actually specifically Rails, for things that it is very strong at. All the front end stuff that it does very well." There are certainly reasons why they picked Scala over something like using JRuby, and I'm certain they didn't feel the need to justify everything in that article.

Best of luck to the Twitter folks.

Alexei

Scala brings an amount of productivity equal to Ruby, while bringing to the table several great features(Actors, Inferred static typing,etc).

Alex arguments are fine. I've seem benchmarks that showed Scala code to be even faster than Java in some scenarios. Jruby, Groovy, Jython are way too inefficient specially for intensive tasks such as MQs.

One thing I agree. For twitter people to be writing their own MQ app is complete insane. There are already several great open MQ solutions.

Christian Romney

@Clinton: http://www.technologyreview.com/blog/editors/23282/?nlid=1908

"The user interface runs on Ruby on Rails, which is "fine for people clicking around Web pages," he says. But by the end of the year, Twitter hopes to have a set of services in the back end that are written entirely in Scala."

*That's* the part that I think is glib.

@Alexei:

I'm learning Scala, and I've found much to like. It seems to be a wonderfully powerful language, but I've not found it to bring "an amount of productivity equal to Ruby".

Of course I concede that YMMV, and that the difference may be attributed to my being more familiar with Ruby than Scala at the moment. But my gut feeling is that it's probably got more to do with the relative surface areas of the two languages.

Scala's got a lot of stuff in the language proper that most other languages have in their libraries. I think it makes the learning curve much higher than, say, Clojure or Ruby.

Rakesh Juyal

Twitter guys must not have expected such growth. Should i say, they made a blunder by opting Ruby!!!

Robb Broome

Companies who are making the platform decision for a new site are always imagining that they will quickly become the next Twitter, so they reject Ruby/RoR right off the bat, maybe based on reading this news.

This is a terrible decision, since speed to launch is usually far more important, and the chances of becoming huge are just a tad remote. What is sure is that if you don't deliver a product, you won't become huge. If it happens, and your site blows up, you can probably afford to do some new development to speed things up.

If I were doing a startup effort right now, I'd think that RoR would be an ideal choice, especially considering that due to it's popularity there are new choices coming to light almost weekly. The rate of innovation around ruby is pretty astonishing.

Might you make an argument (or a reasonable bet) that ruby will gain capability as you need it (kind of just-in-time)? Again, assuming that you don't become the next Twitter overnight, but follow a sane growth curve, mainly because you can afford to be responsive to business changes.

Working on major sites in RoR, I've been pleased to see this just-in-time innovation happening already. Ruby certainly isn't perfect, but the ability to translate requirements to functioning code quickly outweighs many of it's disadvantages. I feel like using ruby is being on the crest of a very big wave.

tinou bao

languages don't scale--architecture scales. if twitter was having *performance* problems, then the language might be the problem. but they're having scalability issues. no language will solve that problem, it's an architectural problem.

chris

Unfortunately I dont' believe Ruby will be there big time in 10 years from now i.e it will still be a small niche player.

I have played with ruby myself a little bit, on and off since 2006 , I know I am a late comer. these are my thoughts about Ruby.

1) after so many years, it's still like 2% in the Tiobe ranking

2) its weak typing, many people have said this is an asset, but I don't. agree. Weak typing is a dsadvantage in my experience (working with very large apps in a big Financial Institution, running 24x7 ). Rubyists have always countered with a "do more testing" approach , but I don't agree this will catch all your problems. I believe you have to have strong typing combined with a "do more testing" approach is better, especially when you are working in large teams where every one can touch any code.

3) speed is still a problem after so many years, everyone knows it's a problem and yet the community is so slow to address that.

4) by the time, the ruby language and framework, has fixed its problems, the fad will have died and tne crowd will have moved on to the next big thing.

5) features in ruby is being and will be copied in existing languages and new languages

6) there are too many ways of doing the same thing in Ruby and this is a disadvantage as well, as this means if you are working in a big team, you have to learn every little nut and bolt of the language to be able support an application. that means, the learning curve is actually higher. In a one man team this is ok, because that one man picks one style and sticks to it and doesn't have to worry about other people's coding. It's like driving on the street, you don't have to think if the car next to you is going to drive left or right, and this prevents accidents. can you imagine for one moment that people are allowed to drive left and right in any direction ? what will happen?
I am aware that Saphire is trying to redo Ruby, with only one way of doing things. maybe this will help.


7) I think it's safer in terms of longevity of languages, to stay with Java and .net. because at some point Ruby will be forked and a new variant with a lot of differnt things added, will come out, fragmenting the market even more, which will reduce the current 2% to even less.


8) the big institutions are not doing Ruby. only startups, with basic CRUD applications form the majority of ruby's deployment.

9) the community looks and acts too amateurish.

10) last but not the least, the absence of a specification hurts the language. by the time the specs will come out and "accepted" by the community, it will be too late. Other " newer" languages like Scala will already be better established, further reducing the need for ruby.


anyway these are my thoughts. sure people may disagree with what I said, but every one is free to one's own opinion. Let's wait and see, only the future will tell whether one is right or not


anyway these are my thoughts.

TestEiffel

Why don't use Eiffel?

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Now in Beta

  • Programming Ruby, 3rd Edition
    Third Edition, Covering Ruby 1.9, now available
My Photo

Pragmatic Stuff

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from pragdave tagged with pragdave_badge. Make your own badge here.

Site Search

  • Google Search

    The web
    PragDave