Can Java really be called the most popular programming language in the world? With some reservations, yes. Most modern companies use Java now and will use it for many years to come.

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 = Love

What 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 Java

We've considered Java's leading positions in the modern business environment. Because Java is so versatile and prevalent, beginners find it difficult to grasp all the areas where the language is used, how exactly large companies and growing startups use it, and where it is most useful.

There is nothing more unsatisfactory than hearing the phrase "Java is used everywhere" when you want to understand this issue properly. So it's best for us to look at real examples of successful companies whose business is inextricably linked with Java and the capabilities it offers. We will talk about several mass-market giants, companies that almost everyone knows and whose services many people simply cannot imagine living without.

Uber

Uber 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, 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 Java is largely responsible for the successful coordination of these processes.

Netflix

At 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 more than 1 billion hours of video content every month.

"The vast majority of services within our architecture are built on Java and the Java Virtual Machine (JVM)," says Andrew Glover, a developer at Netflix. "We are constantly running thousands of Java processes, and, as our platform grows, we do not seeing serious infrastructure problems." We also use many Java-based open source tools that make it easy to track, update, and scale our services."

"When a user opens Netflix, behind the scenes the system starts about a dozen different processes to authorize the user, determine which device he or she is using, make sure that the account is active, and look at the recent activity on his or her profile. All these processes are managed with Eureka, a Java-based open source tool," Glover said.

Twitter

Twitter, 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

For Priceline, a leader in online booking, Java is the key to efficiency and effectiveness. The language enables flexibility, performance, mobility, and huge reach.

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.

Without Java, several global services could not be successfully organized

At least in the form in which we are used to seeing them. So, if we look at all this from a global perspective, we can say that the entire modern world is impossible without Java.

Judge for yourself: nowadays who wants to hail a taxi, not through a convenient app, but in the old fashioned way, screaming loudly and waving your hands on the sidewalk? Who is going to call each hotel in turn to find an available room if an app does all that for you? And who can come up with a more convenient excuse to lure your lover than "Netflix and chill"?

Services and app that change our lives are written by Java developers. And this is only the beginning. Indeed, the possibilities for innovation are endless, and the demand for scalability, flexibility and global reach is only growing.