Why do people hate on Java so much, I think it’s a great language.
Do you use Java at work?
Fuck no, I want to stay sane.
I work with Java. And I’m definitely ‘rose tinted glasses’ because I also learned to code in Java. But I’m the opposite.
Do you use Java at home?
Fuck no, I want to stay sane.
To me, Java feels nice and homely. Like coming home to your family over Christmas. Of course your parents aren’t quite with the times any more and a bit racist, which always makes for a nice discussion with your sister’s Hispanic husband. And there’s always uncle bob, who gets way too drunk and starts hitting on your wife. Your sister usually tries to get you to invest in her latest MLM scheme and the food tastes like seasoned cardboard. But it’s always warm and welcoming. Luckily it’s only for the holidays.
A lot of people misapply OOP principles, causing them to come up with stuff like
ThingFactoryFactory
, or the things Enterprise FizzBuzz parodies.
Holy shit! Can that be any more drawn out and boring?
It’s java. Extremely drawn out method names is it’s calling card.
One might even say it’s an ExtremelyDrawnOutMethodNamesFactoryImpl
… BeanAbstractBeanFactory
And slow startup times.
Java isn’t as verbose as Appkit/UIKit, I think. Take a look: https://developer.apple.com/documentation/uikit/nstextselectiondatasource https://developer.apple.com/documentation/appkit/nstextinputclient
Lol. Two things can both be bad.
I’m unfamiliar with Mac programming but that looks normal. Do those function calls become absurdly long when used?
Here’s one I found on Google from the jdk:
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter
Yes that’s not a typo, internalframe is repeated.
I mean, it’s dumb but I know what it is. It’s the painter for the internal frame’s title pane maximize button, which is in the internal frames title, which is in the internal frame.
It’s essentially a dumb way of writing: InternalFrame.Title.MaximizeButton.Painter
I think it was amusing. A relic of a simpler time
It was actually a pretty good Bond parody too!
If you are or ever become a mother, you’ll be smegma
Almost certainly
That laser at the end should have been Java Technology™ ;
You point it at anything, and end up with a huge dumpster fire… Sounds like Java to me
90s. Such a wild time.
Whoa the disrespect. The way she threw away C++ haha
Also, the whole thing was next-level cringe
Granted, she did use it with deadly efficiency. I think that one backfired on them.
Honestly modern Java has a lot of really nice features and I think it gets a lot of unfair hate
Yeah they almost fixed the need to compile and run with the exact same jdk version.
The rest still applies
You don’t need to compile and run with the same jdk version. Dunno why you think this.
Not now, not most of the time anyway. I did say mostly fixed
That was not the case back with Java 6 ish. Even massive breakage between minor releases was common. you had to tell everybody exactly which jre to use and possibly ship it with your software
I use a Java backend with a React frontend at work. It works fine with us and it’s not going anywhere anytime soon.
“Can you program in Java?”
“Yes, if you pay for the plane ticket.”
I first learned about Java in the late 90s and it sounded fantastic. “Write once, run anywhere!” Great!
After I got past “Hello world!” and other simple text output tutorials, things took a turn for the worse. It seemed like if you wanted to do just about anything beyond producing text output with compile-time data (e.g. graphics, sound, file access), you needed to figure out what platform and which edition/version of Java your program was being run on, so you could import the right libraries and call the right functions with the right parameters. I guess that technically this was still “write once, run anywhere”.
After that, I learned just enough Java to squeak past a university project that required it, then promptly forgot all of it.
I feel like Sun was trying to hit multiple moving targets at the same time, and failing to land a solid hit on any of them. They were laser-focused on portable binaries, but without standardized storage or multimedia APIs at a time when even low-powered devices were starting to come with those capabilities. I presume that things are better now, but I’ve never been tempted to have another look. Even just trying to get my machines set up to run other people’s Java programs has been enough to keep me away.
It doesn’t help that they keep deprecating and changing standard stuff every other version. It’s like they can’t make up their mind and everything may be subject to change. Updating to the most recent release can suddenly cause 10s or 100s of compiler warnings/errors and things may no longer behave the same. Then you look up the new documentation and realize that you have to refactor a large part of the codebase because the “new way” is for whatever reason vastly different.
Can you give some examples? I’m my experience Java has been pretty easy to upgrade to new versions. 9 was a bit wacky but that was it. It’s definitely been less of a headache than worrying about using Python 2 versus 3, for example.
They made it free so they could sell courses and consultancy hours. Can’t do that if it’s all straightforward. It’s the death star of complexity.
Is that dude with the boom box from Stargate?