The adage “you can’t teach a dog new tricks” couldn’t be more wrong in the case of Java. The coding language, that just recently celebrated its 20 year anniversary last month, continues to be one of the most popular programming languages in the world.
Due in large part to being so pliant across different platforms. Once an application developer writes an application for Java, it can be run on any machine that has Java installed. It’s this “Write Once, Run Anywhere” mantra that has made the programming language so popular for so long.
With that said, it might not be such a surprise that some of the largest most talked about applications in the world today relies heavily on Java.
Hadoop is an open-source software framework that, unlikes some of the other apps listed below, Hadoop was written entirely using Java. Used primarily to reliably, and at scale, distribute computing power, Apache’s Hadoop was released in late 2011, but won accolades for it’s data sorting prowess in 2008 when it won a Terabyte sorting competition put on my Yahoo!. The Java based application sorted 1TB of data in 209 seconds, beating the previous record of 297 seconds.
When asked why Hadoop used Java as its platform, Apache Hadoop creator Doug Cutting said this in an email: “Java offers a good compromise between developer productivity and runtime performance. Developers benefit from a simple, powerful, type-safe language with a wide range of high quality libraries. Performance is generally good enough. When it falls short, native code has been used to keep overall performance in line with C and C++.”
There is perhaps nothing more important to Twitter than scalability. The app is used today by over 300 million people to date, and that number is showing no signs of slowing down. In fact, the micro blogging platform and social media juggernaut is projected to have approximately 550 million users by 2020.
So why Java? The application actually started out as a showcase of what the Ruby on Rails language was capable of. Unfortunately, it became evident that RoR had inherent shortcomings when it came to handling live data requests. ie. searches being performed by a specific topic, or in Twitter’s case, #hashtags.
The “not so new kid on the block,” Square is built using myriad languages including Ruby and C++, among others. However, the payment stack, which is what actually handles monetary transactions, utilizes Java. Additionally, the third-party API layer users JRuby and Node.js.
When Wired asked why the app was built using Java in 2013, Square Chief Technology Office, Bob Lee, said: “Java is really the only choice when it comes to the requirements for a company like ours – extreme performance requirements and extreme scalability requirements. There is no viable alternative.”