What are your opinions on the future of back-end web development? Is the Java ecosystem going to wither away as more modern and better solutions are emerging and maturing?
If so, which language/framework and/or programming paradigm do you think will become the new dominant player and how soon?
Personally I would love to see Rust becoming a new standard, it’s a pleasure to write and has a rapidly growing ecosystem, I don’t think it’s far away from overtaking Java. The biggest hurdle imo is big corporations taking a pretty big risk by choosing a relatively new language that’s harder to learn compared to what has been the standard for decades.
Playing it safe means you minimize surprises and have a very large amount of people that are already experts in the language.
Taking the risk will definitely improve a lot of things given that you find enough people that know or are willing to learn Rust, but it also means that you’re trading off Java flaws with Rust flaws. That’s the case however with every big change, and Java flaws are a good enough reason to make a big change.
I’m surprised no one has mentioned golang. We have the usual dichotomy of java and rust but there’s a very very good option for those who are worried about rust adoption.
I vastly prefer writing rust code but go on its own gets you very very similar performance at the cost of developer experience. I think sum types are the #1 requested feature so once that comes I’ll be a much happier boy.
I think Golang had the potential to take over just because it’s so easy to pick up and start contributing.
My last position was Golang focused and our hiring was never focused on experience with the language because we knew that if you understood programming concepts you would succeed in Golang.
Today, I’m working on Rust and while I enjoy it for what I’m using it for (Systems level instead of Web Services) I’d be hesitant to suggest it for most backend application just due to the ramp up time for new developers.
tl;Dr Golang will have an easier time hiring for because no language specific experience is required.
In the long run, three players can remain standing:
- The obvious choice - it’s (currently) JavaScript, because some of us will always follow highlander rules. It used to be PHP, when JavaScript wasn’t popular yet, at the dawn of time. Before that it was Perl because CGI. Python and Java arguably each had a moment sometime between Perl and JavaScript.
- Whatever is fastest for high performance - odds favor golang, but I’m just guessing. Could honestly still go to C. Many languages have died before unseating C in high speed contexts.
- Whatever has the best library support. - In my random opinion, there’s currently a run-off between Python and NodeJs to unseat PHP and Java.
My team is trying to shift away from Java towards a TS backend. Call us stupid but our current Java stack is a nightmare to work with.
Personally I would love for us to do a Go or Rust based backend, but we’re basically a startup with a rotating set of employees so I don’t see that happening
deleted by creator
Serverless will forever be stuck as a tech that’s only good for majority async stuff because of cold boot speed, scaling costs, and general latency.
deleted by creator
I’m talking mainly about serious backends that perform complex logic, not just CRUD operations
deleted by creator