Famously, when Twitter's Web2.0rhea app was suddenly embraced by digerati+dog in late 2007, its original Ruby on Rails architecture had more than a little trouble keeping up the endless stream of digital solipsism. But in mid-2008, the web's startup-of-the-moment quietly ported some of its core code to Scala, and according to …
Ruby doesn't scale?
Mock shock! Say it aint so!
Ok, really scalability is a relative thing. I've seen apps where going with a spring/hibernate framework couldn't scale.
But looking at SCALA? Sounds like someone wants to pick the language du jour.
Seriously, you want speed, simplicity and ability to do almost whatever you need, look at C. You want 'flexibility and OO' then consider Objective C. Considering that Cloud is the new buzzword and its reminiscent of leasing mainframe time back in the '70's and early '80's then going back to C may be just the next best thing!
I think this makes a lot of sense for Twitter. Essentially they are now a messaging backend that gets called by everyone elses front end. Rail's power comes from the MVC focused approach that excels in building web apps.
I think to say Rails offers no value in building out Web 2.0 apps is just plain wrong. It is extremely fast and flexible when it comes to building web apps quickly. If you want to high throughput messaging architecture though - look elsewhere.
Erlang could have worked well too.
Web2.0 language in a JVM?
I'll stick to Jython.
The Ruby Performance Fix
I think if you look at the Ruby way of doing things, when you hit a serious performance wall like he's talking about you write that part in C and just call it from Ruby. Which would, I'm sure, be faster than Scala, but lose the elegance of nicely written Ruby code. I guess it comes down to whether you are comfortable getting your hands dirty.
And what your new book is about, obviously.
"Web2.0rhea" "digerati+dog" "digital solipsism."
Puhlease. Whats with all the crappy hand rolled marketingesque buzwords? They are so overused and lame it isn't ironic or funny - just makes for painful reading of an otherwise interesting article.
If i wanted to read hot hair i'd browse back to 1999 and f*ucked-company.com
Wallace and Gromit are coding
"Then, in his spare time, one developer ported the code to Scala. According to Payne, the Scala queue could process the same message backlog in 20 seconds."
This doesn't compute at all. These guys must have lots of spare time and either horrible code (or maybe almost no code) as well as spare testing environments lying around. Amazing.
"Whats with all the crappy hand rolled marketingesque buzwords? "
You must be new here...
What's your environment?
If you need massive scaling and tons of hardware (as twitter does) then performance matters quite a lot since your hardware requirements can have quite a large impact on costs.
If you need a small-scale custom app and the question is 2 or 4 cores, the cost of development time vs hardware costs is likely to be more significant, even if you end up with 8 or 16 cores running the code due to its wild popularity.
Being able to scale to millions of users might not be what you need for your time-sheet application - being scalable isn't the be-all and end-all of software. Use what is appropriate.
Tux - have fish, will scale.
@Ian Michael Gumby
You are clearly either
b)making a sarcastic joke.
This guy Payne is *selling a book* people, This whole article is an advertisement.
Everyone knows that Twitter don't know how to architect a system, and that's why their application keeps falling over.
@Ian Michael Gumby
You beat me to it. For fast, compact code you use C, not some functional/object-oriented hybrid running on top of Java. Even in cases where a high-level language is more convenient overall, the most-used functions that consume a large portion of the processor time should be implemented as efficiently as possible. As much as it has improved over the years, Java is not efficient in large-scale systems.
@Ian Michael Gumby
u is d dinoso man. i's dis your objective c cos me n AC@15:09 n others is rockin wid ruby n scala n all kind o shit. innit.
Or something like that.
I showed my Scala code to my ninety year-old grandmother and she's now knocking out websites and AI apps that pass the Turing test all over the place. It's like telepathy in character form that stuff.
I think to make a statement like that, you need to define what you mean by "efficient". Development costs? Performance? Uptime?
- Stick a 4K in them: Super high-res TVs are DONE
- Review You didn't get the MeMO? Asus Pad 7 Android tab is ... not bad
- BEST BATTERY EVER: All lithium, all the time, plus a dash of carbon nano-stuff
- DINOSAUR SLAYER asteroid strike was DEVILISHLY inconvenient timing
- Bring back error correction, say Danish 'net boffins