Twitter rebuilds on Java

Twitter rebuilds on Java

Summary: The web is experiencing a 'Java renaissance'. But did Java really go anywhere?


Blame it on the Russians. Wired's Cade Metz has an interesting account of how a visit to Twitter headquarters by Russian President Dmitry Medvedev three years ago led to a series of events that recently culminated in the social network's relaunch — written in Java.

twitter-bird-white-on-blue- image courtesy of Twitter
(Image: Twitter)

When the Russian president came calling in 2010, uptime was a real concern, and Twitter's management was worried that the system may not stay up during this big moment. So Twitter's engineers built a separate staging server, just for the occasion — to keep the fail whale away from Medvedev. It was one of those "a-ha" moments that sent Twitter's engineers looking for a language with more industrial strength than the current system, written in Ruby:

Twitter's engineers came to realize that Ruby wasn't the best way to juggle tweets from millions of people across the globe — and make sure the site could stay up during its headline moment with the president of Russia. The best way was a brand new architecture based on Java, a programming tool that has grown more powerful than many expected.

Indeed, while many development shops moved away from Java in favor of more lightweight, faster-to-deploy open-source and scripting languages, there appears to be a growing recognition that more resiliency is needed. "Like Twitter, many other companies have realized that Java is particularly well suited to building web services that can stand up to the massive amounts of traffic streaming across the modern internet," Metz observed.

The story here is that many of the hot social web properties have determined that Java — and, by extension, Java Virtual Machine — may have what it takes to support millions upon millions of daily transactions.

However, in the everyday enterprise, Java has been a part of applications and systems for years, and never really went anywhere. While many developers found open-source and scripting languages easier to work with and faster to deploy for many apps, Java has just kept chugging away at the core. Java's ultimate advantage is that the JVM container will run anywhere.

In a survey of 376 employers I helped conduct two years ago in cooperation with the SHARE user group, IBM and Northern Illinois University (as part of my work with Unisphere Research/Information Today Inc), we found the number one programming language skill sought was Java. (The executive is summary available from the SHARE website.) The chart below shows the languages in demand among enterprises:

For the most part, Java has remained a presence in enterprises. And now the hot companies of the 2000s and '10s are discovering it as well.


Percent hiring

Database languages (SQL, PL/SQL) 56%  
Java 56%  
C/C++ 42%  
Java platforms (eg, Java Enterprise Edition, Java SE) 41%  
Markup languages (eg, XML, HTML) 38%
COBOL 35%  
Scripting languages (eg, JavaScript) 35%  
Perl 20%  
C# 18%  
PHP 11%  
Ruby  5%  

Source: Closing the IT Skills Gap: 2011 SHARE Survey for Guiding University & College IT Agendas

Topics: Enterprise Software, Software Development, Web development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • It is almost 2014...

    ...and that survey was published in 2011...and probably conducted in 2010. Is it really still relevant?
    • I don't have anything against Java..

      ...But it has become stagnant the last several years and other technologies like C# and even JavaScript (nodejs, etc.) have been whizzing by. Java is still pretty solid, but like Cobol is starting to show its age and security problems.
  • misleading?

    As far as I know Twitter moved to Scala not Java. It is true that Scala runs on JVM but it's very different from Java. In fact, somebody from Twitter noted that it's very hard to go back using Java after working with Ruby for a few years.
  • Of course Java is still huge....

    Of course Java is still huge, is this really news? It runs great for making web applications.
  • Java is awesome

    My day job is C# developer, however, in a bid to develop some Android applications on the side, I've been playing around with Java. The transition is pretty simple as the two languages are very similar. The great thing about Java is that it's truly cross platform, unlike C# - Mono doesn't count as it misses a lot of the new .NET features.
  • Survey says 35% hiring for COBOL?

    The survey credibility drops when I see COBOL at 35%. I think the survey is of a small industry segment.
    • The survey is of large enterprises...

      Half of which have workforces greater than 10,000 employees. Hence, the inclination toward mainframes.
  • Java is crap....

    Too buggy.
    It has been off all of my systems and everything runs well without it.