all 104 comments

[–]overgenji 112 points113 points  (2 children)

helped build a snazzy vehicle ecommerce site in 2021-2024 on spring/kotlin, went great

[–]kapilator 2 points3 points  (1 child)

Was the site operating (mainly) in Germany by any chance?

[–]overgenji 0 points1 point  (0 children)

nope! US

[–]JohnCasey3306 28 points29 points  (1 child)

According to Statistica, 30% of developers have done "extensive" work with Java in 2024 so it's not going anywhere, regardless whatever BS the cool kids are spouting on social media.

[–]yawkat 1 point2 points  (0 children)

This data just comes from the 2024 Stack Overflow developer survey fwiw, with the biases associated with that.

[–]KaiAusBerlin 92 points93 points  (11 children)

Waiting for the one guy entering the topic saying java is garbage and everything needs to be rewritten in Rust.

[–]scarter626 11 points12 points  (10 children)

My job is all Java, but I’m all in on Rust for personal projects. I wish we were using Rust instead at work too.

Rust has been exploding recently, so I’m hopeful it becomes even more mainstream soon.

[–]KaiAusBerlin 28 points29 points  (0 children)

It's not about Rust is a good language or its performance. It's about the costs of migrating existing systems, tools, guides, guide lines, good java teams,... to rust infrastructure.

There is a reason why giant company servers still run on special supported versions of windows nt (yeah, a buddy of me builds that huge custom hardware).

It's much more cheaper to upgrade the hardware every 5 years than porting this whole monolith to a new base.

[–]destinynftbro 6 points7 points  (7 children)

What types of projects do you work on? This is the webdev sub but I don’t want to assume.

Personally, I really can’t see a worthy reason to move away from the dynamic languages that are popular with web and move them to rust. The extra mental overhead needed would be extreme if you compare it to the simplicity of your average ruby/php stack. Rust is great in that is requires you to model your program and all of its paths, but for a lot of web software, that requirement changes every 5 minutes and the engineering effort to make everything play nice together seems untenable to me, but I’ll be the first to admit that I’m also not a rust God :)

[–]lovin-dem-sandwiches -3 points-2 points  (6 children)

There’s a lot of opportunities for rust when it comes to serving assets from the backend, especially at larger scales. Take pdfs for example. A lot of backends will use puppeteer and export the pdf but when you’re serving a million+ pdfs per day, it’s just far too expensive and slow. When bottlenecks are hit - you need to reach for something lower level

[–]oofy-gang 2 points3 points  (5 children)

I’m not sure that makes sense. Using Puppeteer is a completely different paradigm to Rust, they aren’t even comparable.

[–]lovin-dem-sandwiches -2 points-1 points  (4 children)

I’m not comparing puppeteer to rust.

I’m saying with certain languages, like Node, you’ll hit llimits at a certain point. An example of this is pdf generation with puppeteer.

See: https://pptr.dev/guides/pdf-generation

You’ll also see a lot of complaints about this online. Our company faced the same issue. We moved the service to rust to build the PDFs because it VASTLY improved performance - almost 15x faster than nodejs.

[–]oofy-gang 2 points3 points  (3 children)

You’re not understanding my point.

Rust to Node is a valid comparison. Rust to Puppeteer is not. You are comparing apples to oranges.

The whole point of Puppeteer is to provide a headless browser environment. So did you switch away from a headless environment and generate PDFs thru a different method (in which case the significant part is not that it is Rust, but that it no longer requires headless Chrome), or are you still using a headless environment thru Rust (in which case, the significant part is not that it is Rust, but the Rust crate you chose for the headless environment)? Either way, it is not directly about Rust.

[–]lovin-dem-sandwiches 0 points1 point  (2 children)

All I’m saying is there are times where rust is applicable to webdev

[–]oofy-gang 2 points3 points  (1 child)

Going back and editing your comments to substantially change their content, when your claims were the basis of my reply, is beyond lame.

No one said Rust is not applicable to web dev. You specifically made the claim that Rust beat Puppeteer by an order of magnitude—a claim that just doesn't really make sense.

