DEV Community

Cover image for Is Java still relevant in 2021?
SolveIt
SolveIt

Posted on

Is Java still relevant in 2021?

React, Kotlin, Swift, Python, React Native, Deno, Flutter, Java, how many other programming languages exist, new ones are added, old ones are forgotten, but what about Java? Is this language dead or is Java still relevant? Today SolveIt Java developer Stas Kolenchik will try to answer this question and give his expert opinion.

Java is a high-level object-oriented programming language with static typing developed by Sun Microsystems in 1995, later acquired by Oracle. Java code can run on any platform that supports the JVM (Java Virtual Machine). It is a virtual machine that translates human-readable Java code into processor-understandable code.

Therefore, you can run Java code everywhere for which the JVM has already been developed. For example:

  • Powerful servers;
  • Computers;
  • Smartphones;
  • Fitness bracelets;
  • GPS trackers;
  • Smartwatches;
  • Smart TVs, refrigerators, microwaves, and other home gadgets;
  • Smart cards for indoor access.

Nowadays, on forums and in countless articles you can find loud statements that “Java is dying” and “Java is a thing of the past”. All this is presented as “we should switch to another programming language” or “Java programmers are no longer in demand”. But all this is fundamentally wrong if you listen to the facts and statistics. Let’s take a closer look at these myths:

Myth #1: “Java is dying”

Alt Text

A huge number of programs have been written since the beginning of the use of this language, which is still alive and in need of support, such specialists will be in demand for a long time to come. Java is used in world-famous companies like Google, Netflix, Facebook, Amazon, Oracle and IBM.

If we look at the statistics, based on JetBrains’ research, Java is the most popular programming language of 2020. But since it’s still an old language, it has disadvantages. Let’s take a look at them.

Cons of Java:

- Unconventionally implemented object-oriented approach to programming

The fundamental reason why Java cannot be a fully OOP language is the presence of primitives. Since version 8, a functional programming approach has been added to Java when working with collections.

- Code verbosity

Multi-word code is not the highest performance. Where C++ uses one command, Java requires five.

- Limited applicability

To develop websites, create games, operating systems, drivers, you should turn to other programming languages.

Alt Text

Pros:

- Well implemented multithreading

- Multi-platform

- Large Java community

All the bugs have already been committed and described by someone else. On stack overflow, you can find answers to almost any question.

- Fast project estimation

At the time of estimating the timing of the project, you can predict quite accurately in what timeframe the product will be ready. Of course, mistakes will be made, but they will be insignificant compared to JavaScript, for example.

- Relatively fast creation of new features

Thanks to Java it is possible to do this in a short period of time by connecting ready-made solutions in the form of libraries that have already been implemented by someone else and there is no need to write all the code from scratch.

- Java-Dad

To start your career, this programming language is great. It will help you understand object-oriented and functional approaches, thanks to all the features. Once you understand it, you can understand any other programming language.

As Java is a high-level language with a long history, it already has a strong community that has worked with all sorts of programming cases. Thanks to the java-community and internal library, it is possible to take code that has already been worked on, rather than writing it all over again like in other programming languages. The library keeps growing and Oracle keeps investing, new versions and features appear, so it’s safe to say that Java is more alive than ever.

Myth #2: “Java is in the past”

Alt Text

In order to accurately dispel this myth, it is necessary to cite a few historical facts for Java:

2011 — Oracle acquired Sun Microsystems, thereby acquiring Java and actively investing in its development.

2014 — Java version 8 was released, becoming a major event in the programming world, the language was appreciably changed and upgraded.

2018 — a new release cycle. It was decided to release new versions in small iterations, rather than large-scale updates once a year. This allowed new features to be added quickly, tested and released again.

2020 — Java became the most popular programming language.

Alt Text

So it is impossible to say that Java is a thing of the past. Yes, it is an old language with its history and shortcomings, perhaps somewhere conservative views on new releases and features. However, statistics, a lot of information, codebase, projects and people in the java-community say the opposite: Java will be in demand for a long time to come.

How to choose the right programming language for your next project?

In addition to choosing one of the leading languages in your particular niche, you should consider:

- The demand for the language in a particular region;

- Libraries and frameworks for that language;

- Level of support in the community;

- Recommendations of the development company. This is probably the most important thing to consider when choosing a programming language.

A classic situation: the customer chooses the fastest and cheapest option on the wrong technology, ignoring the need for future support and expert advice. Incorrect choices and unrealistic deadlines lead to a large number of bugs and, as a consequence, an increase in the budget. At the same time, the product needs to be supported.

A checklist for choosing a programming language for your project:

Alt Text

  1. Consult with the development company that will be making your product;

  2. Ask for an estimate of the project with the developers’ rate;

  3. Analyze how popular the language is now. This will determine how easy it will be to find support in the future.

Originally published at https://solveit.dev.

Top comments (2)

Collapse
 
robvirtuoso profile image
Info Comment hidden by post author - thread only accessible via permalink
robvirtuoso

NO.

Collapse
 
tanzimibthesam profile image
Info Comment hidden by post author - thread only accessible via permalink
Tanzim Ibthesam

It might be not best option for making web applications but for native mobile and many enterprise apps its still an option with lot of jobs m not even a Java developer

Some comments have been hidden by the post's author - find out more