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.

You are viewing a single thread.
View all comments
38 points
*

Java gets a bad reputation from proponents of FOMO/fad-driven development, but the whole Java ecosystem was built for the web. Anyone is hard-pressed to find a better tech stack than Java-based frameworks without resorting to hand waving and passing personal opinions as facts.

I love C# and the whole .NET Core ecosystem, but even I have to admit it’s very hard to argue against java.

permalink
report
reply
19 points

fad-driven development

This is certainly a way to dismiss all other programming paradigms, I suppose. Also, having used both C# and Java, I can’t see myself writing another backend in Java again when C# is such a pleasant language to write in. Both languages have flaws of course, but I find C#'s significantly more tolerable than Java’s.

permalink
report
parent
reply
16 points
*

Exactly. The only reason Java is remotely tolerable today is because of influences from those ‘fad’ languages. Kotlin and Scala were also fads when they came out, they just got adopted because Java was utter shit at the time. Hell, even Java was a fad at some point in time.

permalink
report
parent
reply
6 points

I think a strong argument could be made for the JVM as a whole to be honest, since it encompasses several languages. That being said, I’m not sure I’ve seen a backend written in Kotlin despite how prominent it is for app development.

permalink
report
parent
reply
1 point

The only reason Java is remotely tolerable today is because of influences from those ‘fad’ languages.

This might be your personal opinion but it is not a very informed one, or in touch with reality. Java frameworks such as Spring still dominate the backend ecosystem and some FANGs still standardize their backend development around it.

permalink
report
parent
reply
1 point

Scala got adopted? https://insights.stackoverflow.com/trends/?tags=scala%2Cc%23%2Cjava their business model is killing the language

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply
-4 points
*

This is certainly a way to dismiss all other programming paradigms, I suppose.

My comment has nothing to do with paradigms.

In fact, your strawman is proven to be false by the fact that there is no mainstream tech stack for the web which is not object oriented and provides a request pipeline that uses inversion of control for developers to pass their event handlers. They all reimplement the exact same solution and follow the exact same pattern to handle requests.

permalink
report
parent
reply
4 points
*

Your original comment and this one are exactly what you criticized in your first comment - opinions presented as facts. I encourage you to branch out. You might find that there are other languages and frameworks out there doing cool stuff, and IoC occuring even in the lowest level of languages.

Edit: Since you love facts so much, let’s look at some numbers. According to the Stack Overflow 2023 survey:

  • JavaScript, Python, and TypeScript (which is apparently separate from JS here) all are more popular among professional developers than Java. C# and Java are toe-to-toe, with Java only 1.33% ahead (negligible at scale), while JS is more than twice as popular as both languages.
  • Node.js takes the lead for web-based frameworks, with Express being the most popular listed framework that I can see. Both flavors of ASP.NET are more popular than Spring Boot among professional developers, and people have been moving towards .NET Core for years now. Flask is only 2% behind Spring Boot as well, and being a Python-based framework, does not use traditional IoC and instead follows more of a service-locator pattern, where many request-related variables are stored in what is essentially thread-local static state.
  • Although meaningless on its own in my opinion, it’s still fun to point out. Java is one of the least admired mainstream languages in the survey, falling at 44.11%. It falls behind C++, C#, JS, Python, and TS. The most admired language falls back to Rust for… I forget how many years in a row, which isn’t even an object-oriented language (though borrows some concepts from them).
permalink
report
parent
reply
10 points

I can’t describe it. Java is a good language. I just don’t like it, don’t want to write it, am sick of dealing with its build tooling, and have worn thin of all the IDE’s-do-all-the-work-for-me mentality. Good Java programmers are excellent but they are eclipsed by an army of people that haven’t any idea how it works… in my experience.

permalink
report
parent
reply
5 points

Just use scala or any other decent JVM language then :)

permalink
report
parent
reply
2 points

It may be an opinion, but pointing it out won’t make me like java any more.

permalink
report
parent
reply
5 points

Just switch to Kotlin. You get all the benefits of Java with hardly any downsides. Modern language with modern features that is incredibly enjoyable to work with.

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.1K

    Monthly active users

  • 1.8K

    Posts

  • 30K

    Comments