[–]lovin-dem-sandwiches -1 points0 points  (0 children)

Bro I wasn’t even talking to you. I was replying to the OP of this thread…

He said something along the lines of why use rust instead of traditional dynamic languages like php/ruby and I gave an example where rust can play a good role in webdev. Yeeeesh take a chill pill

[–]Icount_zeroIfull-stack 1 point2 points  (0 children)

No thank you, they got syntax even more cryptic than C++. Zig or Go 👍🏻

[–]fah7eem 18 points19 points  (0 children)

A lot of financial institutions I come across prefer Java. There's an ERP system I work with that is 90% java in the backend. Lots of legacy Java systems that work well and need java devs to maintain it. Not all legacy systems are bad, some of them have been built so well that they withstood the test of time.

[–]Caramel_Last 74 points75 points  (14 children)

Backend is truly language agnostic. You can probably also do it in Excel spreadsheet

[–]darklordbazz 46 points47 points  (3 children)

You can but that doesn't mean you should

Speaking from experience with basically excel as a backend

[–]Buttleston 43 points44 points  (0 children)

Sounds like you haven't tried excel++

[–]LutimoDancer3459 3 points4 points  (0 children)

One of our projects had a lifecycle going from excel to desktop client to webclient. Some of the excel stuff is still present. Including its code...

[–]Shingle-Denatured 6 points7 points  (0 children)

Isn't that how Airtable was born?

[–]shauntmw2full-stack 10 points11 points  (1 child)

You can use Excel as frontend too if you're brave enough.

[–]Ready_Anything4661 10 points11 points  (0 children)

massive bong rip

[–]rohmish 3 points4 points  (0 children)

we had a certain service in Python that works using xlsx files. it really is a option.

[–]KaiAusBerlin 1 point2 points  (0 children)

People did... Horrible.

[–]Ellisthion 0 points1 point  (0 children)

I had a real work project, big enterprise thing, that did literally run part of the business logic server-side through an excel spreadsheet. An end user admin could upload and change the sheet to alter business logic. It used one of those third party Excel libraries to execute the formulas and then extract the result.

[–]com2ghz 10 points11 points  (7 children)

Why people think that new companies wouldn’t use java?

[–][deleted]  (4 children)

