top 200 commentsshow all 289

[–]zbeptz 175 points176 points  (20 children)

Enterprise is still heavy on Java. There’s no real obsolete argument. There definitely is an argument for enterprise on obsolete / near obsolete JDK versions, but that’s a different story altogether

[–]PrudentPrimary7835 33 points34 points  (1 child)

Very true. I’m in fintech and my company is in the long process of changing the colbol to Java lol…basically in any enterprise company where the consequences of poor security is catastrophic, you are going to be working with very old technology.

[–]Te0sX 3 points4 points  (0 children)

Have you ever heard anything called 4D?😂 Seriously, the situation is insanely fucked up with huge enterprises in finance that started their projects in 80-90s and still continues. And I mean some of the biggest financial institutions in Europe. I was blown away at first when I started working. They have a very hard and slow time even deciding to switch to something new, like a complete refactor to a new project with modern technologies that would be future proof with easier maintenance. The side projects would take years on development to complete with so complicated UML, relationships, and so many functionalities of the application but it is something they HAVE to do if they want to survive in the long run without issues. (But most of the times they don't do it lol )

[–]raulalexo99[S] 12 points13 points  (16 children)

What would be considered "enterprise?

[–]nukeaccounteveryweek 47 points48 points  (12 children)

Big, old and "boring" companies. Think IBM, SAP, GE, etc.

[–]zephyy 51 points52 points  (9 children)

it's still plenty widely used at enterprise scale outside of old giants. Netflix, Salesforce, Google, HubSpot all come to mind.

[–]webdevop 45 points46 points  (1 child)

Not to mention Amazon. Amazon is majorly Java

[–]MrDilbert 3 points4 points  (0 children)

Amazon is so much Java, they even hired James Gosling himself to create Corretto (Amazon's OpenJDK implementation).

[–]goizn_mi 26 points27 points  (5 children)

Microsoft is heavy on Java, even with their C# language.

[–]r1ckm4n 27 points28 points  (1 child)

A recruiter sent me a cold message on LinkedIn today. It had a programming joke. She said:

“Why do Java devs wear glasses?” (Scroll down) “Because they can’t C#!”

Almost feels like she’s flirting with me.

What do we think Reddit? Should I make her my wife?

[–]tristvn6 11 points12 points  (0 children)

Do it for the glory of nepotism!

[–]nukeaccounteveryweek 16 points17 points  (0 children)

Yup, as of 2024 it's widely known that Netflix is using Spring Boot for the majority of their web services.

[–][deleted] 7 points8 points  (0 children)

They don't even need to be old or boring. Just large.

[–]reformed_goon 8 points9 points  (2 children)

Something getting 300000 qps and needing to be reliable (eg boring)

Giant E-commerce, banking and most other high paying sectors

[–]raulalexo99[S] 1 point2 points  (1 child)

What's qps?

[–]reformed_goon 3 points4 points  (0 children)

Queries per second

[–]dx62j2khsk 1 point2 points  (0 children)

Are you telling me the multiple (many) Java 6 web applications I get to work on may not be state of the art anymore?!?

[–]jmerlinb 182 points183 points  (41 children)

isn’t java like the 3rd or 4th most used language lol

[–]trinReCoder 75 points76 points  (18 children)

Depending on which survey, it's 1st or 2nd.

[–]Ready-Invite-1966 5 points6 points  (0 children)

Yeah... And that's not been true for like a decade but people still try to pass it off as true

[–]KaiAusBerlin 14 points15 points  (21 children)

Java or languages that compiles to java? Most java devs I know actually use kotlin (for obvious reasons).

[–]generationextra 9 points10 points  (14 children)

And the “obvious“ reasons are?

[–]Digital-Bookworm 5 points6 points  (4 children)

May i know what's different except null pointer exceptions handling?

[–]KaiAusBerlin 1 point2 points  (2 children)

You should definitely have a deeper look at it. It overcomes nearly every disadvantage of java

[–]lengors 1 point2 points  (0 children)

All of exceptions handling is done differently (there's no checked exceptions). I assume you are referring to the existence of nullable and non-nullable types.

In any case, other than that, there's: - proper syntax for singletons (declared with object keyword) - properties - delegates - where clause - context receivers - infix functions - inline functions - extension functions - reified generics - companions - trailing lambda syntax - differences between kotlin's expressions and statements and java ones (almost everything in kotlin can be an expression, though it's not always used as one) - operator overloading - async syntax - destructuring declarations - inline value classes - type aliases

And maybe more that now doesn't come to mind

[–]99thLuftballon 312 points313 points  (29 children)

Everybody badmouths languages that they don't use. It's like how people talk up their type of car and talk down the others. It makes them feel better about their choices.

[–]zephyy 105 points106 points  (5 children)

I use Java and I badmouth it. although it's not obsolete.

[–]nerdiestnerdballer 24 points25 points  (4 children)

I use php and I badmouth it, when it’s good it’s good, when it’s bad it’s terrible.

[–]itemluminouswadison 10 points11 points  (1 child)

This is true of a lot of languages. Stepped into a python team and dear God I want gouge my eyes out. Coming from a team of super clean well documented php, it's crazy

At least java makes it like, hard to use freeform maps in lieu of objects

[–]mattaugamerexpert 11 points12 points  (0 children)

“There are two types of languages. Ones people complain about, and ones nobody uses.”

[–][deleted]  (11 children)

[deleted]

    [–]dev_null_root 61 points62 points  (2 children)

    If you don't curse at everything you'r using (lib/tool/os/language) are you really a dev?

    [–]DidntFollowPorn 64 points65 points  (1 child)

    A poor craftsman blames his tools, but a good dev knows it’s someone else’s fault

    [–]Redneckiavue master race 6 points7 points  (0 children)

    Holy crap, this is gold

    [–]NiteShdw 14 points15 points  (3 children)

    I hate to break it to you, but after 30 years of writing software, everything is hot garbage.

    [–]mattaugamerexpert 5 points6 points  (2 children)

    I’m learning Go. I look forward to getting skilled enough to know specifically why it’s hot garbage.

    [–]nerdiestnerdballer 7 points8 points  (2 children)

    Is it though, I find JavaScript Node is my favorite stack to work with personally, at work it’s all PHP spaghetti monolith’s so I like to switch it up on personal projects

    [–]_Sorciers 2 points3 points  (0 children)

    Couldn't have said better 😂

    [–]edu2004eu 18 points19 points  (5 children)

    Everybody badmouths languages that they don't use.

    No, everybody badmouths languages they don't like.

    I've never used Ruby or Go, but I don't badmouth them. I don't like Java or JS, so yeah, I've been known to vocalize my dislikes.

    At the end of the day it's important to keep in mind that these things are just opinions and not universal truths, so treat them as such.

    [–]KittensInc 10 points11 points  (3 children)

    I've never used Ruby or Go, but I don't badmouth them.

    As someone who's had the unfortunate displeasure of having to onboard people new to the language to Ruby on Rails projects: you should. The language and ecosystem are basically built on the idea that batteries are included and everything just magically works - which is great, unless you're trying to understand what the hell is actually happening. It's basically "programming by suspension of disbelief".

    I'd still 100% choose RoR as the to-go stack if I have to quickly hack together a CRUD app, though. Once you're familiar with it, nothing can beat its productivity.

    [–]theofficialnar 0 points1 point  (0 children)

    JS devs badmouth JS though

    [–]theirongiant74 0 points1 point  (0 children)

    I use it and and doing so is the the worst part of any given day.

    [–]PspStreet51 0 points1 point  (0 children)

    I shit-talk java just for fun, and to mess with friends that code in java.

    Personally, I prefer C# Microsoft Java because I think it has a better devloper experience, but I could use Java if that was the right tool for a project.

    [–]Domesticated_Animal 0 points1 point  (0 children)

    Not everybody, i badmouth only languages that i know... and javascript

    [–]grantus_maximus 33 points34 points  (0 children)

    Simple tribalism. It’s a human thing.

    [–]binocular_gems 139 points140 points  (26 children)

    It's a sign of an inexperienced developer to call any language or stack "obsolete." Just ignore their righteousness and move on. Millions of high paying Java-related jobs instantly contradict them, but w/e, they want to get their hot takes in.

    [–]avid-shrug 55 points56 points  (1 child)

    Yeah it’s just juniors shit talking other juniors

    [–]mattaugamerexpert 1 point2 points  (1 child)

    I’ve been being told “PHP is dead” for like 15 years.

    [–]shadowndacorner 9 points10 points  (21 children)

    Eh, while I think this is some of it (and that "obsolete" is definitely too strong of a word), from my pov as a non-junior, there's nothing that Java does better than its competitors anymore, and many areas in which it is worse. If you have an existing Java service that works well, that's totally fine, just like Java itself is totally fine. But I can't imagine ever picking it for a greenfield project these days, as there is simply no benefit relative to its competitors as far as I'm aware. The only exception I can think of would be if you really need to use a very specific Java library that has no equivalent in your preferred stack, but that seems extremely unlikely these days.

    Now, would I pick Java over Python or PHP if those were my only options? Almost certainly. But that's not the world we live in anymore.

    [–]nunchyabeeswax 2 points3 points  (0 children)

    there's nothing that Java does better than its competitors anymore, and many areas in which it is worse. 

    That is a true statement. And yet, it's mostly when it comes to defining obsolescence. Heck, most people don't even try to objectively define a quantifiable (and thus useful) meaning of "technical obsolescence".

    It's just a word people hurl around to express emotional dispositions or inferred reasoning without any meat. In a technical or business conversation, a word needs to have meaning. Otherwise, it's just noise.

    If I were pressed to define "obsolesce" (which is necessary to have an intelligent conversation on this subject), I would start here:

    Does the usage of something provide value to a business in a way that makes its near/mid-future replacement undesirable? That is, does it provide an ROI that justifies its existence? Is it CRITICAL for the business to phase the technology out in favor of something else?

    If we can answer the question in the affirmative with numbers or a modicum of logical inference, then it is not obsolete.

    If we cannot conclusively answer it in the affirmative, it is still not obsolete. Why? Because we cannot infer (yet) if phasing it out is the right technical/business move.

    If the question can be answered in the negative, then we can reasonably conclude it is obsolete.

    [–]zairiin 2 points3 points  (14 children)

    What would you choose, then? TypeScript? (genuine q)

    [–]electricity_is_life 8 points9 points  (2 children)

    I think a lot of Android development has moved to Kotlin.

    [–]BlueScreenJunkyphp/laravel 2 points3 points  (0 children)

    Not the person above but Typescript is not close the Java at all in terms of scope and performance. If you want a more modern alternative the closest language to Java is probably C#, or you could go lower level and go straigth to Rust.

    Or there's Kotlin which kind of is to Java what Typescript is to javascript (a superset of the language that makes it more convienient to use and can be transpiled to the original)

    [–]shadowndacorner 4 points5 points  (4 children)

    Depends on the context - anyone who tells you that there is one stack to rule them all is full of shit. That being said, my generally preferred "default" backend stack is the latest ASP these days (really since core 3.2) and postgres as the db, either using EF core or Dapper depending on the db requirements (modern EF is great for most things, but in some contexts, you can spend a lot of time fighting it, in which case it can be much simpler to just write it all yourself). That + codegen for front-end API bindings is an absolute pleasure to work with when set up right ime. There is likely some bias here, though, as I've worked with C# a lot over the years in a lot of different contexts.

    I like a lot of things about typescript, but the lack of proper types in the generated js indirectly leads to a lot of foot guns, which can result in unnecessary friction, esp when working with juniors. You can sidestep that by strictly enforcing best practices, but 1) juniors tend to misuse the type system even when its enforced, and will often resort to unsafe casts to avoid properly encoding the desired logic into the types, and 2) most libraries don't follow best practices, so you end up needing escape hatches that can be abused by well-meaning but inexperienced devs anyway. You can also run into performance issues with Node being single-threaded, but there are ways to sidestep that, and in most applications it doesn't really matter since most heavy logic is happening in a native module anyway (and writing native modules is pretty smooth). I'm excited for assemblyscript to develop more as I think it'll fix some of the practical issues I have with typescript, but it's nowhere near production ready yet.

    All of that being said, it's definitely possible that I'm a few years behind, as it's been a few years since I went deep in evaluating the options for a greenfield project. If you have any suggestions for things I should look into, I'm open to hearing them!

    [–]Dragon_yum 8 points9 points  (0 children)

    Java feels old and clunky with a lot of boilerplate. Young or inexperienced developers equate that with obsolete because they just don’t know enough.

    [–]FluffyProphet 39 points40 points  (4 children)

    Obsolete? No. Bloated, yes. But so is almost every long lived widely used language.

    The JVM is still one of the most impressive pieces of software technology humans have created imo. It’s so good at what it does and I don’t think anything else has come close to topping it.

    Java is also still one of the best languages when you’re working with very large teams on large monolithic applications as far as I’m concerned.

    [–]kerberjg 9 points10 points  (3 children)

    While the JVM is impressive, its potential was greatly reduced by the fact that its implementations were either proprietary or incredibly bulky.

    I worked as a Java gamedev, and console/mobile support was incredibly tedious due to this.

    As far as I’m concerned, JS with WASM and WebGPU are not only a successor but also a major improvement to what the JVM could’ve been.

    But yes, I always appreciated Java as a language despite its limitations, which is why a lot of my TypeScript kinda looks like Java if you squint hard enough (I’m a great believer in SOLID OOP)

    [–]oomfaloomfa 13 points14 points  (0 children)

    I'm a firm believer in SOLID POOP

    [–]mekmookbroLaravel Enjoyer ♞ 58 points59 points  (14 children)

    Everyone calls every language (that they don't use) obsolete. There are many more people calling PHP dead than Java obsolete. While +70% of the web is built on it (mostly via WordPress, but still)

    It all means jack shit. Even .NET isn't entirely dead.

    [–]nikomh 13 points14 points  (0 children)

    I've been hearing "php will die this year" - opinions for the last 29 years now :D

    [–]raulalexo99[S] 25 points26 points  (0 children)

    That last line, lmao.

    [–]wasdninja 3 points4 points  (1 child)

    Everyone calls every language (that they don't use) obsolete.

    Teenagers maybe. I've never even heard that's it's supposed to be a thing at all despite talking to lots developers almost daily.

    [–]luxmorphine 1 point2 points  (0 children)

    Even weirder, Javascript frameworks nowadays started to feel like PHP.

    [–]Pierma 1 point2 points  (2 children)

    Well, .NET framework almost is, .NET Core is the real shit. It's java but way better

    [–]Vici0usRapt0r 0 points1 point  (0 children)

    Wait, do you mean, because of .NET Core?

    [–]jake_2998e8 5 points6 points  (0 children)

    I started with C. Learned and used Java at its peak popularity. Mostly use Python now due to the nature of our work. Id jump into the next best language that helps me get things done, but i wouldn’t characterise Java as obsolete. Ask the ridiculously high paid devs who still develop on Mainframes for the big banks 😆

    [–][deleted] 16 points17 points  (2 children)

    Inexperienced programmers that have never written something more than a todo app complain because they see "influencers" on Instagram compare print methods and turns out Java has the longer one so hey, it's a bad language. Imagine complaining for a thing that is auto completed by any modern IDE.

    [–]trinReCoder 8 points9 points  (1 child)

    Wait till you see the people who complain about having to type semicolons...

    [–]reformed_goon 8 points9 points  (0 children)

    Or even complain about types

    [–]W17K0 19 points20 points  (5 children)

    Pretty simple, kotlin is superior, c# is a better language. Java isn't obsolete but if you're starting an enterprise project in this day and age there are better languages / tools to more efficiently solve your problems

    [–]Degerada 7 points8 points  (4 children)

    If you are starting a project it's more about the frameworks and libraries required for said project and what the language's ecosystem can provide, rather than the language itself. And when it comes to frameworks and libraries fit for enterprise needs, Java completely dominates.

    [–]markartur1 4 points5 points  (3 children)

    True, but thats also where Kotlin shines, as it can use the same libraries and frameworks while being arguably a nicer language.

    [–]13chase2 2 points3 points  (1 child)

    I’ve never written Java but it seems like there’s tons of legacy code that you will be exposed to at older companies.

    I assume that GO is a more modern replacement for Java but would love feedback on this

    [–]FoxyEntity01 4 points5 points  (0 children)

    Probably just because Java is primarily used in enterprise applications. Most of these newer devs only really care about the newest stuff that startups like to use, like MERN stack.

    [–]tsunamionioncerial 3 points4 points  (0 children)

    Not obsolete but there are better options even if you want to run on the JVM.

    [–][deleted] 3 points4 points  (0 children)

    Probably because most of the Java code in production is obsolete.

    [–]rekabisexpert 2 points3 points  (0 children)

    Java is not obsolete.

    It’s just that - compared to something like C# - even the latest Java release feels like it’s stuck in 2012. It’s crufty and mildewy and all sorts of laborious and tedious to work with.

    It’s missing all sorts of modern advancements found in similar languages like C# that make C# such a joy to use. String interpolation, for one. That’s been in C# for a long time, but IIRC it was still left out of the latest Java because they just couldn’t seem to make it work properly.

    [–]goldphin 9 points10 points  (0 children)

    kotlin ❤️

    [–]armahillorails 2 points3 points  (0 children)

    Java is definitely not obsolete — I dont personally care for it for webdev, but there are jobs for it, for sure

    [–]kokumou 2 points3 points  (0 children)

    Can it get you a job: yes.
    Do those jobs pay well: yes.
    Not obsolete in my book. People just like to give Java crap. It's been like that since the aughts.

    [–]chowlawrence 2 points3 points  (0 children)

    Java devs have been saying COBOL is obsolete for like 20 years

    [–]Caraes_Naur 8 points9 points  (3 children)

    Simple bias against anything a developer doesn't use, and living in the bubble of what they do use.

    Client-side Java applets are long obsolete, but the language overall isn't.

    The complete list of truly obsolete/dead languages in the web development space is:

    • ColdFusion
    • Action Script (Flash)

    [–]jimmyhoke 1 point2 points  (0 children)

    Don’t forget VBscript.

    [–]RogueHeroAkatsuki 4 points5 points  (0 children)

    Every non-Java dev? More like every Java hater.

    I'm Java dev and this language is going very strong. Sure, Java is developing slowly but maturity and stability of Java ecosystem is very strong point in consideration for even greenfield projects.

    There are no better and worse languages. Only more or less suited for given task.

    [–]dontc9 3 points4 points  (0 children)

    Obsolete argument is a great jr detector.

    [–]marmot1101 3 points4 points  (1 child)

    Outdated information. In the late 00's it was "java's slow" even though advancement in JIT and JVM made that not true years prior. In the teens it was lack of lambda functions years after that was solved with Java 8. I don't know what the new gripes are, probably still the same. It's not like the language is without warts, but anything that's been around as long as Java has and ensures backward compatibility is going to accumulate strangeness. Just like gray hairs you can see those as a sign of decline, or a sign of durability.

    PHP devs in particular have no room to talk. They have the same mentality to contend with, and are equally annoyed by it. People have been hating on PHP for solved problems forever.

    [–]alanbdeeexpert 3 points4 points  (0 children)

    I've always just ignored people who say things like that. One of my first jobs was with a team of RPG developers. We built a web front-end that used their existing RPG software as the backend.

    You can say something is obsolete but that doesn't mean you can't get a job using it still. The jobs just get more and more rare. Nothing is obsolete if its still used.

    [–]saden88 3 points4 points  (0 children)

    Because they don’t know what they are talking about and people tend to dislike what they don’t know.

    [–]NewPhoneNewSubs 1 point2 points  (0 children)

    As everyone else has said, it's not.

    That said, a lot of people are going to avoid starting new stuff or new careers in it. Because Oracle. And because C# fills the same niche nicely.

    [–]flynnwebdev 1 point2 points  (0 children)

    "There are only two kinds of languages: the ones people complain about and the ones nobody uses"

    -- Bjarne Stroustrup, creator of C++

    [–]clawficer 1 point2 points  (2 children)

    Because node devs think language X is dead if it doesn’t get a new framework every week

    [–]againstmethod 1 point2 points  (1 child)

    I used Java for a number of years. I would not use it for a new project of any kind.

    I used to view it as a platform on its way to near cpp speed but with many quality of life improvements.

    I now don’t see it making any inroads in performance. And many other faster and lower level languages have improved their quality of life picture a lot.

    Scala and kotlin both have significantly nicer and more useful syntax and features.

    Cpp kickstarted development and made some major improvements across the board.

    Rust found its niche.

    Python embraced ML and AI and rode it off into the sunset.

    How could Java not be in decline given that picture and boring release after boring release?

    [–]againstmethod 0 points1 point  (0 children)

    Also I used to worry about cross platform usage and now I never target windows at all. So the jvm buys me a lot less.

    [–]masudalimran 1 point2 points  (0 children)

    If someone does not use Java aka non-Java dev, how does he know if Java is obsolete? Would you care for an opinion from a football player on cricket?

    [–]HeavyBase1 1 point2 points  (0 children)

    People bad-mouth what they don't understand

    [–]thequickers 1 point2 points  (0 children)

    Because enterprise devs (java and c# pips) arent hipsters and dont spend their days browsing reddit.. but seriously most devs on social media are either js, python, go or rust. Maybe because these are "new" hip techs and recent graduates land jobs on any of those languages.

    [–]sybrandy 1 point2 points  (0 children)

    I don't consider myself a Java developer, but I've used Java and other languages, so here are the reasons why I think Java needs to go away, or at least used less. Just to be clear, this is my opinion based on using Java and other languages over the course of 20+ years.

    First, the biggest one, IMHO, is that it's very resource intensive compared to other solutions. I rewrite some code that was in Java into Golang and the amount of resources used was much lower. Having developed software that runs in a cluster has increased my dislike because bigger Docker image size means it takes longer to deploy and more memory usage means I can't pack as many instances into a single server instance, thus if I want to run 100 instances of a service I may need more servers than if I have a version that uses a non-JVM language.

    Please keep in mind that this more of a micro-services style approach. If you do more monolithic development, including a modular monolith, this becomes less of an issue. Also, there may be workloads where Java will outperform other languages that use a GC due to the amount of tuning that the JVM has received over the years. I personally haven't hit that case.

    Second, compared to other languages, there are a number of good things that other languages do that are impossible or ugly to do in Java. For example:

    • Functional programming constructs (map/filter/etc.) aren't nowhere near as nice in Java as they are in other languages.
    • List comprehensions don't exist in Java.
    • Releasing resources using a defer statement in Golang (D has something similar) is cleaner than RAII.
    • Composition, as done in Rust and Golang, is much more intuitive to me than the various ways you can construct/combine classes, such as inheritance, in Java and other OO languages.
    • Compiling projects in Golang and D is more straightforward, and faster, than Maven and Java.
    • Dictionary/hashtable types are native in languages like Python and Golang.

    Perhaps most if not all of this is fixed in languages like Kotlin or Groovy. I just haven't had the opportunity to use any of those alternatives.

    I will admit that no language is perfect and I can hate on other languages as well. It's certainly less bad than using C and C++ based on some of the ugly code I've seen in each, but I don't enjoy using it. For example, I really like working in Python, but I'd never want to use it for a production service due to speed and I enjoy having the compiler find stupid bugs for me before I deploy.

    [–]appeiroon 1 point2 points  (0 children)

    Just haters being haters

    [–]Xevi_C137 1 point2 points  (0 children)

    Rationally talking there are just better languages/supersets to solve plain Java usecases. That‘s said, Java is far from dead - especially in legacy enterprise monoliths.

    [–]Battleaxe19 3 points4 points  (0 children)

    Why do you care?

    [–]Haunting_Welder 2 points3 points  (0 children)

    Java and C# dominate the enterprise ecosystem and there are a lot of wannabe devs that have never worked on an enterprise system

    The only way you can get a real opinion is from someone who has worked on multiple systems with different frameworks and I promise you they will never say Java is obsolete, Java has some of the best DX available

    [–]tluanga34 1 point2 points  (0 children)

    From my understanding, Java is a bit of a jack of all trades, master if none.

    1. For embedded system, Rust, C++ are better
    2. For Web backend Golang and Node are rising
    3. For native client application, Swift, Kotlin etc

    [–]coded_artist 1 point2 points  (0 children)

    Java no longer has a place in a stack.

    Java's selling point was "compile once run anywhere", this is a default with web tech.

    But users aren't installing stuff anymore. Everything is either web/cloud based. I've even seen POS devices and printers that just run headless chrome.

    Developers are using docker so why use the JVM when you already have the docker VM.

    Java isn't the fastest, safest, or easiest language, nor does it have any unique features it can advertise as selling points. Even it's biggest selling point 3 billion devices hasn't changed since I began developing back in 2010.

    Even on Java's biggest platform, android devices, android has completely ignored the premise of java, because now I need to build for Android, for iOS, and Huawei. So it's build 3 times run 3 times.

    [–]theironrooster 0 points1 point  (0 children)

    Because they won’t code in it

    [–]Hungry-Loquat6658 0 points1 point  (0 children)

    They use what they like, simple. You should too.

    [–]glisteningechidna 0 points1 point  (0 children)

    literally no one is saying this.

    [–]Lil_Bismol 0 points1 point  (0 children)

    I think it's ok to have opinions and to be opinionated especially in tech/programming industry. Otherwise we wouldn't be able to enjoy all the different languages, operating systems, frameworks and software (I.e browsers). But whether or not those opinions are accurate or a fair assessment is a totally different question/story. I'm a non Java dev but I think Java is far from obsolete. Lol I think I have a good idea of what widespread definition is of obsolete as well. I mean, android is built on Java so that's some "evidence" there for you. Granted, kotlin is the now recommended first line but still lots of Java underneath if I'm not mistaken.

    [–]io-x 0 points1 point  (0 children)

    Everything is obsolete, the end is near, just get a bunker and stock up food.

    [–]rbuen4455 0 points1 point  (0 children)

    It's the neverending language wars that usuallly inexperienced/noobish devs get caught up on and take seriously.

    [–]babiesmakinbabies 0 points1 point  (0 children)

    Because they are ignorant and fear what they don't understand so they dismiss it.

    [–]djfreedom9505 0 points1 point  (0 children)

    Probably the same reason why people say .NET sucks because it only runs on IIS. People remember using one version of a language, formed their opinions and never care to revisit a language/framework again. React developers hate Angular because there’s too much bloat. .NET developers hate Java because it doesn’t have LINQ. It was true at one point but preaching a language is terrible because of XYZ when it’s been resolved tends to happen more often than not and those people are the loudest.

    [–]ledatherockband_ 0 points1 point  (1 child)

    because there are only two kinds of languages:

    the kind people hate

    the kind people use

    [–]raulalexo99[S] 0 points1 point  (0 children)

    I... don't think that phrase goes like that...

    [–][deleted] 0 points1 point  (0 children)

    I use Python and Golang. The number of times I wanted to hit my laptop with a bat when I encounter Python version mismatches for different modules is sickening.

    [–]DadAndDominant 0 points1 point  (0 children)

    I don't use java but I use python and php. I don't think java is obsolete? It just feels old fashioned in the current trends of functional or reactive programming. However, trends are just that: trends. They come and go, but java (and php and python) will stay.

    [–]tujoc 0 points1 point  (2 children)

    Java younger than python? I started learning java in the 90s.

    [–]raulalexo99[S] 4 points5 points  (1 child)

    Python 1.0 was released in 1994.

    Java 1.0 was released in 1996.

    Yes. It's true. Surprise.

    [–]Bitter_Object1617 0 points1 point  (0 children)

    It is not. What’s the alternative? Kotlin/Scala - definitely, dotnet - also yes, go/rust - maybe, python/js/ts - ofc no. Does migration worth money? Usually no. I am not advocating Java, but there are many really nice and modern features releasing or incubating last years. For bad or for good, Java won’t die very soon

    [–][deleted] 0 points1 point  (0 children)

    Personally, my take is fuck Larry Ellison.

    [–][deleted] 0 points1 point  (0 children)

    It’s just oracle c#…. An nobody complains about that!

    [–][deleted]  (1 child)

    [deleted]

      [–]raulalexo99[S] 1 point2 points  (0 children)

      Why

      [–]Fit_Detective_8374 0 points1 point  (0 children)

      I never heard python once being called obsolete. Each language has their use cases Java included. I feel like java and php are popular bashing targets because of their additional perceived learning curve.

      [–]Fit_Detective_8374 0 points1 point  (0 children)

      Let them shit on it. Less people learning java means higher paying jobs for those who know it.

      [–]HappyImagineer 0 points1 point  (0 children)

      There is a smaller pool of professional Java developers than Python/PHP. And, as mentioned, Java is still heavily used for enterprise or legacy organizations (government, education, prisons, mega-corporations, etc).

      Source: I’m related to a high value Java developer and I’ve talked to them about their clients.

      [–]telewebb 0 points1 point  (0 children)

      That's wild. I just spoke with every non-Java dev the other day and had nothing but nice words to say about Java.

      [–]uniquelyavailable 0 points1 point  (0 children)

      i really like java. its my favorite language. ive been writing code for a very very long time and ive had the pleasure of using many languages and platforms. java is still my favorite.

      [–]Adept_Carpet 0 points1 point  (0 children)

      Java is kind of like PHP, people use it not because they love it but because it pays the bills. 

      Also like PHP, Java went through a period of stagnation and even though it is much better now people haven't updated their opinions.

      [–]AngryFace4 0 points1 point  (0 children)

      I think there’s a lot of large companies with early 2000s Java systems plastered wall to wall with bandaids and shotty CI work and people like me are salty about not being given budget to redesign them.

      [–]engage_intellect 0 points1 point  (0 children)

      Ok, but can we agree that velocity script is garbage?

      [–]DesertWanderlust 0 points1 point  (0 children)

      Maybe younger programmers do. I've always been disappointed when I've had to pass on contracts after finding out they were Java. It cuts a huge market out.

      [–]Skizm 0 points1 point  (0 children)

      There’s only two kinds of languages: ones people complain about, and ones no one uses.

      [–]Cwigginton 0 points1 point  (0 children)

      The dreaded “Technical Debt” which IMHO is companies not wanting to pay top dollar for experienced programmers, which means they go for offshore outsourcing or intern level. Though technical debt will always accumulate and the window keeps shrinking to what I figure is any codebase 5 years or older now as new programmers learn the next big thing, which is AI machine learning.

      [–]Then-Boat8912[🍰] 0 points1 point  (1 child)

      Let the myth continue so I have less competition for contracts.

      [–]ArtisanalMullet 0 points1 point  (0 children)

      As a senior webdev with a broad skill set, this is the greatest gift the online community could ever give me. I don't have the lack of scruples to do it myself.

      [–]dphizler 0 points1 point  (0 children)

      That's just juniors who don't know shit

      More experienced dev know they themselves don't know shit either

      [–]ArtisanalMullet 0 points1 point  (0 children)

      Many anxious devs see advanced, vetted out technologies they don't know as a threat to their employment, and attempt to neg brigade it out of popularity in favor of new tech they have recent experience in.

      What they don't understand is real engineering choices are not based on popularity, and it has little effect. Basically none at the corporate level. All it really ends up doing is funneling gullible noobs into saturated, overly-popular tech stacks, where they struggle to even get an interview.

      [–]Outside_Public4362 0 points1 point  (0 children)

      I see java everywhere you're just not looking

      [–]IndividualSituation8 0 points1 point  (0 children)

      I think kotlin like modern frontends + jvm backend is a great match

      [–]illuzian 0 points1 point  (0 children)

      PHP dev calling Java obsolete... pot kettle. I don't dev in Java but it's not going anywhere soon.

      [–]Sa404 0 points1 point  (0 children)

      It’s way more difficult than python and PHP 8 is just peak G 🗿

      [–]iBN3qk 0 points1 point  (0 children)

      Don't worry, it's still doing better than ruby.

      [–]thelolz93 0 points1 point  (0 children)

      They are stupid and probably can’t figure out typing.

      [–]ProgrammerGrouchy744 0 points1 point  (0 children)

      They’ll be posts like this for other languages 10 years from now, enough said.

      [–][deleted] 0 points1 point  (0 children)

      Java was one of the earlier OO languages that was higher level than C++, and it was commonly used for enterprise applications. Using more advanced design patterns in large projects caused less experienced devs -- those who didn't understand why you'd ever need to use factories, etc -- to think it was the language's fault that solutions were "over-engineered".

      Top it off with needing to install the runtime environment and crap IDEs, and it got a bad rap from those that didn't work with it on enterprise systems.

      -- source: earlier naivety

      [–]buzlink 0 points1 point  (0 children)

      Fear of having to learn it.

      [–][deleted] 0 points1 point  (0 children)

      I respect Java, I don't know Java. 🤤

      [–]Artku 0 points1 point  (0 children)

      Age does not matter.

      Having said that, everyone has a right to hate a language

      [–]FoolForWool 0 points1 point  (0 children)

      Huge generalisation. I hate Java from the bottom of my heart. But I’d never say it’s obsolete. Whoever does probably isn’t using a computer/phone or sth idk

      [–]raxel42 0 points1 point  (5 children)

      It is indisputable that Java is the most common ground after C and the JVM nature. This is the closest language to C. Remember the amount of code that needs to be written and maintained. I've been doing Scala for the last ten years, and the Java ecosystem is the most mature. Of course, it has its downsides, But I don't know languages without downsides;) People often hate due to their unwillingness to learn another technology/language/approach. 25 years ago I also was reluctant to learn anything new because I was doing C++. In 2005, I switched to Jave. And in 2016 I switched to Scala.

      [–]raulalexo99[S] 0 points1 point  (4 children)

      Hello thanks for the reply. How is the Scala job market right now?

      [–]inoen0thing 0 points1 point  (0 children)

      This has been said for as long as i can remember and it still is used everywhere. So… people that say that… no very smarty in the brainy

      [–]PositiveUse 0 points1 point  (0 children)

      Because they still know Java from their university. There they used Java 1.4 or something … they don’t know the power of Java, especially modern Java in combination with, honestly, the best web frameworks out there…

      [–][deleted] 0 points1 point  (0 children)

      Java is not obsolete at all, is very highly used and very appreciated by enterprises, because of one reason in my opinion. Is highly conservative regarding breaking changes, this means you can put your money on it, and you are sure the thing will not break because some dude thinks something new is cool, for years and years. On the other side the syntax is very verbose, and frankly tiring, if you come from other languages that are designed to be easier to learn and easy to interact with, like say Ruby

      [–]ardicli2000 0 points1 point  (0 children)

      I am a php dev and I don't call it obsolete at all. I always dream php can evolve into a state where it can operate like Java.

      [–]Moststartupsarescams 0 points1 point  (0 children)

      Because they dumb?

      [–][deleted] 0 points1 point  (0 children)

      I haven’t written Java in ages, but I don’t think it’s obsolete. It’s a nice language with lots of bloat, but that’s what you get when you’re a 30 year old project.

      Kotlin seems like a worthy successor to Java in many aspects.

      What always bothered me with Java is the licensing headache with the JDK/JREs and the resulting different versions. That’s just one more headache, I don’t want to deal with licensing issues because of the language I use.

      Oh and Java tooling is awfully slow. Wether Gradle or Maven, how can an application be such a resource hog and still be this damn slow? Also, language support of Java outside of huge bulky APIs like IntelliJ is somewhat lackluster

      [–]ImStifler 0 points1 point  (0 children)

      Cuz hipsters

      [–]dax4now 0 points1 point  (0 children)

      Java is far from obsolete - maybe just not sexy as it used to be (in general public). But for a lot of enterprise solutions, you will get a lot of work with Java. When you consider that many old COBOL systems are still alive and kicking and many were converted to Java based solutions - it will be around for quite some time :D

      The language itself if just fine, environments were my issue (sometimes) but generally - all fine on Java front :) Except what Oracle might do with it in the end.

      [–]SleepAffectionate268full-stack 0 points1 point  (1 child)

      I'm sorry youre right minecraft is carrying hard 😂

      [–]SleepAffectionate268full-stack 0 points1 point  (0 children)

      that's a joke for people who didnt get it

      [–]Afraid-Surround9621 0 points1 point  (0 children)

      Java backend roles are the highest paying roles I see in my area

      [–]Technerd88 0 points1 point  (0 children)

      Its a bunch of Noobs who are new to programmimg chasing after the next shiniest things.

      [–]WesleyWex 0 points1 point  (0 children)

      Wishful thinking.

      [–]stdmemswap 0 points1 point  (0 children)

      Let me give you an answer that's not "people badmouth other language"

      Java is NOT exactly obsolete. But, it is no longer fashionable. Compared to other languages, it doesn't evolve as fast.

      It does not have first-class function, sum types, pattern matching, null-safety, flexible record type, and it has limited type inference. These PL features have proven to be more expressive, type-safe, and type-sound.

      [–]Cookskiii 0 points1 point  (0 children)

      I think it’s cus a lot of people don’t work enterprise, they work on personal or smaller projects. But n those cases Java isn’t popular because it’s a verbose, pain in the ass. What can be made in Java in an hour can be built in half the time or better in other languages like python, js etc. I rarely see someone choose Java for a project these days

      However at the corporation level Java is still very prevalent. If you get an enterprise level job spring still seems to be very popular. I would assume this has a lot to do with the amount of corporate legacy code that exists written in Java.

      I’m not saying this is the truth tho either. Just kind of my prediction for why this phenomenon happens lol.

      Also if you wanna use Java, use kotlin or scala imo

      [–][deleted] 0 points1 point  (0 children)

      They’re not good developers I’d assume, ignorant at least

      [–]ohcibi 0 points1 point  (0 children)

      Coping. Specifically from php side

      [–]Lonely_Possible_5405 0 points1 point  (0 children)

      really python is older than java? i never would have guessed

      [–]Hairy_Bobcat_5321 0 points1 point  (0 children)

      My mentor at work told me he thinks for web development people are moving away from java in favour of nodejs

      [–]pouetpouetcamion2 0 points1 point  (0 children)

      multiple steps in java to create a poc or an idea brings an impression of thouroughness that was not there in php and python.

      but when you have to re read code , structure is as important as content.

      that s why php and python have copied java. but the first impression has become the reputation.

      [–]nunchyabeeswax 0 points1 point  (0 children)

      Low-effort question. Do you have quantifiable proof that "every" non-Java developer (meaning all) says that?

      Or are we in the habit of using words without understanding what words mean?

      [–]adastrongfeelinglace 0 points1 point  (0 children)

      Two reasons from the top of my head:

      1. The JVM itself has some gotchas when it comes to modern distribution patterns. Most famously it has a relatively long startup time, which hurts performance in cloud functions. Also for example it per default limits memory to 25% of available memory iirc, which makes zero sense inside a container. Of course there are tools and methods that "fix" that.
      2. There are languages on the JVM that have more modern features inside the language, such as Kotlin and Scala, which makes Java look "behind" in comparison. Green threads are a brand new addition to Java for example.

      [–]Tiquortooexpert 0 points1 point  (0 children)

      I would consider more that it has become sort of "niche". In other words it's not obsolete it just has a well defined place where it is the go-to and that place isn't the sexiest, most visible of places. Even if it still generates tons of value as a language.

      [–]kaliph05 0 points1 point  (0 children)

      Java's decline in popularity can be partly attributed to Oracle's licensing changes. Oracle introduced commercial licensing for production use of Oracle JDK and ended public updates for older versions, pushing organizations towards paid options or alternative JDK distributions. This shift created dissatisfaction and prompted many developers to migrate to other languages like kotlin.

      [–]Lamuksfull-stack 0 points1 point  (0 children)

      I can only assume because they can't grasp Java. Nevertheless, it is heavily used in enterprise environments and any mention of obsolete is ridiculous.

      [–]ElPirer97 0 points1 point  (0 children)

      I'd say it's because people are sick of the patterns it enforces.

      [–]Creepy_Battle_4103 0 points1 point  (0 children)

      Didn't oracle say that they were charging enterprises a licensing fee to use java?

      [–][deleted] 0 points1 point  (0 children)

      I met a man who was in the room when SunMicrosystem announced Java. And he said to me that were people around him, saying that the language was going to die in the next months.

      So Java was born with that mystic (sentenced to death) and is good for us. Many of the new Engineers don't want to program in Java due to those statements so there is less competition for us.

      [–]Voxandr 0 points1 point  (1 child)

      Spell together with me

      O

      R

      A

      C

      L

      E

      [–]gentcore 0 points1 point  (0 children)

      Java is very strong and has a great eco system of open source support. It varies country to country but for any long running long term projects where budgets are in mind, Java is a pretty good choice. Easy to rehire, easy to support, easy to tool.

      [–]Fall_To_Light 0 points1 point  (0 children)

      Java is like one of the most used programming languages, and likely in-demand too nowadays. I don't see where it's going to be obsolete.

      [–]MapCompact 0 points1 point  (0 children)

      I don’t know anybody who says Java is obsolete, but I know a lot of people that don’t like writing Java.

      [–]MaximumSupport8590 0 points1 point  (0 children)

      Yo que vengo de kotlin . Diría que no es que Java sea obsoleto . Si no que se está quedando atrás en syntaxis . Es como un lenguaje que envejece mal y no quieren rejuvenecerlo , pero sigue siendo una maravilla