DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

Will Java Trend Towards Obscurity?

I'm forking another conversation:

Word, this is prob a sub topic, but do you ever see anything replacing java?

Yeah, plenty.

Kotlin and Scala come to mind for obvious reasons. Swift, Elixir, Go, Rust, lots of newer stuff which can take Java's place in a lot of contexts where it's popular.

There's a long way to go, but I think Java will gradually trend down and have a lot of different languages take its place. And it will keep evolving and have a place forever. I haven't followed closely but Oracle v. Google can't have helped Java's place in the world.


via Stack Overflow

It seems like JavaScript is the only language with any kind of true moat on its popularity right now because it runs in the browser. And that will go away with WebAssembly.

I think "replace" is a bit too binary a term, but if the line in that graphic keeps going down, Java could easily lose its place as a very popular programming language.

Latest comments (55)

Collapse
 
lincpa profile image
Lin Pengcheng
Collapse
 
pancy profile image
Pan Chasinga

I really learned Java from writing Kotlin at work. My feeling is once you've closed that gap and learned how the JVM ecosystem works (how to start a project, install deps, restructure projects), then it becomes pretty trivial. My take is Kotlin is the only one that has the chance to "beat" Java. Nothing said it better than Google itself promoting it as an official language for Android, which is a major use case for Java today.

Collapse
 
dennyvasaya profile image
denny vasaya

If you are web developer, you may think so. because java rarely used for web development. PHP and node js preferred almost always. But when it comes to enterprise application development, I don't think java has any alternative. There is nothing as robust as java.

Collapse
 
lepinekong profile image
lepinekong

If you want a job in big corporate world between Java and Kotlin, you'd better still learn Java. Of course if you can learn both you'll have more opportunities ;)

Collapse
 
iuriimednikov profile image
Yuri Mednikov

Hi,

  1. Scala and Clojure were mentioned in comments, but they cannot be replacements for Java in any case. Do you know a good web framework for Clojure? That's a point. Scala is quite limited in its audience. And finally both run on JVM, not vice versa, not Java runs on ScalaVM.
  2. Java would still have a future in teaching, because it is a very good language to teach OOP and algorithms. It is easier than C++ to learn. And there is a lot of academic literature written for Java.

BUT
When I started my programming way, Delphi was incredibly popular, but after Delphi 7, the platform began to decline very fast. But it is still in use, there is a lot of software written in Delphi, that somebody need to maintain and update. And now you can get a good deal if you know Delphi (but on a very high level, not just Hello world). Nobody remembers Borland today; you can use Lazarus - open source replacement.

Maybe Java would come the way of Delphi? Who knows. Actually I don't care too much about it.

Collapse
 
rrampage profile image
Raunak Ramakrishnan

To put a different spin on this, some traditional Java "patterns" (SynchronizedSingletonFactoryFactoryBuilder, 30 circles of inheritance hell) are trending to obscurity as Java starts getting more functional features like lambdas, better pattern matching (coming soon) and record types. There are upcoming changes in JVM itself for value types, non-erasure of types for generics during run-time which will make JVM even better as a polyglot platform.

Collapse
 
alainvanhout profile image
Alain Van Hout

Just to give some perspective, try adding Ruby or JavaScript to the mix. Surely those aren't actually in decline.

Always keep in mind: lies, damn lies, and statistics ...

Collapse
 
rhymes profile image
rhymes • Edited

Ruby is a little bit on decline, at least on StackOverflow: insights.stackoverflow.com/trends?...

In comparison, look at what happens if we add Python insights.stackoverflow.com/trends?...

Collapse
 
alainvanhout profile image
Alain Van Hout

Indeed, and I don't really have the impression that Ruby is already partway fading into non-existence (as the graph somewhat suggests, given the decline and the general low absolute count itself). As to Python, in the graph it has overtaken Java, and completely overshadowed most other languages that I tried. Taking the graph at face-value, it would be reasonable to expect Python to be the only real game in town, but that surely isn't the case.

And that's my point about these kinds of graphs in general. As Inigo Montoya would say (if he were a statistician): I don't think that graph means that you think it means.

Thread Thread
 
rhymes profile image
rhymes

I agree :-)

Ruby is alive and well, Python had a surge because of data science, AI and ML, Java is alive and well (maybe less adopted by new Android apps, that's it). All of three are quite old languagues.

It's really really hard to effectively measure "obscurity".

Perl is the perfect example, I haven't heard about it in years, it's not the cool tool everyone is talking about anymore but it's not dead either.

Collapse
 
grayjack profile image
GrayJack

I hope Java language just dies out, I hate the languages, though I like the plataform

Collapse
 
darkain profile image
Vincent Milum Jr

Don't worry. C/C++ will trend and fade into obscurity, too. I mean, just look at all the micro controllers such as Arduinos and ESP chips that all are entirely based around C/C++ toolchains!!! oh... wait...

Collapse
 
thebouv profile image
Anthony Bouvier

Enterprise gets mentioned a lot when discussing Java, but tied to that also in non-enterprise environments is anyone doing data science.

Python and R might be the working languages of data science, but the landscape is held up by Java.

Think about all the Apache projects (Hadoop, Kafka, Solr, and so many more) -- those are all written in Java. Those aren't going away or being rewritten or replaced any time soon I don't think.

There's a lot more Java out there running amazing things that lots of devs just don't realize and just fall back on "Java is yucky".

Note: I don't program in Java, but I use a lot of things that are.