Your Performance Gains Probably Had Nothing to Do With Switching Technologies

Carlos Becker, on the topic of Twitter dropping Ruby for Java: 

Yeah, in the original post Twitter says that they get 3x more performance using Lucene and Java. The post is OK. The arguments are right. Your interpretation may be wrong. People like to generalize things. Like "Twitter says they get more performance with Java, so, Ruby sucks", which is not correct. If it was, maybe you could also use PHP, since Facebook uses it and it works for them.

Every now and then, it seems as though some hot new technology sweeps through the tech crowd. Praise is bestowed upon the new technology, and scorn is focused on the old technology. Less commonly, the old technology is revived on the basis of backlash against the new technology. That's pretty much the case here. Java was the old and busted technology replaced by the sexier Ruby, then people noticed that Java had its upside and we're back where we started. 

It shouldn't have to be this way. There are pros and cons to every bit of technology out there. Every tool has its use, right? 

As mentioned by Becker, this is somewhat encouraged by the way these platform-switch stories are presented and reported. Groupon, for example, recently transitioned part of its platform from Ruby on Rails to Node.js. If you read the blog post or some of the reporting on the subject, it would be easy to miss the fact that they resolved architectural problems (unrelated to the underlying technology) during the transition. 'Company X fixes a bunch of technical debt' is a lot less juicy of a headline than 'Company X sees huge performance gain after switching to new technology'.

Folks, don't get caught up in the hype. Think critically about your technology choices.