Guess what, I still notice a lot of fail whales there on that thar Twitter (see image nearby).
Need I remind anyone that Twitter got into this situation by using the last language-of-the-week, namely Ruby. Only this time, the guy using Scala at Twitter is also writing a book about Scala. Surprised? I’m not.
Ruby on Rails was, and is, mostly a vehicle for people to write books and sell classes. It’s not a vehicle for making serious, high traffic websites. Those already existed. They were called Java and PHP. For serious, serious, high traffic websites, there’s still C++ (see: Google).
And now we have Scala. This is nothing more than yet another language put on top of the JVM like Groovy or Jython. Why is that important? It’s a semantic issue. Literally. It’s like taking Boo over C#. You’ve got the exact same functionality and speed at the VM level, but about 1/10,000th of the potential hiring base as you would with Java or C#.
I’m picking on Ruby on Rails and Scala a bit in this post, but you know where we should have learned our lesson about this? Java and C++. Creating languages is a business. It’s a business to sell development environments, sell server technology, sell books, sell methodologies, to lock you into SDKs and platforms. The C++ transition was pushed hardest by Microsoft. That should have told you something, but now we’re all doing it again with Microsoft by picking up C# (kudos again to the Mono team, btw for keeping C# real).
Anyway, people say the most important thing about choosing these languages is speed of iteration. That’s swell, until you get so many users that the technology you chose to iterate on fails miserably. I’d rather spend more time on development and get it to work well in deployment than believe in a myth that more servers solve every scaling problem. Only issues is you can’t sell books that way. Right guys?