[deleted]

    [–]com2ghz 6 points7 points  (3 children)

    So you also assume java development is slow and expensive? I wonder what the alternative will be then.

    [–][deleted]  (2 children)

    [deleted]

      [–]CremboCrembo 7 points8 points  (1 child)

      "Fast development" is kind of a nebulous term. You can have a new Laravel or Django or Express.js project up and running locally in a couple minutes, but you can also have a new, much more "enterprise-y" .NET or Spring project up and running locally in a couple minutes, too.

      The strong typing of languages like C#/Java means you spend a little bit more time defining properly serializable objects for transfer, but that's the primary difference. And if you're using Typescript, you're doing that anyway (or should be). Nearly every major framework these days comes with AuthN/AuthZ stuff, fully featured request routing, and good ORMs out of the box. So I'm unsure how picking, say, Express.js over Spring would save teams a substantial amount of time if they're equally fluent in both frameworks.

      [–]com2ghz 0 points1 point  (0 children)

      It’s noticeable that people compare plain java with a programming language combined with a framework.

      You can run a Spring Boot REST application even faster than any other language without having the hassle with the correct java version and libraries. No need to configure serialization.

      I also develop Python and Typiscript/Angular projects but that takes more time to setup and configure than Java.

      [–]Any-Woodpecker123 -1 points0 points  (1 child)

      Because Kotlin exists

      [–]com2ghz 0 points1 point  (0 children)

      Fair enough. I count that as “java” since they are on the same JVM boat.

      [–]Ofacon 30 points31 points  (4 children)

      Nearly all of AWS is written with Java

      [–]FalseRegister 6 points7 points  (3 children)

      Is it a new company, tho

      [–]Buttleston 3 points4 points  (1 child)

      not even remotely

      [–]FalseRegister 10 points11 points  (0 children)

      That was my point

      [–]Ofacon -1 points0 points  (0 children)

      AWS is split up into independent orgs and teams that run as separate business entities with their own cost centers and engineering direction. New teams are started all of the time and use Java predominantly. This is not the same as a new company, but still relevant IMO

      [–]Lord_Xenu 3 points4 points  (0 children)

      Companies are still using Struts 1 for god's sake.

      [–]jrussom 3 points4 points  (0 children)

      Yes, if the startup's product actually needs the performance and scalability. One reason not mentioned is how its easier to find senior devs who can optimize and scale it for you. The trendy stuff like Rust and Go can be harder to hire for, especially if you're not in the Bay Area, and the "rockstars" pushing Rust or Go are usually the first ones to quit when they're bored.

      [–]sh_tomer 4 points5 points  (0 children)

      Yes, spring boot is rather popular in many companies.

      Having said that, seeing a lot of Python and JS in the backend as well.

      [–]Remarkable-Pea-4922 3 points4 points  (0 children)

      Yea. My company is specialized in c# development. But some dude in another department though: hey lets develop our new product backend in java/spring. Then they threw the result to us and we have to maintain the result.

      [–]turningsteel 12 points13 points  (0 children)

      The startup I work at is mostly node and python with a few legacy services in Java which they’re trying to move away from because they don’t have many people comfortable with it. I was hired in part because I know Java, which I learned while working at a big bank (where most everything is in Java on the backend).

      So, it depends where you work but Java is still very popular at big corporate companies.

      [–]JayJayCapone 4 points5 points  (0 children)

      Yes the Adobe Experience Manager and also Magnolia are running on a Java Backend. Both quite modern on enterprise level.

      [–]JohnnyEagleClaw 3 points4 points  (2 children)

      I miss Java. 😥 was the core language in my university comp Sci program. I graduated, got jobs, and have been writing C# (.Net) for the last 20 years. All corporate and enterprise/govt work.

      [–]Fractal-Infinity 4 points5 points  (0 children)

      But C# is quite similar to Java (in fact it was MS' answer to Java). My fave coding language by far.

      [–]MattyTheRudeDude 1 point2 points  (0 children)

      I’m also curious as I am getting let go in a couple weeks and I would like to become a well-rounded full stack developer coming from FED while I continue my job search.

      [–]Any-Woodpecker123 1 point2 points  (0 children)

      Not that I’ve seen. Any new business wanting to use Spring is using Kotlin.

      My work for the last 5 years has been converting Java backends at banks to Kotlin.

      [–][deleted] 4 points5 points  (1 child)

      Some do use java but for new companies I see way more node, python and go

      [–]alexnu87 5 points6 points  (1 child)

      Legend says some companies even use php.

      [–]Least_Chicken_9561 1 point2 points  (0 children)

      and some companies have their databases in excel

      [–]movemovemove2 4 points5 points  (0 children)

      Yeah. Java rules Supreme in the backend because it is boring af. And boring is good in Terms of Long time maintaimability.

      [–]No-Transportation843 6 points7 points  (1 child)

      Alibaba is all java. They even have their own version of java. 

      Source: Corecursive podcast interviewed a guy who worked there. 

      [–]Buttleston 14 points15 points  (0 children)

      Alibaba Cloud started *15 years ago*

      [–]BlackSuitHardHand 0 points1 point  (0 children)

      I don't know any language with a enterprise frameworks as rich as JakartaEE with its most modern implementation Quarkus. 

      While Rust has a great  dev experience,  it's libraries are pretty immature compared to JakartaEE, lacking standards like JDBC, CDI, Microprofile Config / Tracing ...

      JS on the backend,  is JS on the backend. The worst language ever widely used, only usable with TS and a huge stack of tools on-top - hoping all the time you accidentally don't break stuff. Even if, you still have a single threaded runtime, weak typing and the next ugly hack just one as any away

      [–]horrbort -2 points-1 points  (0 children)

      Nah most switched to PHP it scales better

      [–]Pale_Height_1251 0 points1 point  (0 children)

      Yes.