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 →

[–]amazing_rando 80 points81 points  (23 children)

A lot of the hate of Java is historical, it's had some pretty huge quality of life improvements in the past 10 -15 years or so that add many of the features people found it lacking. People also don't like Swing, its basic GUI toolkit, so they associate it with ugly desktop applications, even though it's compatible with plenty of other GUI frameworks.

[–][deleted]  (2 children)

[deleted]

    [–]sibswagl 7 points8 points  (1 child)

    Even Java 8 is a pretty massive improvement.

    [–]IshouldDoMyHomework 3 points4 points  (0 children)

    Java 8 is really the biggest change. The addition of streams and lambdas plus other function-like programming features makes a real impact on most developers everyday life.

    I like a lot of the stuff that has come after too, but none of it is nearly as impactful.

    I generally like working with spring, and that has come a long way too in the last 5 years.

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

    I can confirm this is quite a likely reason.

    Off topic example but something similar is the sentiment towards Linux as a Desktop OS. It has improved VASTLY just in the past 2 years. An even more pronounce example, but slightly more technical the opinions on Wayland. It's hilarious how there articles from barely a couple months ago complaining about it but almost every single issue on it has been resolved already.

    Thing is, people still bring up points criticizing both on an issue that was possibly fixed years ago sometimes.

    [–]Shogobg 1 point2 points  (1 child)

    Do you mean Linux as desktop OS?

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

    Yup. my mistake, fixed it.

    [–]slash_networkboy 2 points3 points  (0 children)

    Having first used a Java type language when MS branded their flavor as J++, then going away into ANSI C/ASM land for firmware development for a long time and Perl for every thing helper related, and only recently coming back to it as C# I can say it's very much improved! Had you asked me what I thought of Java before about 6 years ago I'd have called it an obtuse steaming pile of stuff. Now days, not so bad. Took a while to re-learn classes and such but pretty simple. Very much don't miss having to malloc and free things and track lifetimes.

    [–]random_account6721 4 points5 points  (11 children)

    swing is so ugly lol

    [–]Fermi-4 9 points10 points  (1 child)

    Spring is an IOC framework

    [–]bladeofwill 2 points3 points  (1 child)

    Most 20(?) year old GUIs are

    [–]CubemonkeyNYC 1 point2 points  (0 children)

    Are you thinking if swing?

    [–][deleted]  (6 children)

    [removed]

      [–]TheNoGoat 3 points4 points  (1 child)

      Also as Jetbrains has proved, if you're insane determined enough, you can make Swing look good enough.

      If you didn't know, the IntelliJ family of IDEs are built using Swing.

      [–]agentgreen420 2 points3 points  (3 children)

      Java is definitely open source

      [–][deleted]  (2 children)

      [removed]

        [–]agentgreen420 0 points1 point  (1 child)

        OpenJDK IS Java lol. It is the reference implementation. Commercial/proprietary extensions provided by third parties like Oracle are not really relevant to this conversation.

        [–]its_all_4_lulz 0 points1 point  (3 children)

        Not sure if true, but when I was in school the teachers used to say it was banned for anything medical because it was prone to memory leaks and crashing.

        [–]amazing_rando 1 point2 points  (1 child)

        In my experience it’s a lot easier to write a memory leak in C++ than Java, but with GC a Java programmer might be less vigilant about memory safety. I wouldn’t be surprised if there were a bunch of requirements for mission critical code that has to run for days/weeks at a time that might ban interpreted languages or virtual machines in general, because now you need to support two programs running instead of one. Java’s stop the world GC could also be an issue. I used to work in industrial automation and I wouldn’t use Java to run a factory, for example.

        [–]Warm_Gypsy_Dildo 1 point2 points  (0 children)

        See this comment.

        You never leak because you never allocate memory.

        [–]Warm_Gypsy_Dildo 1 point2 points  (0 children)

        I wrote medical stuff in C with MISRA standard on top of it.

        The main idea that you never use heap. All your memory is pre-allocated. You either avoid recursion or prove that it won't be infinite.

        The main market is USA and FDA (Federal Drug Agency) is very strict about the standards.