Java forever! 12 Reasons for Java Prolonged Dominance

Original author: Peter Wayner
  • Transfer
Java foreverIt is easy to forget the significance of technology as soon as it is carried by a comet through the collective consciousness and extinguished by fiery death beyond the horizon. For example, Cobol - once this language was cult for an entire era, but now it can be compared only with rotten fish. Nowadays, any hipster programmer will mint you that Cobol is a crap, old and useless language. Java may be the next victim of "current" judgment.

The peak of Java book sales is a thing of the past. Inveterate Java utilities are no longer sexy enough for magazine covers. Java is already 19 years old, and progressive developers are passionate about such cutting-edge and up-to-date technologies as Node.js, Objective-C, Dart, Go, etc., wondering: “Java? Is this Web 1.0 artifact still alive? ”

A quick search on Dice.com reveals that working in Java is in bulk. If for iOS about - 2500 sentences, for Java - more than 17000. Of course, you can not fully rely on these numbers. But the fact that the Dice.com market for working in Java is potentially seven times larger than for the trendy iOS suggests that "old Java" feels pretty good.

Maybe this is because Java offers a business plan that is more attractive than giving away 30 percent of Apple’s revenue and keeping their fingers crossed in the hope that your application will be on the Top 25 list. In most cases, Java solves problems more useful than helping evil birds take revenge on equally evil pigs. Java is the basis of a number of platforms designed for software development and providing effective work on systems with different chip architectures. Java helps developers to solve server, client, and embedded systems.

Before we forget the huge contribution of Java to the IT industry and its role these days, I would like to voice 12 good reasons why Java not only survives, but also actively flourishes today.

Do not call it return; Java did not go anywhere, it dominates here and everywhere.

Java forever

Reason # 1: Unsinkable in a world of politics (often dirty)


The world of technology never gave Java a day of rest, its enemies were numerous and well-armed. Despite this, the language flourished. Many of her detractors are surprised that Java is still in good health. They too often listened to the opinions of Java haters and did not try to understand the reasons for its success.

The first big enemy of Java was Microsoft. This company saw in Java the most worthy successor to the unity that at that time was offered only by MS-DOS. Redmond criticized and fought Java from the start. Java was not successful for developing desktop applications, in part because the Java magic virtual machine started too slowly. Despite the slight slowdowns, in general, Java applications in Windows are quite usable.

For some inexplicable reason, Steve Jobs never liked Java. Even when the Mac was largely ignored by everyone except Adobe, Java did not give a chance. Java compatibility could boost development for the Mac, but for Apple, Java has always been a supporting actor. (In general, iOS smartphones work more smoothly than my Android, so maybe Steve was right)

Java also suffered from numerous internal disassemblies. IBM loved the language, but always fought with Sun. IBM’s decision to name its wonderful Eclipse IDE (Eclipse) was rather coldly accepted by the Sun people (the Sun guys never understood the business as well as IBM did).

Despite all the mistakes of the creators, Java quickly strengthened its position on the servers and became suitable for operation in the desktop segment. Each technology must float against political trends, and in the case of Java, it persistently floated further, proving that it is an excellent tool for solving problems.

Java forever

Reason # 2: Stream Magic


One of the strengths of the Java virtual machine has always been its ability to easily juggle multiple threads. The JVM is optimized for large multi-core machines, and it can easily manage hundreds of threads. Thanks to this ability, other languages ​​appeared on the JVM - cross-compilers and emulators are created that work on top of the JVM.

These magical features are used by many high-traffic websites. Developers write code on their laptop, and then deploy the application to a powerful server, where it uses multi-core power to its full potential.

Ruby is one of the modern competitors of Java. It has a cleaner syntax reminiscent of lively English. But still, when Ruby lovers need high performance, they turn to JRuby. This is a version of Ruby that runs on top of the JVM, providing much better performance under heavy loads with multiple threads. Having invested a lot of effort for reliable work with flows, engineers from Sun did not fail.

Java forever

Reason # 3: Java as the first programming language


Java is the primary language for Advanced Placement Computer Science (Advanced Placement (AP) - Curriculum and Exams for High School Students in the USA). This means that often, for students, Java is the first programming language. Thus, Java is further with them "in sorrow and in joy." When students later learn new programming languages, they compare with what is in Java. Even if they change Java to something else, their opinion is still based on what they learned “in first grade”.

Java has many advantages for learning computer science. Some programmers hate to specify data types, often calling it a “safety cushion” in programming. This may sound strange, but it's a great way for beginners to understand how a computer works. The requirement to specify data types makes them think about the internal structure of the system.

Some of the trendiest languages ​​do not use curly braces, because developers are annoyed by their proper formatting. Perhaps in some cases this is true, but these same curly braces may be useful to novice programmers to understand the nesting of code blocks.

Someone is trying to promote their own language, and in most cases creates a language with less strict syntax than Java. This is great, but a simpler and cleaner syntax is fraught with its dangers, which appear later. Someone thinks that "airbags" limit their freedom in programming, but Java inculcates good habits from the very beginning. In the future, having gained experience, the former "newcomers" will be able to tame more elegant and dangerous designs.

Java forever

Reason # 4: (Almost) Cross-Platform Compatibility


Java was not the first language for writing cross-platform applications, but it became the most popular. This does not mean full compatibility on different platforms - missing libraries or incompatible versions of libraries will easily bury your code. You cannot take the application desktop code compiled under JRE 1.7 and run it on the phone in Java ME. A miracle will not happen.

Sun, and now Oracle, is squeezing the maximum for cross-platform. When the code does not work, it is usually clear what the problem is. If you use the correct version of Java and you have enough memory, your code will work. Java developers can develop the application on their computer and then deploy it on the target platform, whether it’s a phone or server. If the necessary libraries are available for the compiler, the code will work. It's priceless.

