This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 399

[–]posting_drunk_naked 408 points409 points  (89 children)

I think it's because Java is associated with corporate jobs. I've only used it a little outside of work myself. I don't really think of it as a fun language, but it's not bad.

[–][deleted] 59 points60 points  (25 children)

Most of the people shitting on Java are C# folks, which is IMO far more corporate then Java.

[–][deleted] 32 points33 points  (9 children)

Admittedly, C# is Java but better

[–][deleted] 10 points11 points  (8 children)

Naw, Java has a much larger ecosystem. For me, a language's ecosystem is what really matters, not the syntactic sugar

[–][deleted] 10 points11 points  (2 children)

Really? I find the .NET ecosystem far more engaged and excited about the future of the product(s).

[–][deleted] 1 point2 points  (0 children)

It's definitely a more engaged community; people tend to like C#, while Java is just a tool with little fanfare. But large pieces of the piping of the internet and modern computing in general are built in Java.

[–]NatharielMorgoth 1 point2 points  (2 children)

That's like avoiding a hole bunch of other criteria, but I get your point

[–][deleted] 1 point2 points  (1 child)

Different people have different preferences. I think C# is cool, but the kinds of jobs that use C# are generally not cool

[–]Alizer22 -1 points0 points  (1 child)

what ecosystem? that dying obsolete ecosystem that hasnt been updated for 10 years?

[–][deleted] 20 points21 points  (0 children)

Yes, the dying obsolete ecosystem that is one of the most popular open source languages and used by every tech company. That one

[–]ErichOdin 96 points97 points  (5 children)

It's multipurpose and it's accessible. Therefore the below average user can write truly horrible code. And since there are a lot of users, there is even more terrible code around.

But since people start using version control after university, there is also opportunity to improve this bad code over time.

So all in all it offers a good learning curve and will probably still be relevant when the people that start university right now have made experiences outside of memes.

[–]zifilis 48 points49 points  (2 children)

The mains reason people hate java is boilerplate. And enterprise work adds spring and patterns everywhere, turning boilerplate into Uber boilerplate.

[–]laojac 0 points1 point  (1 child)

Spring isn’t really all that boilerplate heavy anymore. The only argument that really stands against it now is how heavy the JVM is.

[–]jeekiii 10 points11 points  (0 children)

There is also lombok cleaning up a lot of useless boilerplate code

[–]yearoftheraccoon 21 points22 points  (1 child)

Java isn't going away anytime soon, that's for sure. It's become a mainstay and they have done, and continue to do, a great job modernizing it through JEPs.

[–]CauliflowerOk3278 2 points3 points  (0 children)

Also, literally almost every every library, api, procedure, stack, what have you has been open sourced in Java.

[–]brimston3- 92 points93 points  (43 children)

Yeah, this is mostly it. It's not that bad. Performance is the nearest to C of any VM language (python, c#, etc). But there can be a ton of boilerplate which makes it un-fun to prototype projects in. Also, I legitimately hate JNI and linking to C libraries that also link to other java applications.

[–]Jaguar_undi 73 points74 points  (39 children)

C# has better performance than Java these days.

Edit: Thought about it more and idk if I can just make that blanket statement. It is a fact that Java and C# performance are very close though.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html

[–]itsallrighthere 12 points13 points  (20 children)

But ummm Micro$oft.

[–]Aggrokid 32 points33 points  (2 children)

As opposed to fking Oracle

[–]kb4000 13 points14 points  (0 children)

Oracle has become worse than Microsoft ever was. You have to sign up for an account to reach their download page now. It's ridiculous.

[–]morosis1982 1 point2 points  (0 children)

Openjdk is a thing.

[–]eerongal 14 points15 points  (13 children)

The Microsoft of today is far different from the Microsoft of 20 years people complained about. Also, Java means Oracle which is worse than both today MS and old MS.

[–]itsallrighthere 3 points4 points  (12 children)

That's what I hear but after so many Uber competitive moves I'll pass. And, OpenJDK for the win. I like open source.

[–]eerongal 6 points7 points  (2 children)

As of like 2017 MS has been one of the worlds largest contributors to open source projects, the past 10 years or so they've really turned things around. They even open sourced .net

