DEV Community

Cover image for Is Rust going to Replace Java?
Rithik Samanthula
Rithik Samanthula

Posted on

Is Rust going to Replace Java?

Hey Coders!!

A lot of you have been telling me that rust is soon going to replace java.

Looking at the perspective of the number of people using java, I would say Rust isn't going to replace java.

I don't think a language can fully replace another one.

Oracle released Java in 1995. It is still used worldwide by so many developers out there.

I mean, sure, Java is pretty lengthy and we need another way to make it easier to write code.

Technologies such as Rust and Go function the same way as Java but they are written in shorter code.

Hello World Written in Java:

class Simple{  
    public static void main(String args[]){  
     System.out.println("Hello Java");  
    }  
}
Enter fullscreen mode Exit fullscreen mode

Hello World Written in Rust:

fn main() {
  println!("Hello world!");
} 
Enter fullscreen mode Exit fullscreen mode

Well, Rust does have a lot of new more interesting ideas and concepts but we don't know whether they are going to be adopted universally.

There are also a lot of other companies that have java code written in their programs.

One advantage of using Java is that you have a lot of libraries and APIs available.

Well, Rust doesn't really have as many developers as Java does.

Rust might not be large enough to become a conventional language.

The Final Reason why I think Java won't be replaced is because the entire company of Android has a lot of servers that run on Java.

Overall, There is a possibility that Rust could replace Java but it most likely wont.

I hope I answered your question and I hope you enjoyed this blog!

And don't forget...

Keep Coding Y'All 👨🏻‍💻

Latest comments (73)

Collapse
 
jimlynchcodes2 profile image
Jim Lynch

In terms of a simple REST backend, many companies choose to write this in Java, JavaScript, Go, Python, etc... because, well, they like the syntax.

But if you really want the fastest execution time and lowest dollar cost for your backend, yeah, probably Rust is the best choice actually.

People who realize this are probably expecting that the number of others who have realized this will increase over time and hence the usage of Rust will continue to grow and "steal market share" from other languages.

Collapse
 
lexiebkm profile image
Alexander B.K.

"Oracle released Java in 1995."
Uh... if Sun Microsystems still owned Java, we wouldn't be worried about license when using newer versions.

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

Better yet is Rust going to replace everything? lol

Collapse
 
jfftck profile image
jfftck

There are plenty of the first generation of high-level languages still in use to this day, a large number of banks built on COBOL and have no need to change, so the majority of systems built in Java have no need or reason to be rewritten. If Java drops to the same level of usage as COBOL today, there will be an event that would cause a rush of hiring of developers who know the language, just like the Y2K bug had seen COBOL developers being paid top dollar.

Collapse
 
anatame profile image
Anatame

Another dumb shit article.

Collapse
 
shubhampatilsd profile image
Shubham Patil

