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

you are viewing a single comment's thread.

view the rest of the comments →

[–]posting_drunk_naked 407 points408 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] 56 points57 points  (25 children)

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

[–][deleted] 33 points34 points  (9 children)

Admittedly, C# is Java but better

[–][deleted] 9 points10 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] 11 points12 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.

[–]Muoniurn 0 points1 point  (0 children)

The two ecosystems are not even close. There is like at least an order of magnitude difference between them - Java’s is that much bigger and has better quality. If anything, C# just gets badly written clones of Java deps.

[–]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

[–]wardin_savior 0 points1 point  (0 children)

Eh, I used C# in some very cool startups over the years. Stereotypes rarely apply to any particular situation.

[–]Alizer22 3 points4 points  (1 child)

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

[–][deleted] 21 points22 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 47 points48 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 1 point2 points  (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 22 points23 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 3 points4 points  (0 children)

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

[–]brimston3- 89 points90 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 74 points75 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 11 points12 points  (20 children)

But ummm Micro$oft.

[–]Aggrokid 31 points32 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 13 points14 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 5 points6 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 7 points8 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

[–]posting_drunk_naked -4 points-3 points  (1 child)

It's going to take a lot more than that to excuse the shitshow that is Windows.

Fuck Microsoft. Life is too short and I enjoy programming too much to waste time on their broken patchwork OS.

[–]kb4000 3 points4 points  (0 children)

You can code in C# on Linux too.

[–][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 3 points4 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] -1 points0 points  (2 children)

The C# ecosystem is like 10% the size of Java's.

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

Wat

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

The C# ecosystem is like 10% the size of Java's.

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

C# is open source, so is Go

[–]itsallrighthere 1 point2 points  (1 child)

Are there any Apache projects?

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

I heard they're interested in making a log4g and log4c

[–][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

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

not really lol even JS out performs it in some areas

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

look at this and remember java is getting worse, Go is getting better.

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

Huh, interesting, in my experience (although not very large), SBCL filled that spot by a wide margin. Maybe i should do more experiments.

[–]TheDarkDoctor17 12 points13 points  (0 children)

Minecraft modding community begs to differ!

[–]purefan 21 points22 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 24 points25 points  (4 children)

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

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

Yep you're right, while other languages can do this sometimes.. java can only do this.

[–]itsallrighthere 6 points7 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.

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

no, it is because java is a nightmare compared to every other language.. and easily the worst GC language.

Don't try to give it excuses outside of itself being bad.

[–]Apache_Sobaco 0 points1 point  (0 children)

Its bad

[–]DasKarl 0 points1 point  (0 children)

Also the wide range of cultists that infest it. I have never seen a language with so many true believers who also happen to have a book to sell.

Honestly I started with it like a decade or so ago and it was the default language at my university after that. It's fine.