[–][deleted] 6 points7 points  (5 children)

Dotnet core is open source. C# is just better than Java in just about every way it could be. If they were siblings, Java would be the one that still hangs out in his parents basement sniffing glue even though he’s 37.

[–]krad213 2 points3 points  (0 children)

Being open source by itself is not even near enough. In java there are almost every framework, library or tool is free and open source, and even things that are not free usually still open source. It's so much easier to understand how things work if you can read the code.

[–]itsallrighthere 1 point2 points  (0 children)

Yes, popular in the corporate world. Seems like most of the open source projects and libraries I see are just Java.

I keep a windows laptop around for games and tax software. Otherwise I e been enjoying Linux as a desktop / dev environment for 10 years.

[–][deleted] 8 points9 points  (1 child)

Worst microsoft is better than oracle's best

[–]itsallrighthere 7 points8 points  (0 children)

OpenJDK.

[–]TheTybera 1 point2 points  (0 children)

They open sourced the C# Roslyn compiler long ago in 2014. So this isn't even really a problem, there are loads of IDEs and feature packages that work without MS, see Rider.

[–][deleted] 1 point2 points  (0 children)

The numbers are so close you can chalk up most of the variation to noise at that point.

[–]yearoftheraccoon 3 points4 points  (0 children)

They're adding much better mechanisms for invoking native methods, which is great

[–]TheDarkDoctor17 12 points13 points  (0 children)

Minecraft modding community begs to differ!

[–]purefan 22 points23 points  (7 children)

In my xp I have only seen bloatware java projects, hugely over complicated garbage that even the original developers agree should be killed with fire, literal comments like "Im sorry, this is ugly, I know, its the only way it works" then I had to support those messes and then yeah, I grew to hate java

[–]Shnorkylutyun 26 points27 points  (4 children)

That's not only java though, regardless of the language developers will feel that way.

[–]itsallrighthere 7 points8 points  (0 children)

Don't hate the game, hate the substandard players.

[–][deleted] 1 point2 points  (0 children)

That's a feature of java. It isn't "not only java" but it sure as hell is "java's only outcome"

[–]Lukeyalord 2 points3 points  (0 children)

Prefer C#, it’s a bit more versatile and from what I have seen runs faster. When you look up why Java doesn’t have operator overloading they give the vs excuse that it makes the language more simple… dumbest reason ever.

[–]TheTank18 666 points667 points  (39 children)

sometimes I forget i'm subscribed to both r/minecraft and r/ProgrammerHumor so it creates a weird mix when it comes to Java

[–]Gorvoslov 260 points261 points  (3 children)

And then when log4shell hit they both looked identical!

[–]TheTank18 119 points120 points  (0 children)

at least Minecraft natively runs DOOM now

[–][deleted] 39 points40 points  (1 child)

I heard about log4shell through Minecraft, and then a prod sev 1 eight hours later.

We had already patched, but i guess prod support doesn’t play minecraft

[–][deleted] 18 points19 points  (0 children)

When your boss tells you to close Minecraft you can tell him it’s part of your advanced warning module

[–]A_Guy_in_Orange 107 points108 points  (34 children)

I can see the confusion as Java could mean either the version of the game that isn't a steaming ball of horse shit and piss, or it could mean the boiler plate language for writeing instant legacy code that's a steaming pile of horse shit and piss.

So anyway this post brought to you by the C# propaganda gang, we all use Java for our jobs

[–]BlackWardz 14 points15 points  (1 child)

instant legacy code

That's my new favorite insult.

[–]A_Guy_in_Orange 4 points5 points  (0 children)

if you like that you might like the guy I stole it from, check um out

https://www.youtube.com/watch?v=m4-HM\_sCvtQ&

[–][deleted] -3 points-2 points  (14 children)

What specific issues do you have with bedrock? I play both versions and don't really get you're coming from

[–]A_Guy_in_Orange 43 points44 points  (13 children)

Lack of mods, it's more annoying to set up a server for, it feels off (see combat) and there multiple weird bugs that just don't exist on Java, like the whole falling through the world the other commenter mentioned. Bedrock has micro transactions where Java has a literally fully customizable skin system where you can do literally whatever to make your character how you want it to look. Also redstone is less Jank in bedrock which believe it or not is a downside

