Virtually nobody challenges the fact that Java is one of the most popular programming languages based on literally every major criterion. However, to avoid making claims without evidence, here is some basic information and statistics.
TwitterTwitter, the world's most popular microblogging service, appeared in 2006 (ancient times by the standards of the Internet industry). In its early years, it had huge problems with performance and stability as its user base grew rapidly. The service crashed so often that a screen with an image of a white whale, which users would see when Twitter was down, has become a meme. However, since the end of 2010, Twitter has become much more stable. In the last few years, it has achieved excellent uptime indicators, so the drowsy white whale has been forgotten. Who should be thanked for this change? Java, of course. Robert Benson, senior director of development at Twitter, mentioned this in an interview. According to him, from the platform's inception, Twitter developers have thought a lot about the service's architecture and how to most efficiently process the huge number of requests from users every second. And today, Twitter has more than 200 million active users who post more than 400 million tweets every day. After several years of analysis and searching for the best solution, Twitter's engineers came to use the Java Virtual Machine, which makes it possible to scale the system horizontally and cope with the load. Twitter developers have moved most of the company's most critical systems to services written in Java and Scala, which run in the JVM. That's why Twitter is now pretty stable around the world and is even capable of painlessly coping with peak periods of high load that occur during high-profile events such as the World Cup finals or US elections. The system also allows users to find news about events that occurred just a few minutes ago.
Priceline is an app for booking hotels and apartments around the world. This service is slightly less well-known in Europe than in the United States, where it is a leader. Priceline is part of Booking Holdings, which also includes several super popular booking services, namely KAYAK, Rentalcars, Booking, OpenTable and Agoda. So the aspects of using Java mentioned below are largely related to these services as well.
Despite the fact that the process of searching for and booking hotels looks quite simple to the user — you just need to enter your desired destination and dates — complex systems with many simultaneous processes are running "behind the scenes" at services such as Priceline. A simple search query triggers a series of interactions and connections to various hotels, airlines, databases, and booking systems around the world.
For example, searching for a hotel to book a room somewhere in New York creates up to 500 simultaneous requests to hotel systems and various intermediaries. Considering the fact that thousands of users can search for hotels on the system at the same time, the main difficulty for Priceline and other similar aggregators is managing this complex matrix of requests and connections that occur in real time. This is where our superhero Java saves the day by allowing the service to quickly and efficiently receive information from databases around the world in response to these requests. In the case of Priceline, the company's loyalty to Java is so great that Michael Diliberto, CIO for Priceline's North American division, once noted that Java is "a way of life" for the company and that they can't imagine their existence without the language.
Java is kingCan Java really be called the most popular programming language in the world? With some reservations, yes. Most modern companies in every industry and market sector use Java. And, importantly, they will use it for many years to come thanks to the availability of a huge pool of developers who can be hired, as well as the presence of frameworks and existing code, functions, and applications. More than 95% of corporate computers use Java, more than 90% of all computers use Java, and the number of mobile devices that use this language exceeds 3 billion. So, it isn't surprising that almost any somewhat large company anywhere in the world uses Java and hires Java experts.
Java + Android = LoveWhat made Java so popular initially? First of all, its cross-platform support and versatility. Java's flexibility makes it possible to run programs written in this language on almost any device, including desktop PCs, mobile phones, and even most other devices, from smart machines to household appliances, which nowadays are also getting smarter by the hour. Of course, Java's popularity and strong position in the modern world is largely thanks to mobile platforms, more specifically, the Android operating system. And that makes sense: no application today can do without a mobile version, Android sits atop the throne of mobile OSes, and Android development is simply unthinkable without Java (there is Kotlin, but that's a separate topic). So it is that most large modern companies, which rely heavily on versatile mobile apps, simply cannot live without Java. Java's leadership position and statistics confirm this. According to the TIOBE index, Java is the most popular programming language in the world with a 16% reach, ahead of C and Python.
Top companies and unicorns. How they use JavaWe've considered Java's leading positions and ubiquity in the modern business environment. Because Java is so versatile and prevalent, beginners sometimes find it difficult to grasp all the areas where the language is used, how exactly large companies and growing startups use it, where it is most useful, and why it is important. That's why we decided to prepare a short overview of a few successful and popular IT companies whose business is inextricably linked with Java and the capabilities it offers. In this article, we will specifically talk about several mass-market giants, companies that almost everyone knows and whose services many people simply cannot imagine living without.
UberUber is a quintessential example of a successful company whose business is built around a mobile app, which in turn is based on Java. What makes Uber (and similar services) so attractive and popular? The fact that a user can open the app and order a ride almost instantly. The Uber app shows where the car is at the moment, its destination, and the arrival time to the nearest minute. Uber even displays the license plate number, color and make of the car, as well as the name of the driver, allowing the user to recognize the desired car almost instantly. The payment process is also quick and easy — the app charges the user's credit card automatically. All this is possible thanks to Java. The realities of modern digital business are forcing companies to create new mobile apps that are available 24/7 and satisfy a customer's demand for goods and services within a few minutes of ordering. To meet this demand, more and more companies are quickly turning to Java. To a large extent, Java, in combination with constant improvement of the code, is why users of the latest version of the Uber app have access to so much information (in the form of graphics and more), as well as many functions and features. For example, the app lets you see the cost of a trip and track fare changes depending on the time of day, weather, and other factors. You can also choose cars with different comfort levels or share a ride with other users if they are heading in the same direction. For these features to work, dozens, sometimes hundreds, of background processes are needed, and yes, once again, Java is largely responsible for the successful coordination of these processes.
NetflixAt present, everyone's favorite video service processes as many as 2 billion requests for streaming content every day. All thanks to a Java-centric architecture. Netflix is the most popular online TV network (if you can call it that) in the world, and its service model and interface have become a standard. For a small monthly fee, about $10, Netflix users can watch any number of movies and TV shows, at any time and on any device. Java's scalability played a key role in Netflix's success, allowing the company to increase its user base to 57 million in more than 50 countries. This audience views over 1 billion hours of video content every month. "The vast majority of the services running within our architecture are built on Java and the Java Virtual Machine [JVM]," says Andrew Glover, director of delivery engineering at Netflix. "Netflix uses a stateless architecture, so as we bring in more customers, we are able to bring up more instances relatively easily. We have thousands of Java processes running all the time. Yet as we grow, we don’t have huge infrastructure challenges. We also have a lot of open source tools that are Java-based, which makes it easy to monitor, upgrade, and scale our services." "When a customer launches Netflix, behind the scenes the system kicks off about a dozen different processes to authorize that person, figure out what device he or she is using, make sure the account is current, and look at their recent activity. That kind of orchestration is done with Eureka, an open source tool based on Java," Glover said.
PricelineFor Priceline, a leader in online booking, Java is the key to efficiency and effectiveness. The language enables flexibility, performance, mobility, and huge reach.
The photo from Priceline Press Center