Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I read comments like this all the time on HN and Reddit. But it's hard for me to separate real professional experience at day jobs, from hobbyist wishful thinking in personal side projects.

All I know is that I attend a lot of Java conferences and meetups, and I'm STILL waiting to encounter a flesh-and-blood human in real life whose employer really wavers between Java and Rust. That's like choosing between a Humvee and a submarine, their optimal problem spaces barely overlap.



>That's like choosing between a Humvee and a submarine, their optimal problem spaces barely overlap.

You'd be surprised. For a lot of stuff Rust is a good fit, aside drivers and OSes, Java is too.

There are succesful full text search engines written in Java (Lucene, and Elasticsearch on top of it), there are succesful event streaming platforms written in Java (Kafka), there are succesful distributed data processing tools written in Java (Hadoop, Spark), databases (Cassandra), and very very high performance trading engines (LMAX), very high performing servers (rapidoid, smart-servlet), and other such things besides, all categories of which have been quite big domains for C/C++ (and thus something like Rust).


Where I work some teams are using Java, and some are just starting to use Rust. Different problem spaces entirely though, as you said. I've seen Java used here for ETL work, Modeling & Sim work, web apps, and Android. I've seen Rust on two projects, both were real-time or near-real-time efforts.

The competition I am starting to see is between C++ and Rust, with the few teams looking at Rust loving it. I did recently help write a RFP response that noted software will be written in C++ and Rust, and the RFP was awarded to us.

I am in a different world though, as I am a contractor for the DOD. It's more like a lot of small to medium sized companies than one big company, which is why some groups can use Java and others C++ and others Rust.

I have the same problem of differentiating between hobbyists and professional experience, both on HN and when interviewing. I had someone tell me they knew Java, then found out they had done maybe 5 months of Java work and didn't know some of the most basic things.

As for myself, in terms of writing professional software for clients, I've done the following, in order of amounts worked: Java, C++, Python, Javascript, Erlang, R, Ruby, Clojure, C, Scala, and C#. I've done Rust and Elixir in personal projects, but not yet for clients. I plan to transition to a full-time Rust project in the coming years.


Seeing a company (as opposed to a person) choose between Java and Rust would paint a very bleak picture for their future.

To me it's an indication that programmers are getting to run wild past the technical domain, after all trying to hire for a Java codebase vs a Rust codebase is enough to kill a company depending on the space due to salary expectations and availability alone.


You can make a very good case for any organization to replace

Java => Go

C++ => Rust

The Database and System software that was created in 2000s very much was based on Java. But modern, performant Database and System software is written in Go/C++.

https://landscape.cncf.io/


I'd definitely take Kotlin over Go. That you can reuse the java codebase is a huge win, but even apart from that the language is a breath of fresh air.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: