3

Why the hell do people still use Java? It's so slow, messy, insecure, and heck, it doesn't even have unsigned integers, bytes etc.? Like wtf?

Comments
  • 2
    technically person with extremely generic name, it has signed nibbles :P

    which fucking suck lol
  • 2
    It's like foie gras or leaded petrol or C, bad things always take a while to die out.
  • 0
    @MM83 betcha you think python is a good thing :P
  • 0
    @AvatarOfKaine never used it, why?
  • 1
    It’s all those things for people who don’t (want to) understand OOP.
  • 0
    Is it slow? What are insecurities? 🤔
  • 6
    Any programming language is insecure.

    Give a human something and he will find a way to kill someone or something with it.
  • 3
    Sorry, *Java* is insecure, coming from *C programmer*? No.
  • 6
    Have you met our lord and saviour Javascript?
  • 0
    @C0D4 I am a regular user of JS
  • 7
    @Cprogrammer and you go and call Java insecure 😂

    Oh man, that's the best joke this week!
  • 0
    @atheist Fair enough, though not exactly related to the language itself, I'm surprised to see Java applets still used in some sectors, which is concerning to me.
  • 0
    @C0D4 lol I'm sure you would love the web to change from using JS to good old Java applets. Right? I'm sure you'd love other people's code to escape from the sandboxed environment. How fun!
  • 4
    @Cprogrammer javascript is by definition a whacky nutjob, especially given it's complete lack of sanity.

    And looking in terms of CVEs, turning it into server side via e.g. Node hasn't made it better.

    JS is fundamentally broken, no matter how many JS devs don't want to hear it.
  • 0
    @IntrusionCM And how is a lack of unsigned integers and forced-oop not "broken" exactly? The Java standard libraries are just completely awful and ancient too. There is always some incompatibility with versions and crap and updates. Just no. You mind telling me what you hate so much about JS?
  • 6
    @Cprogrammer if you honestly call updates and versioning in a language bad, then you're definitely hopeless.

    JDKs standard libraries have improved over time in my opinion, and are far from ancient unless you use an ancient version of Java...

    Java has functional support by the way. It doesn't force OOP either.

    And I don't get your obsession over unsigned integers. It's a corner case.

    JOOQ e.g. implemented unsigned types for better compatibility to databases supporting unsigned types.

    Regarding JavaScript: The language is a mess. ECMAScript tries to fix it, frameworks rebuild and synthesize new languages based on it, but the core of the language is a whacky nutjob.

    Things like TypeScript or large frameworks which not only add features, but redefine and reshape the whole language to fit their needs as the core just sucks is in my opinion enough to declare JavaScript as fundamentally broken.

    No one would write a large project in plain JavaScript for a reason.

    Given the mass of frameworks nowadays, JavaScript projects don't exist if one is very nitpicky.

    What exists is a heavily fragmentized ecosystem based on an suboptimal package manager. Fragmentized, as endless myriad of deviations tries to fix the language.

    Suboptimal package manager as the approach of Node is broken in my opinion - taking out the whole approach of updating versions by relinking / copying several versions was and is a bad idea.

    Looking at CVE reports of JS project proofs this... And things like dependabot / GitHub and other automations became a necessity as no sane person understands what the fuck Node is doing.

    So yes, it is a whacky nutjob.
  • 2
    Dude, Java's just a language. Anything you can do in C, can be done in Fortran, js, python, cobol, whatever. Not forced oop, forced namespaces. I'm not super fond of the runtime, but it does exactly what it set out to do. Write once, run everywhere. The android runtime is Java.

    You're also being a bit of a dick trying to antagonise people, so I'm out.
  • 0
    @IntrusionCM It seems my DisagreementFactory has given me a new Disagreement. Who says I use Node Package Manager? It's a completely separate thing, not necessary and there are many better alternatives. You seem to think no big projects use JS. Take VSCode for example, an excellent editor, written in TypeScript, and Discord in Javascript, among millions of other great apps. The Java apps I've used? Well, half the time I see "App name is not responding" after clicking a button too fast. Now that's obviously mostly the programmers fault, but it seems to be more common to see glitchy messes when an app is written in Java.
  • 1
    @Cprogrammer because TypeScript isn't JS...

    TypeScript is it's own language which transpiles to JavaScript. Which is exactly my point.

    No large vanilla JS project exists. And that for good reasons.

    And compatibility layers for ECMA, like e.g. Babel, do the same.

    Regarding Node. Which other alternative exists that does _not_ mimic nodes behaviour?
  • 0
    @MM83 because its horrible lol
    its readable but its an interpreted language and it encourages bad coding practices with its option to lack strong typing.

    that and it interops with c in some cases which screws up intellisense, somehow.
  • 0
    @MM83 and yet, and yet, it has a shit ton of language bindings for all kinds of things like computer vision, machine learning, but seems to fail at many fundamentals like gui, and image manipulation.
  • 2
    @IntrusionCM I do a lot of work in JS and have to confess that I quite enjoy it, though I can't disagree with anything you say except 'No large vanilla JS project exists' - I've worked on a few. They're everything you imagine and more.

    The node/npm ecosystem is totally fucked, just last night I did a create-react-app which pulled in 262mb of node_modules for a fucking blank page - I even put a rant here about it. Admittedly that's not the language itself but I am inclined to think it is a result of the 'it works at the moment, don't fucking touch it in case it breaks' mentality that JS dev engenders.

    I've also done a lot of Android work and never found Java to be a problem. C# but with fewer features - it's basically C syntax, hard to see how someone can hate one and not the other. What they normally mean is 'the runtime sucks' or 'I wrote shit code it in' or 'it was too hard'
  • 0
    @AvatarOfKaine I don't have a problem with C at all if that's where it came from, hard to really see how an engineer can - I was just writing it because the OP is called CProgrammer.
  • 0
    @MM83 I was talking about python.
    c is just a bit clunky.
  • 0
    I dont find this as lustrous as I did suddenly.

    https://kivy.org/#gallery
  • 0
    @AvatarOfKaine no, I mean yesterday you wrote 'betcha you think python is a good thing', I assume this is because I said C was shit.

    I am curious as to how it has such a monopoly on ML scripting, this seems to have given it a veneer of respectability. Other than that the only people I know who use it are SEO, uh, I don't want to say engineers, people.
  • 2
    @MM83 Okay, plain vanilla JS in large sounds scary.

    I guess what triggers me most is that most JS devs really try to showcase JS as some superior thing... Which it isn't.

    No language is perfect, given that every language was designed by humans.

    In my opinion Java finally starts to adopt the right things. But a language cannot change "easily". JDK 11 was already a good move forward with eg. an asynchronous http library and the long overdue GC. The last releases up to JDK 17 were a lot of polishing, e.g. by sealing / encapsulating internal APIs and removing a lot of deprecated / unneeded stuff.

    The same what any language does in a nutshell.

    Python e.g. changed it's compiler from PEG to LL and integrated type hinting.

    PHP integrates strict typing, speed optimizations, lots of funnies and goodies.

    C++ evolves by releasing every few years new standard versions.

    Rust integrates new features and extends its std lib continuously...

    Scala had a major rewrite in v3

    I could go on, but I think the point is made. No language is perfect, and as long as the devs and authors agree on that, the language can become better.

    Choose the right tool for the right job.

    JavaScript certainly is a first choice in web, but with any other language - be open that it has it's weaknesses and don't praise it as a glorified remedy for everything.

    I like to dibble and dabble with a lot of languages, not only for the fun of it, but because I think it is essential to become not a zombie cultist praising a single language only.
  • 4
    @IntrusionCM JS evangelists really are the fucking worst, but I think they're at the 'wow, all this rope!' point, and have yet to see how many ways it lets one hang oneself. I normally interpret too much enthusiasm for a language as a sign of inexperience, once you've been around the block a few times you realise that, like you say, they're all designed by people, all great and all shit.

    To declare oneself a 'ninja' or (naming no names) a 'god' of any language is basically signposting that you know a lot less than you think you do and you're going to be a pain in the arse to work with.
  • 3
    @IntrusionCM I completely agree. JS is has flaws and its not something I would use if it wasnt for a web app front end, but for when I do need to use it, it serves its purpose reasonably well. I primarily program in C, but also rust occasionally, which also have their own flaws. I think my expression of my dislike of Java was quite childish, I admit. It certainly has its use cases, though for the things I personally do, it seems lacking. I dont have any hatred for it.
  • 1
    @MM83 I would never use it for anything but on site server side scripting in a commercial environment. there if its totally proprietary and there is no intention of ever packaging and selling the code, though I have no idea for what. Doesn't seem to be the best choice for many things.
  • 0
    @IntrusionCM oh dang is this why I want kill myself everytime I look at code made by that senior dev that learned to code on the fly 15 years ago?
  • 3
    Unsigned arithmetic has always been possible in Java when using the Integer class for numeric values. This is to me one of the items known as language quirks, which In my opinion is just something to LEARN when dealing with a different programming language.

    Would I try to do the same things in Java as I do in Python? no

    Would I try to do the same things I do in JS on Ruby? no

    Would I try to do the same things in Obj-C as I do in php? No

    Would I try to do Rust things when dealing with C#? No

    So what is the issue here? it is a different language for which items need to be learned properly in order to be efficient. I don't get complaining about language syntax and/or capabilities because it really always boils down to "did you learn the language to begin with?"

    Learn the language and environment ffs
  • 0
    @PepeTheFrog not sure what this has to do with what I've written but I guess yes?
  • 1
    Ah, surprise. Someone else hating on Java because they think it's all about the applets... 🙄
Add Comment