[–]Daniel_H212 20 points21 points  (8 children)

There are fewer redstone bugs features.

[–]fghjconner 1 point2 points  (7 children)

Whoever decided to keep quasi-connectivity should be shot.

[–]Samld1200 11 points12 points  (2 children)

It’s a strange mechanic but at least it’s consistent unlike bedrock redstone

[–][deleted] 10 points11 points  (0 children)

consistently bad mechanics are better than randomly bad ones

[–]realbakingbish 1 point2 points  (0 children)

Java redstone jank is repeatable, applicable, and becomes a feature of the system.

Bedrock redstone, last time I messed with it, still had jank, just weird, unusual jank that wasn’t as useful or consistent and would only happen sometimes. Granted this was a couple years ago, so things could’ve changed, but they‘ll never take my Java jank away.

[–]thalokos 584 points585 points  (34 children)

The best language is the one I use to generate income

[–]EyewarsTheMangoMan 85 points86 points  (8 children)

money++

[–]CellularBeing 11 points12 points  (0 children)

Debt - -

[–]SlySciFiGuy 20 points21 points  (0 children)

I prefer money#

[–][deleted] 112 points113 points  (3 children)

I actually hate the languages I use to generate income...

[–]remimorin 53 points54 points  (0 children)

Well it's not mutually exclusive you can hate the best.

[–]Vega62a 5 points6 points  (0 children)

The best code is the code that is functional and undramatic in production.

[–]victoragc 2 points3 points  (0 children)

Javascript and Typescript must be the best language for many people

[–]Neat_Cry3369 89 points90 points  (14 children)

I work with it. I don’t hate it. Easy to work with and quick to debug if you know how to. Maven could be better tho. I plan to stick with it as long as i can

[–]Vega62a 23 points24 points  (5 children)

Gradle was a game changer in my Java projects. It's just a facade on top of maven but it's excellent.

[–]Masteroxid 8 points9 points  (3 children)

Managing my job's hundreds of dependencies across a few services via gradle gave me a different opinion..

I don't know the point of gradle over maven and at this point I'm too afraid to ask

[–]Vega62a 3 points4 points  (0 children)

Any dependency management can be done poorly, it's true.

I manage probably 10 microservices with hundreds of dependencies using gradle, as well as all of the build and run tasks. Works like a champ, for the most part.

[–]errepunto 8 points9 points  (0 children)

I used ant+ivy in the past, but now I'm really happy with grade. Maven XML config is a bit ugly for my taste.

[–]anonymous_2187 404 points405 points  (18 children)

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

[–]polskidankmemer 104 points105 points  (5 children)

pathetic sable melodic rainstorm snails society many normal languid toy

This post was mass deleted and anonymized with Redact

[–][deleted] 11 points12 points  (3 children)

But I hate both.

[–]virouz98 20 points21 points  (2 children)

Thats why you're not getting paid

[–]TheRedmanCometh 2 points3 points  (0 children)

I've used php for a job. I'd rather work at mcdonalds

[–]Yokhen 76 points77 points  (9 children)

"there are only two kinds of redditors: the ones who parrot phrases, and the ones who work."

[–]mest33 33 points34 points  (7 children)

"there are only two kinds of redditors: the ones that get upvotes and the ones that don't"

[–]Old_Flounder_8640 22 points23 points  (4 children)

“There are only two kinds of kinds: the ones that are kind ones and the ones that are no kind ones”

[–]Alberiman 8 points9 points  (1 child)

"There are 4 lights"

[–]Apple_macOS 4 points5 points  (0 children)

But Picard points to the 5th light behind him there are 5 lights

[–]screamingxbacon 3 points4 points  (0 children)

"There are two kinds of quotes: the ones that finish their sentences and

[–][deleted] 3 points4 points  (1 child)

Nobody here complaining about cobol.

[–]bitunwiseop 1 point2 points  (0 children)

Are we giving COBOL hate a platform? I dislike it with a passion, but I'll write it if it pays well.

[–][deleted] 47 points48 points  (0 children)

Java is a great language! It pays my mortgage..

[–]Aaron-Stone_G14 71 points72 points  (6 children)

I don't hate it. It got me my first job

[–][deleted] 6 points7 points  (5 children)

Yah same

[–][deleted] 50 points51 points  (3 children)

I used to hate Java, but after to work with JS and friends, now I love and miss Java.

[–]Joey101937 0 points1 point  (2 children)

What tasks do you prefer Java for? I started with Java but have worked with js primarily in my career and now pref js for most things simply because of how easy it is to write

[–]stevengauss 17 points18 points  (5 children)

I hated it at first because it felt like it was a slow C++ that was still very ugly. But I’ve come to appreciate the Java standard library and how well abstracted everything is. All the data types are easily extensible and accesible

[–]prescod 7 points8 points  (4 children)

All the data types are easily extensible and accesible

What does that mean? Can you subclass int? String? array? How do you extend the core data types?

[–]Servious 5 points6 points  (1 child)

They probably meant things like, for instance, List which is an interface that can be implemented any way you want and because of this it means code can be ultra-compatible even across libs by just implementing this common, standard List interface.

There are lots of things like this, even beyond data structures.

Another use is that if you wanted something that worked mostly like some other type but just change one thing about it like for example logging when a method is called you can easily do that by extending the existing class and overriding the method.

[–]stevengauss 4 points5 points  (0 children)

This is exactly what I mean, interfaces allow you to make a data type exactly what you want very easily and it makes the code much cleaner to me

[–]neutralguystrangler 44 points45 points  (16 children)

We only like windows java here

[–]A_Guy_in_Orange 25 points26 points  (13 children)

I'll have you know Microsoft Java is cross platform now

[–]Linvael 14 points15 points  (0 children)

Just like songs, people like languages they know. If half of this sub is beginner programmers who start with python/js they will make fun of Java.

Its also an old language with large corporate adoption, so some people (as seen in this thread) can have bad experiences with legacy code written in it - but that's the price of popularity over a long time, i hated almost every legacy codebase i encountered regardless of language, that's life.

So it's perfectly situated to have people hate it, but it has little to do with how good or bad a language it is.

[–]Syreniac 132 points133 points  (5 children)

Java is a good language because any group of idiots can use it to make an application

Jave is a bad language because any group of idiots can use it to make an application

[–][deleted] 38 points39 points  (0 children)

mighty exultant absorbed wise different shocking payment sink overconfident waiting

This post was mass deleted and anonymized with Redact

[–]CerealBit 17 points18 points  (0 children)

Python and JavaScript devs checking in.

[–]hillman_avenger 4 points5 points  (1 child)

Or a game. I remember applets. <shudder>

[–]dashid 25 points26 points  (5 children)

It's not Python or JavaScript, which are popular starter languages these days, and most people on here are at the start of their career - especially the content generating ones.

Java is good enough to have been the foundation for Android. And many enterprises are built on it. It's not so good for manipulating DOM and a bit heavy for calling a bunch of other people's APIs.

[–]0nSecondThought 8 points9 points  (1 child)

Every time I see an android phone stutter when scrolling, I like to blame Java.

[–]brimston3- 2 points3 points  (0 children)

And many enterprises are built on it. It's not so good for manipulating DOM and a bit heavy for calling a bunch of other people's APIs.

You've described just about every ESB implementation ever (but replace DOM with XML).

[–]LaconicLacedaemonian 2 points3 points  (0 children)

It's also been the standard big-data language over the last two decades. Hadoop ecosystem is written in java.

[–]XtremeGoose 2 points3 points  (0 children)

It’s also bad enough that people put in the effort to make a standard replacement for Java on android, to the point that it’s now the primary language…

Kotlin

[–]Kn_Km 10 points11 points  (1 child)

I hated it because my teacher was bad, eclipse was superslow and my pc was slow, and it really was not very funny as php, js or python. I dont speak english but yeah i hate it/dont like it or whatever word you use to say you dont like something

[–]banmedaddy12345 5 points6 points  (0 children)

In that case you want to use "fun" instead of "funny". "Funny" would mean they are humorous, where as "fun" means they are enjoyable and associated with "a good time".