Yeah Rust has a pretty low chance since Java is everywhere, but Java might be on the decline for most aspects of development (in terms that i'll clarify next). If a new project were to choose a technology for their servers, they would choose JavaScript or Python. If they wanted a native Android app, they would most likely choose Kotlin, of if they wanted a cross platform app, Flutter/React Native. For games, Unity/Godot/Unreal are much more approachable than things like LWJGL and whatnot. Java is a great language to learn programming with, but I'm seeing less adoption of it in present time. Also yeah, Java is pretty popular still since 10 year old startups used them for their services and don't want to change the code. It's like with PHP: Facebook still uses it but you rarely see a new company using PHP.

Collapse
 
avantar profile image
Krzysztof Szala

Better ask yourself why would it replace Java at first place. Your question doesn’t make much sense.

 
siy profile image
Sergiy Yevtushenko

Just finished article which explains my views in details.

 
siy profile image
Sergiy Yevtushenko

This is common misconception. Conciseness is useful only up to the point where context is preserved. As soon as conciseness is achieved by dropping parts of context, it starts to be counterproductive.
And no, bugs are not the reason of productivity decrease. They are consequence of mental overhead and loss of context.
I'm writing an article dedicated to exactly this issue and how to avoid it in Java. Hope to publish it soon.
Link to more detailed review of why Kotlin is worse for backend development I've provided in other message.

Collapse
 
overdash profile image
Pro

See, a better argument here would be COULD Rust replace Java... not "is". No language will replace another, except a never version of itself - ask Python, PHP and JS. But arguing COULD rust replace Java would've made for a much better article.

Spoilers YES Rust can replace Java... but I'm 100% sure it never WILL replace it.

Collapse
 
waxolunist profile image
Christian Sterzl

Oracle released Java? Tell me more.

Collapse
 
peerreynders profile image
peerreynders

On May 27, 2008 Ted Neward published Dead like COBOL - Is Java ripe for replacement?.

And here we are 13+ years later. That type of legacy has enormous inertia.

If anything (one of my pet hypotheses is that) Google developed Go to de-emphasize the importance of Java within that organization:

  • eliminates OO dogmatism (in favour of a somewhat more procedural approach)
  • has a Pythonesk type of developer experience
  • can create standalone binaries
  • and most importantly: Not subject to constant harassment by Oracle
Collapse
 
siy profile image
Sergiy Yevtushenko • Edited
  • Instead of OO "dogmatism" it uses old-fashioned procedural dogmatism. That, seems, was not enough, so Go added generics and finally reached state of Java5
  • Go-style error handling and propagation produces enormous amounts of boilerplate noise, which makes business logic barely visible
  • Despite existence of Go, Google still uses and continues to write internally a huge amounts of Java code

Java also can produce standalone binaries, but this is not so often necessary. Didn't get your phrase about harassment. Perhaps it's something only you can feel.

P.S. I wrote commercial Go code and worked at Google (and their monorepo), so I know what I'm talking about.

Collapse
 
peerreynders profile image
peerreynders

You mistake me for somebody who likes Go — I don't. I think it was a particularly uninspired effort of 2007+ programming language design.

That said I'm aware that before Oracle got its mittens on Java it was one of the blessed four:

You have to play inside the fence defined by C++, Java, Python, and JavaScript.

Even when looking at the Closure Library I couldn't shake the impression that it was designed to appeal to the Java developer mindset — but that is just my personal opinion.

So it goes to reason that by the time Oracle acquired Sun MicroSystems in 2010 Google already had built up a substantial legacy Java code base that was too extensive to eliminate.

Didn't get your phrase about harassment.

Google LLC v. Oracle America, Inc.

Now that was largely about Android.

But it has a habit of getting into the headlines:

Thread Thread
 
siy profile image
Sergiy Yevtushenko

Sorry, for mistake, didn't mean to be offensive.

My experience with Google is much more recent and by that time Google actively used Java, both in existing and in the new projects.

As for harrasment: case between Google and Oracle is about money between two giant corporations. Despite how it was often represented in media, it was not battle between "good Google" and "greedy Oracle" about Java. And actually didn't presented any danger to Java. Anyway, the battle is over.

As for other cases, I really don't care. From the moment when Oracle made Java open source, their behavior is largely irrelevant - Java will survive regardless from Oracle actions.

Thread Thread
 
peerreynders profile image
peerreynders

The OpenJDK Transition: Things to know and do

This piece is by Rich Sharples, Senior Director of Product Management at Red Hat

Software vendors, including Red Hat, offer OpenJDK distributions and support to make sure that those who had been reliant on Oracle JDK have a seamless transition to take care of the above risks associated with not having OpenJDK support. It also allows customers and partners to focus on their business software, rather than needing to spend valuable engineering efforts on underlying Java runtimes.

More recently: Why Red Hat dumped CentOS for CentOS Stream

There ain't no such thing as a free lunch

Businesses need to get paid for their (commercial) support but the dynamics of how they ensure that they get paid should give one reason for pause.

Collapse
 
mate3241 profile image
mate3241 • Edited

Is the Oracle vs Google thing that bad? I honestly never considered the corporate aspect, so thanks for this.

Collapse
 
peerreynders profile image
peerreynders

Wikipedia: Google LLC v. Oracle America, Inc.

The other thing is that Oracle has a tendency to always look for better ways to fleece its customers — leading to corporate goals like this:

Migration Complete – Amazon’s Consumer Business Just Turned off its Final Oracle Database

Collapse
 
samhdev profile image
Sam Huddart

"Technologies such as Rust and Go function the same way as Java but they are written in shorter code."

This is just incorrect.

Java is compiled into byte-code and then interpreted by the JVM. Whereas rust is compiled to machine code.

Java itself forces hard OOP, hence the longer Syntax. Rust on the other hand has its lovely trait system.

Please do you research.

This article is horrible to read :)

Keep Coding Y'All 👨🏻‍💻

Collapse
 
ksaaskil profile image
Kimmo Sääskilahti

The article deserves its critique, but there's no reason to be mean and call the article "horrible to read". Everyone here is contributes and writes articles for free. Seeing comments like this can even scare other people from writing their own articles. Please be considerate.

Collapse
 
jafar4all18 profile image
jafar

The argument that hello world easier to write is so and so language so it will replace this language is flawed.
Hello world is much easier to write in c. But still Java and cpp replaced C because there was some flawed in pure function programming.
Java was designed this way for a reason.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.