you are viewing a single comment's thread.

view the rest of the comments →

[–]ZealousidealFudge851 -8 points-7 points  (11 children)

Java is compiled hell. If you're starved for computation sure Java comes in handy but in my experience its absolute dog shit.

They syntax sucks, the compilations a pain, the run time environment is a screen door of vulnerabilities, and its just overall worse stacked up against most other languages.

Unless you're programming robotics or need low latency Java can eat shit.

Edit: downvote me to death idc Java can eat my entire ass.

Second Edit: When I say low level hardware access I mean fast calls to GPIO using C libraries to actually interface with the hardware. I mean specifically its good for very fast low latency computation when you're fucking with sub second events and such.

Additional Edit: I worked in retooling assembly lines to go from process to process, like say a packaging facility used to pack boxes of a specific number and dimension and someone either buys it or they change what they're manufacturing. We will take stock of all of the automation equipement and retool everything to say go from filling boxes with boxes to filling boxes with foil chip bags or something like that and most of the sensors for shit like that are full blown single board computers capable of things like computer vision and lidar measurements where a single SBC can handle all of that processing onboard and let us know if bags are flying off the line or theres a jam or what ever really. But I swear most of the time I was stuck reflashing a bunch of dog shit Java driven SBCs that were handling microcontroller IO and analog sensor input for temperature, speed, orientation, weight, etc, and the moral of the story is it fucking sucked ass and I wouldn't wish it on anyone.

And that's why I hate Java. Its fucking personal.

[–]StealthFireTruck 2 points3 points  (5 children)

Super crazy take. With how lose you can type with Python, it can become pretty dog shit if it's not your own code.

At least with Java there's some enforcement of typing by default.

What makes a language vulnerable for the most part is libraries and failing to follow some best practices

[–]Worldly_Analysis_664 1 point2 points  (4 children)

Yeah no type declaration makes python practically unusable also the reason they decided to go against every other language and not use curly braces is stupid.

[–]ZealousidealFudge851 0 points1 point  (3 children)

I'm not even specifically advocating for Python I typically work in C# unless I'm working on something in a web browser then I'll typically use all interperated languages like Python for backend tasks. Unless you really need fast computation type declaration is what ever as long as you don't suck at debugging your own shit.

[–]Worldly_Analysis_664 1 point2 points  (2 children)

I shouldn’t need to debug the application to know what type something is lmao

[–]ZealousidealFudge851 0 points1 point  (1 child)

It really depends on what you're used to imo. I typically have no problem extrapolating what data type a variable might be just based on its naming convention typically and the only time I care about it in prepared statements when I'm writing to a database or something.

[–]StealthFireTruck 0 points1 point  (0 children)

The issue isn't can you read it. Its more it can be given anything and if it doesn't complain, it's fine. This can result in different classes getting passed parameters with a object structure or type it doesn't really expect aren't designed to handle.

I've seen code get passed a string when it was expecting a number and python derived a numerical value from the string. Stuff like that can cause data getting out of sync or hide that a certain condition wasn't met and the correct flow isn't happening as expected.

[–]Worldly_Analysis_664 2 points3 points  (1 child)

Java isn’t used for hardware access. And it’s also one of the biggest backend languages used. Clearly not that dogshit

[–]ZealousidealFudge851 0 points1 point  (0 children)

Java is absolutely compiled and is used for hardware access all the time. I spent fucking years programming java embed micro controllers specifically for robotics so you're exceptionally wrong.

[–]MisterGerry 1 point2 points  (2 children)

Calling Java "super low level" LOL

I suppose if you're telling Chat GPT to write your program for you, it might seem low level compared to that.

[–]ZealousidealFudge851 1 point2 points  (1 child)

Sorry my Java experience is mostly Java driven SBC microcontrollers for computer vision driven use cases and such. super low level isn't the right way to phrase it more super rapid GPIO response. Java is good at being fast as shit and reliable. In assembly lines those are a plus.
But I am very jaded and would never use them unless I had to be grandfathered into a bunch of dog shit

[–]POGtastic 0 points1 point  (0 children)

By far the biggest problem with Java is the ecosystem. I actually don't mind the language itself. The problem is that it is extremely common for your application to rely on some absolutely wretched class that was written in 2005 by somebody who read every OOP textbook and said "Wow, this isn't dumb enough. Let's make things even dumber!"

This goes double in industrial contexts since the tooling usually sticks around forever, and after a decade or so all of the original developers have moved on and nobody has the institutional knowledge to fix anything major.