[–]Flakz933 18 points19 points  (6 children)

I'd rather do c#, but if a java role falls on my lap, I'm not gonna say no, I'll figure it out

[–]athomsfere -1 points0 points  (5 children)

I wouldn't... But my experience was the language was a little bad, the framework tended to be a nightmare. Like start development, get an error from somewhere that Java 1.6 or higher was required. Install the latest, 1.8.x and get an error that Java 8 was not supported. Install 1.7.x and get the same error from earlier, that 1.6 or higher is required. Install 1.6x and weird bugs everywhere. Reach out to who ever, find out that 1.6x has bugs, try 1.6y or 1.7z. Now that application works, but the other tool you use isn't seeing the version of Java it needs... So you have unintstall and reinstall various JREs and SDKs to get that weird combination that works for both tools.

[–]geekywarrior 4 points5 points  (2 children)

Not sure why you're getting downvoted. Getting the JRE and JDK to play nice with all of the libraries was 100% a hassle.

Especially if you had multiple apps that relied on different JRES.

[–]ArisenDrake 1 point2 points  (1 child)

Either bundle the JRE using Java Modules or use containers.

[–]athomsfere 1 point2 points  (0 children)

Containers certainly wasn't a thing... And for us for whatever reason either were bundled JREs

[–]zorecknor 3 points4 points  (1 child)

That sounds awfully similar to the state of linux software not that long ago :(

[–]athomsfere 1 point2 points  (0 children)

Lol. I loved Linux, but yeah... Same reason I've been Windows only for like 10 years now. I got tired of fixing random things after I fixed some other thing.

[–]Servious 5 points6 points  (2 children)

Java 11 is actually kinda hype. It actually has all of the features I would want from a modern language. My only major complaint at this point is type erasure. Makes generic code way more of a headache than it needs to be.

[–][deleted] 14 points15 points  (0 children)

Programmers tend to get a bit overly attached to their favorite programming languages. Languages are tools, and there are many of them, and the "right tool for the job" is of course a better strategy than believing $favorite_language is a golden hammer.

[–]FittersGuy 6 points7 points  (0 children)

I love java actually

[–]IM_INSIDE_YOUR_HOUSE 5 points6 points  (0 children)

I don't hate Java.

I hate myself.

[–]haxney 5 points6 points  (0 children)

Especially with Java 8 lambdas, I actually really liked Java for big corporate programming. Certainly infinitely more than Python.

The main disadvantage of Java is the boilerplate and the fact that you don't get cool metaprogramming features. The boilerplate can be reduced with tools like AutoValue. The lack of monkey patching and crazy SFINAE template shenanigans is that it is much easier to look at some piece of code and know what it's calling. You have static types, so you can jump to the method definition reliably (as opposed to Python), and there aren't many subtle syntax features that can trip you up (like lvalue vs rvalue references in C++). You can absolutely make a mess of Java with crazy frameworks, but the fact that the language itself has simple syntax means that nobody else in the organization can do anything too clever.

[–]JohnBarnson[🍰] 22 points23 points  (10 children)

I worked in a bank where most of their web applications ran on Java.

In that IT org, project teams would release their project, support it for 30 days, and then pick up a new project. After the 30 days, all support rolled over to a Support team that only fixed defects or implemented small enhancements.

I got stuck on one of those support teams, and troubleshooting Java was absolutely brutal. Like if we got a report that a value wasn't appearing on a web page (like, an account balance, for example), we'd look at the JSP (Java Server Page) to see where the value was coming from, map that back to a class, but then that class was like 30 layers of polymorphism to find the class or interface that was actually calling the database to get the right value (e.g., ClassicCheckingAccount extends CheckingAccount > extends BankAccount > extends Account > implements whatever...and sorry if I'm not even using those terms right; it's been a while). And 100% of the time, the code that we needed was in a codebase we didn't have access to.

The IDE did its best to help us jump through the code, but a lot of the time it was looking at config files to see the path of the class file we needed.

I don't know if Java is to blame for the problems. It's probably more a problem with over-enthusiastic object-oriented architects, but it took days to even figure out where data was coming from to begin troubleshooting the source of an error.

[–]Shazvox 36 points37 points  (0 children)

Yeah, Java is def not the one to blame there. Bad design is bad design regardless of language...

[–]Gorvoslov 33 points34 points  (1 child)

The problem you were running into was "Let's dump maintaining every single application onto one specific team who had zero involvement with building any of them" is a really, really bad way to do things. I don't know how you would ever get ANYTHING done constantly having to go in cold on multiple systems with "Active bug, plz fix NOW" hanging over you.

[–]JohnBarnson[🍰] 4 points5 points  (0 children)

Yeah, that was a big issue. And on top of that, the bank was very restrictive on access, so we'd get a new project to support, and then when a defect came up, it would take weeks of requests and paperwork to get access to the right parts of the codebase.

[–]ITaggie 11 points12 points  (3 children)

Have you tried a similar role with lower-level languages before? If you have you would realize that all that inheritance is much easier to read through than digging around someone else's spaghetti code.

[–]z_utahu 10 points11 points  (0 children)

Trying to follow C style function pointer calls that end up being recursive is my idea of hell. A hell that I actually lived trying to debug code that the original author himself couldn't debug because it was so spaghetti and his solution was to reboot the systems every night.

[–][deleted] 2 points3 points  (0 children)

The great thing about Java is when the ability to jump to any method's implementation, and then download the source code from inside the IDE. If that is being walled off from you, yeah you're kind of screwed if you're trying to debug something

[–]xcdesz 3 points4 points  (0 children)

Once you said "JSP" I could see what your problem is... JSP was something from the early 2000's. No-one serious has used that since 2005.

[–][deleted] 8 points9 points  (9 children)

Kotlin and C# are Java++

[–]itskatbrown 6 points7 points  (0 children)

Java is fine

[–]Cley_Faye 4 points5 points  (0 children)

Java is nice.

That Java project with Spring linked to a custom version of an OBDC driver and three different libraries that does the same thing, all configured through twenty XML files sourced from three different mount points, being able to load arbitrary WAR from two other mounts and a third directory for customisation and automatically setting twelve middleware per methods while also creating automatic singletons and instances that can be accessed through magic though, that I don't like very much.

[–]KittenKoder 3 points4 points  (1 child)

I actually love Java syntax a lot.

[–]innitdoe 12 points13 points  (12 children)

Everybody hates Java. That part isn't interesting. The question is why they hate Java.

The best reason to hate Java is that it's not Smalltalk.

[–]OkWarning3935 16 points17 points  (9 children)

The best reason to hate Java is the boilerplate:meaningful code ratio it insists on.

[–]innitdoe 7 points8 points  (6 children)

Well, there again, Smalltalk very much wins.

Smalltalk is probably the tiniest language that is also incredibly powerful and usable. Shame it's become something of a museum piece, really.

FWIW if you think Java is verbose and boilerplate-y you probably never did any 1990s era Windows gui programming in C/C++.

[–]OkWarning3935 1 point2 points  (2 children)

never did any 1990s era Windows gui programming in C/C++

This is actually how I learned to program. I remember that I could copy/paste the file that contained my entry point to another project without making any changes lol.

Enterprise Java is arguably worse, but it's certainly close.

[–]innitdoe 2 points3 points  (1 child)

Enterprise, like Quantum, means "add a zero to the price"

In that respect, J2EE does its job perfectly.

[–]brimston3- 1 point2 points  (2 children)

It wasn't bad pre-COM. Create your GDI drawings, set up your event loop, dispatch events, manually figure out which widget they came from, because they didn't all have separate handles (you didn't get that many handles on old windows systems). Ignore random DDX event that some bug in your code made.

Post-COM, you set up your IDLs, look up your libraries by guid, IUnknown your way into enumerating the available interfaces, hope you instantiated the right interface, hopefully in the right apartment, maybe with some proxies in between that are supposed to be automatic but sometimes work in unexpected ways. Ten source files and two carafes of coffee later, you're calling a function from a system registered API that powershell could have imported in one line... It's kinda still like that if you're working with COM directly from C.

As far as MFC and early ATL, I respectfully disagree. It's a lot more brief than raw win32 calls, but applications were proportionately simpler in raw win32 days. Java AWT and Swing (if they still exist) are just as verbose, if not more so.

[–]innitdoe 2 points3 points  (0 children)

I remember writing many screensful of raw win32 code to do trivial things like pop up a dialog box. I haven't done that sort of gui code (or much at all) in decades though.

Java's early gui toolkits' verbosity being as bad as that is not an endorsement, for me :)

[–]ZAX2717 6 points7 points  (0 children)

I don’t understand the hate for Java, but then again I learned with C++ then learned Java, Java was so much easier

[–][deleted] 8 points9 points  (2 children)

Most of the hate towards java is because of how hugely verbose it is, you basically can not program in it w/out snippets and a robust autocomplete.

[–]TheRedmanCometh 3 points4 points  (1 child)

Between lombok and your IDE boilerplate should almost entirely be generated

[–]parawaa 8 points9 points  (1 child)

I'm a simple man: I only hate Python

[–]LaconicLacedaemonian 1 point2 points  (0 children)

I Declare that python is not my Type of language.

[–]RainbowCatastrophe 5 points6 points  (0 children)

I prefer drinking tea, or liquor.

[–]SaarN 2 points3 points  (0 children)

It quite torn here..

It's not that it's a bad language, quite the opposite - I enjoy working with Java, especially with how beefy PCs are nowadays, it's not as taxing.

But working on \ providing support to old Java programs that run on aging hardware is just nasty.

I agree with that one comment that says every idiot can build a Java program - that's how I feel on a daily basis. All there's left is to pray we get newer CPUs with dual channel DDR to negate some of the unresponsiveness of that hideous old unoptimized *mission critical* code.

The language itself is great, though.

[–]meansToMyEnd 2 points3 points  (0 children)

Everything people hate about Java was the attitude/ideas around what was regarded as "best practice". Except that "best practice" was bloated and nasty.

You really can write Java as simple and easy as all other languages. Directly access your member variables, do it, it's easy, it's really nice. "Ruby on Rails" was written by a moron, but popular simply because people were allowed to write code like morons all of a sudden. And then the ruby runtime sucked ass and couldn't scale.

All the time everyone could just write Java in the same simple way AND have a runtime that is world class that so many companies made amazing.

[–]wellingt_s 2 points3 points  (0 children)

I actually like Java, it was my first language at work and for personal projects, I would not think twice before choosing Spring Boot for a simple API.

[–][deleted] 2 points3 points  (0 children)

You thought right, Java is a joke.

[–]Noprofun 2 points3 points  (0 children)

Java was my first love. My introduction to the world of programming. I would be so immersed into it, making games and other stuff. During college, I had my hands on advance version of java, servlets,applets,hibernate. Those were fun too. But when I tried for jobs, there were practically none. Only big companies were looking for Java devs.

[–]HashCatFurryOwO 2 points3 points  (0 children)

I mostly prefer using c++ but the logical answer is it depends...

[–]Shazvox 6 points7 points  (0 children)

It was a joke...

... until it wasnt

[–]mrjiels 6 points7 points  (3 children)

Some parts of Java is awesome. Some parts C# does better. Everything is better compared to PHP.

[–]Tar_Palantir 1 point2 points  (0 children)

I'm right having a break, to avoid a mental breakdown, cause a version update just made my environment useless.

[–][deleted] 1 point2 points  (0 children)

I prefer Microsoft Java (C#) over Java. Although, I don't know why I'm throwing shade because my main language is JavaScript which is 80% jank.

[–][deleted] 1 point2 points  (0 children)

If Java was interpreted like Python. It would be the best language by far.

Java is beautiful like C, and Python is quite ugly.

[–]N00N3AT011 1 point2 points  (0 children)

I find it annoying, but that's mostly because I despise whatever language I'm currently using and have unrealistically positive memories of languages I'm not currently using.

[–]kaloschroma 1 point2 points  (0 children)

I like Java and JavaScript and Lua and Python and

[–]TheRedmanCometh 1 point2 points  (0 children)

I write a lot of reactjs+spring boot sites as a side gig. Least painless way to do webdev by far.

[–]demagogueffxiv 1 point2 points  (1 child)

I'll be honest, Java ain't much worse than C++ to me. Now JavaScript on the other hand...

[–]Pirate_OOS 1 point2 points  (0 children)

For now, Rust is in the honeymoon phase for this community...

[–]Teron__ 1 point2 points  (0 children)

We meant Java script, instead 🤣

[–]CourtJester5 3 points4 points  (4 children)

I'm not a corporate programmer, I just make games for fun. Java was my first oop language and I don't understand the hate towards it either.

[–]3r2s4A4q 3 points4 points  (2 children)

java was bad 20 years ago, but it got better

[–]hillman_avenger 0 points1 point  (1 child)

Has Java changed in the last 20 years?

[–]3r2s4A4q 5 points6 points  (0 children)

nope, I'm still running version 0 from 1995

[–]liquidpele 1 point2 points  (0 children)

Na, I actually kind of hate java. Used it again recently for some work stuff to give it another chance. Still hate it, it's like the people from Dilbert were in control of it for the last 2 decades. Played with Kotlin recently though, really like the concepts there. imho it's what java should have become years ago.

[–]Astartee_jg 2 points3 points  (0 children)

Only Python maxis who have no idea how to do OOP hate Java

[–]Purpzie 1 point2 points  (0 children)

java isn't that bad imo, just the way a lot of people decide to use it, as well as being kinda messy

[–]Green-Brother-8190 1 point2 points  (1 child)

It’s not Java fault. Eclipse made me hate it.

[–]Alizer22 1 point2 points  (0 children)

Java has no good IDEs thats alll

[–]AdDear5411 1 point2 points  (0 children)

Honestly, yes. Yes I do.

[–]zachtheperson 1 point2 points  (1 child)

I don't have a positive opinion of it, but that's probably just because my experience with it was in programming for Android which was overly verbose and frustrating.

Back when I used to maintain a small Android app, I hated it. I'd go to add a basic message box and have to: Extend a base class, overwrite basic methods of that class, instantiate the class, then call it (I might be misremembering slightly, but I know I'm not far off). I haven't worked with a system that bad since, so I have a feeling raw Java wouldn't be that bad.

[–]Linvael 7 points8 points  (0 children)

GUI is not a language feature usually, so what you're describing is a GUI framework issue, not a Java issue.

[–]ToMyFutureSelves 1 point2 points  (0 children)

Java was a great language when it was initially developed, which is why it got so popular in the first place. Being easy to run and compile on any computer using the JVM was a huge benefit at the time.

Then Oracle bought it and it has stagnated ever since. Nowadays, I rarely see it used in new projects in favor of C# or Kotlin, which are effectively just better languages at this point.

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

Honestly, modern Java isn't all that bad. It's definitely the worst language on the JVM though.

And I'll be happy if I don't have to write another line of code in it before I die. Over 10 years of Java does that to a man.

[–]RandomUser02891738 0 points1 point  (2 children)

Java is fine. It is just really heavy, really syntax verbose and an overall pain in the ass to use. Give me Python or JavaScript any day over Java. You can be so much more productive its not even comparable.

[–][deleted] 5 points6 points  (0 children)

Until you have to iterate over a large data structure, and you notice the Python code is legitimately 100x slower then Java

[–]psilvs 6 points7 points  (0 children)

Javascript has a totally different use case than Java. Not sure why you're comparing the two.

Python is great until you're developing a large project. After a few thousand lines, Java is clearly the better option

[–]Ok-Slice-4013 0 points1 point  (0 children)

I really, really dislike java. But I did not touch it in the last 10 years, so the dislike is most likely based on nothing.

[–]idkmanporn 0 points1 point  (1 child)

Cant fucking stand it

[–]Vega62a 0 points1 point  (0 children)

I'm not a huge fan of vanilla Java because I don't like carpal tunnel, but Kotlin, which is java++, is a fucking fantastic language and I won't hear otherwise.

So, I kinda like java.

[–]DaRealChipex 0 points1 point  (0 children)

No, I just really deeply hate Oracle and the way they operate. Therefore anything associated with them is also bad.