Java forever

Reason # 5: Java Sustained Microchip Success


Java has never been a popular tool for developing desktop applications, but it has flourished in the mobile market segment, which, recently, has pulled up. The Android platform is built on Java from and to, and Android devices currently sell better than the iPhone.

This domination is not new. The stripped-down versions of the language and the virtual machine, known as Java ME, have been widely used in many so-called feature phones, which number in the millions around the world.

Combined, the dominance of Java is staggering.

Java forever

Reason # 6: Blu-ray


The Java language, once called “Oak,” was intended for TV receivers where Sun wanted to dominate. It was not possible to stick to the plan exactly, but Java still managed to find a cozy place in the living room. The Blu-ray standard is built around Java, and anyone who wants to add additional content to Blu-Ray will need to use the Javac compiler.

Blu-ray discs are not just raw video. Using Java code, you can change / add additional features and interactivity. Blu-ray discs are a mixture of compressed video and Java bytecode.

Java forever

Reason # 7: Braces just work


Fans of fashionable languages ​​such as Ruby, Python, or CoffeeScript are condescendingly watching Java (and C) force programmers to insert curly braces, clearly indicating the beginning and end of each block of code. Round, curly, and even square brackets are all a curse for these progressive developers. (I myself do not like brackets, and still nostalgic for how in some versions of Lisp you can close all open brackets with one square bracket)

But changing punctuation does not eliminate complexity, but hides them. Using empty space to indicate attachments makes you intuitively see what you cannot see. Space nesting works great if your expression fits on one line, but it becomes terrible if you have multiple levels of nesting. When I write in Python, I notice for myself that I am counting and recounting the indentation. If the code looks like English, it does not mean that it is as easy to understand as the sentence in English.

Java forever

Reason # 8: Groovy


If Java programmers need a cleaner and simpler syntax, dynamic typing, this is no reason to escape to new-fangled languages. They can use Groovy, a neat Java hack with a preprocessor that produces JVM bytecode. The language is fully integrated with Java - you can safely call Java libraries from Groovy code. It's like Java with goodies.

This flexibility allows programmers to independently construct a solution to their problems. When Groovy is slower (this often happens when using dynamic method calls), the programmer can always rewrite pieces of code critical for performance in core Java.

Java forever

Reason No. 9: JVM


The JVM was built and optimized for typed code with a static context generated by the javac compiler, but over time, language designers realized that the JVM could run code written not only in Java. If the compiler generates the correct Java byte code, the JVM does not care what language it was written in. The developers of Haskell, Scala, Clojure and jumped on the bandwagon of the "powerful Java electric locomotive" creating their own compilers.

Attractiveness is obvious. Sun / Oracle does its part in creating a cross-platform environment, and everyone else takes advantage of this. Sun / Oracle engineers comb the platform and worry about compatibility, and we write code in a language that we like.

Microsoft borrowed this idea (as well as much more) by creating C # and its approach to creating compilers for languages ​​running on the C # VM (CLR). C # programmers say they can write in different languages ​​- however, only on a VM under Windows. Amazing flexibility!

Java forever

Reason # 10: NoSQL Revolution Built largely in Java


Once upon a time, the database was an incomprehensible black box that stores information and quickly and efficiently answers requests. Then the NoSQL revolution came, the programmers realized that they could write their own databases and adapt the code to their needs. Most of the major players in the NoSQL market were written in Java. Cassandra, Lucene, ElasticSearch, HBase, and neo4j are just a few examples. In addition, there are some ACID-compatible databases written in Haskell and running on the JVM.

These databases are usually open source and easily embeddable. Someone runs them as independent services, someone embeds their code (in the form of libraries) in their own stack. In any case, the status of Java as a working language at the database level makes it easier for Java developers to figure out and work with these databases. Encodings or line breaks will not worry Java developers.

Java forever

Reason number 11: Minecraft steers this century


As Ruby continues to gather its share of fans, the next generation is falling in love with Java. Why? One word: Minecraft. It is written in Java. Young gamers who want to expand Minecraft must know Java in order to write plugins for Minecraft. This ensures that mature kids will certainly write in Java.

Java forever

Reason # 12: Open Source


Sun has always been one of the leaders in the Open Source community, but it has not decided to completely release Java. This did not stop Java programmers from writing a bunch of great libraries and projects under free open licenses. The Apache project continues to deliver many Java projects under a license that does not require much in return.

Sun finished releasing most of the code under the GPL in 2007. Since then, Sun and its new owner, Oracle, have tried to be good managers for the Java language. Sure, Oracle has tarnished its reputation with lawsuits against Google, but otherwise, the platform can be largely considered open and free.

There are plenty of haters, but Java is moving forward


Java certainly has its own problems. Java haters will continue to saliva and bang on the keyboard while posting malicious comments on the Internet. The garbage collector can cause hiccups and tremors. Data typing is a chore and cannot reject really bad code. Annotations are too complicated. New Java features are not developing as fast as they were in the past. Braces add some clutter. This list goes on and on.

However, none of the competing technologies was able to land so broadly and deeply on the shores of the IT industry. Although some of the Java problems are fairly easy to fix, fixes usually introduce their own problems.

After all, this is one of the benefits of Java. It can be changed and used for almost any task. You can replace most libraries with your own code if you need special functionality. Java is a very flexible open source language. Regardless of the limitations of the language and platform, practically any problems can be solved relatively easily. This means that Java programmers continue to be among the most productive. Despite the fact that Java books no longer dominate the bestseller list and Oracle releases updates not as often as we would like, Java continues to live and flourish.

Also popular now: