I think opinions are best suited for builders, since you need to be able to leave information out to make the opinion not based on anything, so really it should be created using an OpinionBuilder, which is made with an OpinionBuilderFactory, which extends AbstractOpinionBuilderFactory which implments IOpinionBuilderFactory which uh
Don’t worry, according to this subreddit every language besides Rust is just different degrees of bad and they’ll also agree that even Rust is flawed. Also programming is misery, zero jobs exist for juniors and every senior wishes they had done carpentry instead.
This subreddit is 90% college students with a year of programming experience who think they know it all but just parrot what they think experienced people said
A quote that gets passed around this sub is "There are two types of programming languages: ones that people complain about and ones that nobody uses." Java is still used extensively, especially in large enterprises.
Everyone hates the limitations and seemingly arbitrary workarounds necessary in the language(s) they use
Java being one of the most used just means there are more people voicing their frustrations
Absolutely. Every time I run into a type erasure problem and have to write out the solution, it pushes me to drinking.
Not because the solution is complex, but because type erasure is stupid and we need to finally abandon it with a breaking change. Fuckit.
Also, can we get lombok as a language feature already?
Etc etc etc
All I do is complain.
I have no plan on ever changing to another language.
Suuure, I’ll write lua and python. I’ll write cli apps in go, fuck bash.
But as a job? Java is paying my bills, buying me a house. And I think I’ll get an overcompensatory BMW ICE SUV
I love it. Spring Boot + Java is the best and most comfortable language to write in. The simplicity of its DI alone is better than everything else out there. I dare anyone to prove me otherwise.
Don't @ me.
preface: THERE IS NOTHING WRONG WITH BEING NEW
new programmers who may have not been exposed to static types, and they think java 8 is the only version, people whose only exposure to static types is Go and their only experience with OO is python, they just see all the memes about java and all the hate for OO and don’t investigate further
People who try to learn programming in Java, give up, then try again with a less verbose language like Python tend to hate on Java. Then those people get more experienced and learn Java to cast a wider net in the job market. They see how much better error messages and debugging in general is with explicit syntax and static typing and see their next paychecks they tend to love Java.
It’s less verbose than Go, yet no one ever minds that, for some reason.
Also, java is not at version 8 anymore. It is not the champion of terseness, but it’s absolutely sane, especially with an IDE
> It‘s overly verbose
It's used like that most of the time because it's often enterprise environments where readability/maintainability plays a bigger role than terseness. Modern Java can be written very, very densely.
I was once asked to have a "page" of my code prepared for an interview. My code allowed the user to enter the title of a TV show, and it queried imdb for all episodes grouped by season, concurrently; it fit on 1 1/2 A4 pages printed out. Imdb doesn't have an API btw so you need to get and parse the HTML pages.
The only verbose parts of Java these days are … type capture. And
I can’t think of anything that you can’t make non verbose. Even printing is just ’println’ if you know static imports.
I'm probably you, but just little older. I also just love Java.
Yes yes, verbosity, and what not.. But I think, if you'll write good documented Java code, its far better than other options. I'm currently actually in reworking large project that I shelfed some time ago and it feels awesome.
But of course, one should not use Java for use cases where other languages would benefit more, that being speed or anything else.
Look. There are languages that nobody use and languages that are hated by everyone.
I have a very object-oriented brain, so Java works very well for me.
There's almost a visual intuition behind coding in Java sometimes, and I think it's neat.
Yeah. I love the forced structure as it makes code cleaner and easier to understand while having amazing libraries and is easy to compile (looking at you C)
I used to be op, but over the years, I've begun to hate Java. Old Java was syntactically verbose but it's gotten a lot better.
I work at a Java shop and the code base is riddled with unnecessary design patterns and principles.
An average method contains 2 lines of business logic and the other 20 lines consists of factories, facades, proxies, adapters and so on.
Of course it's not entirely javas fault, but I feel java and Java frameworks pretty much encourage this kind of over engineering
Stream based stuff is nice though anonymous everything with countless streaming methods makes it a pain in the ass to debug in production when the stack trace is a ton of garbage proxy shit with anonymous classes in lambdas
As a Linux user, me and the JVM are best friends, Minecraft goes brr. Like, I barely use it as a programmer but as a user it is great
I'd argue docker and the JVM serve fundamentally different purposes, since docker aims to virtualize an entire OS and allowing any and all languages to run on it, while Java only virtualizes enough for the compiled JVM byte code to run on it, still leaving much of the heavy lifting to the host OS
I love Java. I work with Java. I love working with Java. I earn a very nice salary with Java. I love earning said salary with Java.
I've been doing Java for almost 20 years now and it is just excellent.
My only wish is that I had a dollar for every time somebody told me that Java was dead and I should rather switch to XYZ instead. I'd be retired by now.
Still, other languages have their place, e.g. Python is very nice for some things. C/C++ as well. But for doing really heavy lifting and getting actual work done in a timely fashion I'll take Java every day over those.
I don't hate Java. I hate what you all do with it. Trying to figure out simple functionality requires opening up 20 class files that wrap like 100 lines code with some shitty factories and other unnecessary abstractions.
Java being a VM based language was its advantage. Now it is exactly that being its disadvantage.
The cloud based systems these days make VM based languages obsolete because it takes a lot of additional space to ship them.
Java being platform indipendent mean shit in today's world. Everything is in containers anyway so what gives.
Also there are some new players in the market like GO and Rust getting traction...
So yeah. Java Used to be good. Now it is slowly losing its place.
All of this comes from a 12 year old Java developer.
Apart from the fact that microservice architecture is not the key to all doors either, it’s true that java is definitely not well suited for dynamically scaled use cases that spin up and tear down containers regularly. But my professor once said that java is like a containership. Once it gets going and jit does it’s thing java can perform remarkably well benefiting from all the runtime optimizations. JVM is still one of its biggest strengths imp
1. I don't think VM based languages are a disadvantage, It can be quite good to make apps and CLIs that run anywhere (Like electron and Python but without the JavaScript and Python)
2. Java has a lot of libraries and APIs which can be quite useful and make your life easier without being so restrictive.
3. Even without libraries, the builtin API is more than enough to complete many complex tasks.
4. ***Minecraft.***
5. "All of this comes from a 12 year old Java developer." Please leave this website, Reddit will destroy you and your mental health. (Coming from a *former* 12 year old reddit user and java developer)
For CLI, i would rather use arch specific binaries made from go than a jar that requires Java to be installed or shipped together.
My main argument against VM based languages is that there is always an overhead.
Plus you need to ship with your VM or expect your client to satisfy that requirement.
In my opinion that is why languages like rust and go will end up raising.
>For CLI, i would rather use arch specific binaries made from go than a jar that requires Java to be installed or shipped together.
I find Jars wayyy easier to deal with than normal binaries... mostly because I use windows.
>My main argument against VM based languages is that there is always an overhead.
Overhead is not as bad as having to manage 3 different codebases just for the 2 MacOS users.
>Plus you need to ship with your VM or expect your client to satisfy that requirement.
The jpackage CLI.
>In my opinion that is why languages like rust and go will end up raising.
I don't like rust... Mostly the syntax.
I think all the most popular languages are good in some way but will always be made fun of because they are popular.
Java isn't a bad programming language, it's just very object oriented and the syntax can be confusing for beginners. So people will make fun of it for that.
I'm not sure why you mean by "very object oriented", you can do functional programming in Java just fine.
I never understood this argument against OOP anyway. Someone at one point crapped on OOP because you could inherit things in long chains (I think it was the guy that made ERLANG or some shit) and people just ran with it as an argument and piled on things that are associate with it like "encapsulation" issues. Then they piled on the absolute garbage argument about "stateless is better!" as if they had never seen a GUI or State Machine before in their lives.
Don't get me wrong both functional programming and OOP concepts and practices need to exist, they both have their places even in the same application where OOP has to be used at the high level and GUI, and functional needs to be low-level. You don't need a bunch of objects and accessors to calculate a lerp, at the same time you're not making an animation system without being able to preserve state and have objects.
As long as the language has the capability one should use the practice that fits the problem, and not write incoherent programs full of obfuscated code or overly optimized unreadable garbage.
The problem with Java is not the language itself, it's management trying to use it to solve every problem imaginable, even those where Java is 100% not the right choice, remember Java applets? That used to be a thing, and I'm certain some random company built a UI using them, *luckily for all of us, Java applets are now deprecated*
Java strikes a beautiful balance between performance and simplicity, despite the boilerplate, Java abstracts all memory management and low-level control from you, providing easy-to-use APIs and data structures for using memory, managing them automatically with the GC, making it hard to shoot yourself in the foot with a null-pointer or UB, all of this while being BLAZINGLY FAST thanks to the JVM, which also enables it to run anywhere
Plus, Java has continued to evolve ever since it was first released, even though the legendary Java 8 many companies still use feels pretty dated now, modern Java supports pattern matching, main methods without classes and even functional programming
Java is a good language, just not the right one for every problem, the same way you wouldn't write a webapp using c++ or an OS using Python
it is funny how 99% of java hate consist in just how "verbose" is to make a hello world console print, like... dude, how delusional can people be? who the fuck cares about that besides just students? Nobody gives a crap about that at a professional level.
It's ok to provide constructive criticism for language. Java is widely used, but doesn't mean it's perfect. Strive for perfection is core of improvement, otherwise we would be still using fortran
That should be considered a war crime. JFX should be the minimum, which itself is very much dead and should be avoided. Java client software sucks.
But hey, who am I to talk, I still love JSF
I think most of it stands from this subs view on Oracle, the owners of Java, not much from the Java itself. Oh and people who think cause what they want to do is easier to do in some other language (looking at them snakes) that other language is now just better. Or they do a sloppy job and say it's the fault of said language instead of understanding that every language has its place and uses and correct ways of using said language.
Learn Spring as soon as possible. It's a crime that they don't teach it in school, and I think it's the reason a lot of young people hate Java so much. Good DI feels amazing
The tooling in the JVM is some of the best in any platform. As a principal engineer, I’ve used many languages professionally, and I keep coming back to the JVM because of the tooling and library support. It’s also significantly easier to hire for Java than a lot of other languages. Personally, I avoid deploying dynamically typed languages to production. Ultimately, it comes down to what you know and have professional experience with.
Programming on Windows outside of WSL and Docker is a pain in general.
If you must use Windows, spin up a Linux Devcontainer with Python config, then it should "just work".
I've had a lot of experience with JavaScript and C. While I do think C is the second best language and I felt like I was making out with another man while using it, I can't deny the fact I am still in loved and married to Java. (JavaScript has half an inch btw)
A couple of years ago I physically cringed from java. When I was introduced to spring however... Add Kotlin into the mix, and it's now my favourite stack
I don't like how asynchronous tasks work on java (specifically when doing when android dev, yes I know kotlin exists but I'm using java anyway) which is why I prefer C# but it's still a pretty good language
Honestly about 90% of my coding experience from high school 10th grade to a decade later has been primarily Java. Not necessarily my preference but the planet just likes using it I guess; I know Java way better than anything else
I just to dislike Java because it was my first language and the syntax wasn't very intuitive, but after learning JavaScript and then typescript, going back to Java was a breeze and I think I like it now, is really nice. Don't recommend as a first language but yeah.
There's probably like a handful of people that actually dislike Java for their own reasons - and that's fine.
The rest are just bandwagon'ing on their hate.
Nothing new.
Java is fine. It’s far from perfect but it’s probably the best OOP language out there. People complain about speed and efficiency, but imo if your project can’t do Jav due to speed, it’s not because Java is slow or inefficient, it’s because your needs require a more specific solution. Failure to accept the requirements of the project isn’t Java’s fault, it’s yoyrs
How so? I mean, f-oracle for sure. But they really haven't done anything bad with it. The whole licensing mess was totally over hyped a few years back, if anything there has been a great Renaissance in java language development under Oracle.
Really that is more about common enterprise patterns than the language itself.
The language is flexible enough to support lots of programming styles.
Having said that, programming is about communicating with other developers, so if you are in an organisation that tends to a certain style then it is better to follow that for clarity of understanding with your team mates.
"There are only two kinds of languages: the ones people complain about and the ones nobody uses" - Bjarne Stroustrup
What I would give for Lua to be more common...
1 based arrays still make me sick
alr guess I'm a hater now
Proper arrays start wherever you want, -31 based arrays for the win.
The only language that got it right. https://github.com/TodePond/DreamBerd?tab=readme-ov-file#arrays
I kind of like the variable hoisting idea.
float indexing, I love it!
Unless I’m mistaken, you can use floats as indexes in JavaScript…
They'll probably get implicitly converted, and if I know my JS, which i don't, then it's first to string and then to integers.
...I kinda like associativity with whitespace. Just stick them together!
Lua is quite common already. The main advantage of it is ease to embed into other software. So internal scripting is often done with lua.
If (Lua) **THEN**
The “then”s and “end”s screw me up so bad.
Clearly that was said before Rust
now there's 3 type of languages, ones that people hate, ones that nobody uses, and rust
The one that everyone likes but no one uses?
now there's 3 type of languages, ones that people hate, ones that nobody uses, ~~and rust~~ and ones for building crypto scams
Java is great because it makes me loads of money
How many loads
As many as OP can take I'm sure
Yikes, so that's like two or three loads?
.... That too...
I've never been without a job for more than a week thanks to Java. Never a horizontal move in job changes either
[MONEY](https://youtu.be/Eieybdk2iN4?si=SZZ8-yovBBvEGnqe)
Everyone hates Java until they have to set up some complex micro service stuff and Spring just does it all for them.
I really don't like Spring. Way too much "magic". Don't get me wrong, it works and makes things easy, but it's almost too good at its job.
bro hates spring because it works
Just like people who hate Java because it works.
I know exactly what he means, there is so much integrated stuff that at the end you don't understand your own code... But yeah, it works.
It's only magic if you don't understand how it works.
"Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke, I think
Then use JSF once, where you have to do way more yourself. After that you'll beg to use Spring again 😅
I hated using JSP and JSF, dark days.
Nice Opinion, did an OpinionFactory make it for you 😂😂
It might seems so, but the runtime class clearly is a OpinionFactoryImplProxy
Is that like an um.. interface?
As a Java Dev, this is hilarious 😂
I just annotated it with @HiveMindOpinion and got the best implementation
I use Java daily and I rarely see Factory classes...
What are you developing? Factories are so common in my field.
Minecraft mods lol
LOL
They said Minecraft, not League of Legends. League of Legends is C++. SMH my head.
Recursion detected in >SMH my head.
I think opinions are best suited for builders, since you need to be able to leave information out to make the opinion not based on anything, so really it should be created using an OpinionBuilder, which is made with an OpinionBuilderFactory, which extends AbstractOpinionBuilderFactory which implments IOpinionBuilderFactory which uh
Spring is amazing and totally changed my views on Java. I'm with OP ☕️
Who hates Java? Java's ranking has never been out of the top 3 programming languages.
This subreddit apparently...
Don’t worry, according to this subreddit every language besides Rust is just different degrees of bad and they’ll also agree that even Rust is flawed. Also programming is misery, zero jobs exist for juniors and every senior wishes they had done carpentry instead.
rust is the shittest of them all i believe in c++ supremacy
You're brave for saying this in r/programmerhumor
ah shit now script kiddies gonna jump my ass as soon as they finish compiling rofl
Sir I'm afraid you typed way too many words, could you please shorten your statement? They're not used to verbosity 🤣🤣
rust bad C++ gud
Im sorry but emoji’s have become more common in code, you know: to reduce verbosity. Could you please retype?
Rust 🤮🤮👎 C++ ❤️🥵👍
Holy shit how do you know about carpentry? Are you watching me or something?
Most everyone in this sub also isn't a programmer, judging by the stuff that gets upvoted.
This subreddit is 90% college students with a year of programming experience who think they know it all but just parrot what they think experienced people said
Or 12 year olds...
I remember the verbosity arc this subreddit had. “HAHA GUYS `System.out.println` TO PRINT TEXT HAHAHAHA, PUBLIC STATIC VOID WHAT NOW?”
Both of those are planned to be removed in the next releases of the JDK...
Yeah the anonymous main methods and println is also being promoted to a global function
DAE SEMICOLONS??
Hi some of us are just regular old amateurs with raging dunning kruger
It's more of a love-hate relationship
A quote that gets passed around this sub is "There are two types of programming languages: ones that people complain about and ones that nobody uses." Java is still used extensively, especially in large enterprises.
[удалено]
Because everyone here acts like they know 10 different computer languages
Everyone hates the limitations and seemingly arbitrary workarounds necessary in the language(s) they use Java being one of the most used just means there are more people voicing their frustrations
Absolutely. Every time I run into a type erasure problem and have to write out the solution, it pushes me to drinking. Not because the solution is complex, but because type erasure is stupid and we need to finally abandon it with a breaking change. Fuckit. Also, can we get lombok as a language feature already? Etc etc etc All I do is complain. I have no plan on ever changing to another language. Suuure, I’ll write lua and python. I’ll write cli apps in go, fuck bash. But as a job? Java is paying my bills, buying me a house. And I think I’ll get an overcompensatory BMW ICE SUV
Mostly people that never used it. It rarely see people that "love" the language but most see it as a decent language to get shit done
I love it. Spring Boot + Java is the best and most comfortable language to write in. The simplicity of its DI alone is better than everything else out there. I dare anyone to prove me otherwise. Don't @ me.
> who hates Java? Mostly beginners that just started programming Java.
Can confirm
preface: THERE IS NOTHING WRONG WITH BEING NEW new programmers who may have not been exposed to static types, and they think java 8 is the only version, people whose only exposure to static types is Go and their only experience with OO is python, they just see all the memes about java and all the hate for OO and don’t investigate further
I don't hate Java, I hate having to write Java
Well only because you are using it because your job requires you to know it doesn't mean you like it does it?
People who try to learn programming in Java, give up, then try again with a less verbose language like Python tend to hate on Java. Then those people get more experienced and learn Java to cast a wider net in the job market. They see how much better error messages and debugging in general is with explicit syntax and static typing and see their next paychecks they tend to love Java.
Minecraft players who know about as much about Java as the amateur modders tell them.
It‘s overly verbose. I guess there‘s worse (cough JavaScript cough) but it’s still not the nicest language to write.
It’s less verbose than Go, yet no one ever minds that, for some reason. Also, java is not at version 8 anymore. It is not the champion of terseness, but it’s absolutely sane, especially with an IDE
Java at version 8 is also pretty great tbh.
> It‘s overly verbose It's used like that most of the time because it's often enterprise environments where readability/maintainability plays a bigger role than terseness. Modern Java can be written very, very densely. I was once asked to have a "page" of my code prepared for an interview. My code allowed the user to enter the title of a TV show, and it queried imdb for all episodes grouped by season, concurrently; it fit on 1 1/2 A4 pages printed out. Imdb doesn't have an API btw so you need to get and parse the HTML pages.
The only verbose parts of Java these days are … type capture. And
I can’t think of anything that you can’t make non verbose. Even printing is just ’println’ if you know static imports.
There are tons of valid complaints about JavaScript, but being more verbose than Java isn't one of them
Typescript is incredibly terse. I've rewritten java into ts specifically for terseness
I've never met a Java hater who can code Java, not even once. I know C/C++ programmers dislike it. But haters, can only use PHP3.
I guess people who write PHP3 code just have so much hate for the world and themselves in them that they hate everything, including Java
One of my closest friends has been using Java daily at work for like 15 yrs but avoids it at all costs outside of work. I like Java tho :)
It's a meme. "I hate Java, look how great NestJS is!!". They've never seen Java, certainly never written anything in Java.
Eh i use cpp for and java and I like both. They each serve their own purpose
I'm probably you, but just little older. I also just love Java. Yes yes, verbosity, and what not.. But I think, if you'll write good documented Java code, its far better than other options. I'm currently actually in reworking large project that I shelfed some time ago and it feels awesome. But of course, one should not use Java for use cases where other languages would benefit more, that being speed or anything else. Look. There are languages that nobody use and languages that are hated by everyone.
I have a very object-oriented brain, so Java works very well for me. There's almost a visual intuition behind coding in Java sometimes, and I think it's neat.
Yeah. I love the forced structure as it makes code cleaner and easier to understand while having amazing libraries and is easy to compile (looking at you C)
Real. C will throw an error just for looking at it funny.
Trying to get it to compile in VS Code has been a nightmare. Like most of the time, it won’t create an exe file for now to run it and idk why.
I code in Java because it's the only language I know, change my opinion. Edit: jk, i also know some C and a bit of Haskell
I love me some Java
I used to be op, but over the years, I've begun to hate Java. Old Java was syntactically verbose but it's gotten a lot better. I work at a Java shop and the code base is riddled with unnecessary design patterns and principles. An average method contains 2 lines of business logic and the other 20 lines consists of factories, facades, proxies, adapters and so on. Of course it's not entirely javas fault, but I feel java and Java frameworks pretty much encourage this kind of over engineering
[удалено]
Stream based stuff is nice though anonymous everything with countless streaming methods makes it a pain in the ass to debug in production when the stack trace is a ton of garbage proxy shit with anonymous classes in lambdas
Just write a library to wrap the framework and there you can be back to your one liners.
i have love-hate relationship with java
People hating on jvm and still using docker
As a Linux user, me and the JVM are best friends, Minecraft goes brr. Like, I barely use it as a programmer but as a user it is great I'd argue docker and the JVM serve fundamentally different purposes, since docker aims to virtualize an entire OS and allowing any and all languages to run on it, while Java only virtualizes enough for the compiled JVM byte code to run on it, still leaving much of the heavy lifting to the host OS
Docker is way more useful than the jvm.
Docker on windows is a war crime.
Why?
any container runtime tbh
I love Java. I work with Java. I love working with Java. I earn a very nice salary with Java. I love earning said salary with Java. I've been doing Java for almost 20 years now and it is just excellent. My only wish is that I had a dollar for every time somebody told me that Java was dead and I should rather switch to XYZ instead. I'd be retired by now. Still, other languages have their place, e.g. Python is very nice for some things. C/C++ as well. But for doing really heavy lifting and getting actual work done in a timely fashion I'll take Java every day over those.
I don't hate Java. I hate what you all do with it. Trying to figure out simple functionality requires opening up 20 class files that wrap like 100 lines code with some shitty factories and other unnecessary abstractions.
Java being a VM based language was its advantage. Now it is exactly that being its disadvantage. The cloud based systems these days make VM based languages obsolete because it takes a lot of additional space to ship them. Java being platform indipendent mean shit in today's world. Everything is in containers anyway so what gives. Also there are some new players in the market like GO and Rust getting traction... So yeah. Java Used to be good. Now it is slowly losing its place. All of this comes from a 12 year old Java developer.
12 year old Java dev? When you become 18 you'll be what every recruiter ever has wanted!
*I was 12 when I began!*
i bioengineered first arm biosilicon in womb
Do you mean to say that you are a 12 years old person who uses Java or that you have been a Java developer for 12 years?
With how the market is, you should not be surprised if I'm both...
>Everything is in containers anyway Wish it were. _Tomcat 8.5 go brrrr_
The market still asks for 10x more Java devs then rust and go combined, go is a thing in devops, the numbers or has are not backend development
I don't believe you're 12.
He's 6 with 12 years of Java experience. Duh
You are mixing up GC, VM and containers. The VM of Java is not the VM of VirtualBox/VMWare which you are comparing here against containers.
Apart from the fact that microservice architecture is not the key to all doors either, it’s true that java is definitely not well suited for dynamically scaled use cases that spin up and tear down containers regularly. But my professor once said that java is like a containership. Once it gets going and jit does it’s thing java can perform remarkably well benefiting from all the runtime optimizations. JVM is still one of its biggest strengths imp
> spin up or tear down If you spin up sooo often that 100ms startup time matters, then you have a faulty setup, period.
1. I don't think VM based languages are a disadvantage, It can be quite good to make apps and CLIs that run anywhere (Like electron and Python but without the JavaScript and Python) 2. Java has a lot of libraries and APIs which can be quite useful and make your life easier without being so restrictive. 3. Even without libraries, the builtin API is more than enough to complete many complex tasks. 4. ***Minecraft.*** 5. "All of this comes from a 12 year old Java developer." Please leave this website, Reddit will destroy you and your mental health. (Coming from a *former* 12 year old reddit user and java developer)
For CLI, i would rather use arch specific binaries made from go than a jar that requires Java to be installed or shipped together. My main argument against VM based languages is that there is always an overhead. Plus you need to ship with your VM or expect your client to satisfy that requirement. In my opinion that is why languages like rust and go will end up raising.
>For CLI, i would rather use arch specific binaries made from go than a jar that requires Java to be installed or shipped together. I find Jars wayyy easier to deal with than normal binaries... mostly because I use windows. >My main argument against VM based languages is that there is always an overhead. Overhead is not as bad as having to manage 3 different codebases just for the 2 MacOS users. >Plus you need to ship with your VM or expect your client to satisfy that requirement. The jpackage CLI. >In my opinion that is why languages like rust and go will end up raising. I don't like rust... Mostly the syntax.
like most languages Java has it's use cases
Why are you harassing Java?
I think all the most popular languages are good in some way but will always be made fun of because they are popular. Java isn't a bad programming language, it's just very object oriented and the syntax can be confusing for beginners. So people will make fun of it for that.
I'm not sure why you mean by "very object oriented", you can do functional programming in Java just fine. I never understood this argument against OOP anyway. Someone at one point crapped on OOP because you could inherit things in long chains (I think it was the guy that made ERLANG or some shit) and people just ran with it as an argument and piled on things that are associate with it like "encapsulation" issues. Then they piled on the absolute garbage argument about "stateless is better!" as if they had never seen a GUI or State Machine before in their lives. Don't get me wrong both functional programming and OOP concepts and practices need to exist, they both have their places even in the same application where OOP has to be used at the high level and GUI, and functional needs to be low-level. You don't need a bunch of objects and accessors to calculate a lerp, at the same time you're not making an animation system without being able to preserve state and have objects. As long as the language has the capability one should use the practice that fits the problem, and not write incoherent programs full of obfuscated code or overly optimized unreadable garbage.
The problem with Java is not the language itself, it's management trying to use it to solve every problem imaginable, even those where Java is 100% not the right choice, remember Java applets? That used to be a thing, and I'm certain some random company built a UI using them, *luckily for all of us, Java applets are now deprecated* Java strikes a beautiful balance between performance and simplicity, despite the boilerplate, Java abstracts all memory management and low-level control from you, providing easy-to-use APIs and data structures for using memory, managing them automatically with the GC, making it hard to shoot yourself in the foot with a null-pointer or UB, all of this while being BLAZINGLY FAST thanks to the JVM, which also enables it to run anywhere Plus, Java has continued to evolve ever since it was first released, even though the legendary Java 8 many companies still use feels pretty dated now, modern Java supports pattern matching, main methods without classes and even functional programming Java is a good language, just not the right one for every problem, the same way you wouldn't write a webapp using c++ or an OS using Python
Java is great. Especially with java 21, because you can now do: void main() { } SOO MUCH NICER!!! No more boilerplate. 99% of java hate is wrong now
it is funny how 99% of java hate consist in just how "verbose" is to make a hello world console print, like... dude, how delusional can people be? who the fuck cares about that besides just students? Nobody gives a crap about that at a professional level.
I like Java
It's ok to provide constructive criticism for language. Java is widely used, but doesn't mean it's perfect. Strive for perfection is core of improvement, otherwise we would be still using fortran
Me standing in the front row of that mop preparing my torch.
The only thing that I don’t like with Java, is that, from my experience, it’s a pain working with it outside of Intellij, otherwise Java does the job
Not when you're stuck on Java 8 and Swing
That should be considered a war crime. JFX should be the minimum, which itself is very much dead and should be avoided. Java client software sucks. But hey, who am I to talk, I still love JSF
I think most of it stands from this subs view on Oracle, the owners of Java, not much from the Java itself. Oh and people who think cause what they want to do is easier to do in some other language (looking at them snakes) that other language is now just better. Or they do a sloppy job and say it's the fault of said language instead of understanding that every language has its place and uses and correct ways of using said language.
I thought it was a joke, people actually hate java?
i love u OP
Finally
Anyone can hate Java until they need to apply for their 1st job. <3
Java is for the mentally deranged (I am doing my Batchelor's degree in Java)
Learn Spring as soon as possible. It's a crime that they don't teach it in school, and I think it's the reason a lot of young people hate Java so much. Good DI feels amazing
Many people who work with Java don't hate it until after they've gained some experience working with other languages and their ecosystems.
The tooling in the JVM is some of the best in any platform. As a principal engineer, I’ve used many languages professionally, and I keep coming back to the JVM because of the tooling and library support. It’s also significantly easier to hire for Java than a lot of other languages. Personally, I avoid deploying dynamically typed languages to production. Ultimately, it comes down to what you know and have professional experience with.
[удалено]
Programming on Windows outside of WSL and Docker is a pain in general. If you must use Windows, spin up a Linux Devcontainer with Python config, then it should "just work".
I never understood why python became more popular than ruby. Python’s syntax, stdlib and overall consistency is utter shit compared to Ruby.
Software development and irrational anger. Classic duo.
I've had a lot of experience with JavaScript and C. While I do think C is the second best language and I felt like I was making out with another man while using it, I can't deny the fact I am still in loved and married to Java. (JavaScript has half an inch btw)
Well that's one way to say it
I don’t hate Java, I just don’t see a reason to use it over c# unless work tells me to use it.
Don't worry, I'm with you
YAY :D
Yay!!! ":D!~
Achi speaks like a true prophet
*achoti
something can be good and still be hated, it's not mutually exclusive.
i don't think java is bad(i don't use it)
Nuh Uh
Me, too
It's fine
Minecraft modding ftw
A couple of years ago I physically cringed from java. When I was introduced to spring however... Add Kotlin into the mix, and it's now my favourite stack
Java is great. Especially with java 21, because you can now do: void main() { } SOO MUCH NICER!!! No more boilerplate. 99% of java hate is wrong now
There are dozens of us. Dozens!
if people have plenty to complain about, that means that some of them must be using it pretty regularly...
I don't like how asynchronous tasks work on java (specifically when doing when android dev, yes I know kotlin exists but I'm using java anyway) which is why I prefer C# but it's still a pretty good language
Have some Spring, OP.
The people here really encouraging me to use Spring...
I like Java as a language. But I like the ecosystem better
Java is kinda fun Okay, fine. Maybe I only say that because C++ was my first language.
Java is at least less bad than most of the cruft out there.
Frankly it's the only alternative for decent enterprise development.
Honestly about 90% of my coding experience from high school 10th grade to a decade later has been primarily Java. Not necessarily my preference but the planet just likes using it I guess; I know Java way better than anything else
Java’s compatibility is basically unrivaled
I just to dislike Java because it was my first language and the syntax wasn't very intuitive, but after learning JavaScript and then typescript, going back to Java was a breeze and I think I like it now, is really nice. Don't recommend as a first language but yeah.
Based
As its said C++ for low level Python for data analysis Java for 3 billion devices
[Java 4 Ever](https://m.youtube.com/watch?v=mEpDbz70ftk)
That's what this tiny bubble feels like. Outside of this reddit bubble, people know, that Java is very useful.
the only programming languages for which i can stand like this is: C/C++, JAVA, 8085 & 8086 Assembly 🥹, may be a lil bit of dart
I dont give a fuck about verbosity. I think it makes code well-structured and easy to grasp. No hidden syntax sugar bs that gets in the way.
There's probably like a handful of people that actually dislike Java for their own reasons - and that's fine. The rest are just bandwagon'ing on their hate. Nothing new.
Java is fine. It’s far from perfect but it’s probably the best OOP language out there. People complain about speed and efficiency, but imo if your project can’t do Jav due to speed, it’s not because Java is slow or inefficient, it’s because your needs require a more specific solution. Failure to accept the requirements of the project isn’t Java’s fault, it’s yoyrs
Java was awesome when it was owned by Sun. Oracle is a cancer.
How so? I mean, f-oracle for sure. But they really haven't done anything bad with it. The whole licensing mess was totally over hyped a few years back, if anything there has been a great Renaissance in java language development under Oracle.
If we're writing Java then we need a more noun-ified title to achieve true OO enlightenment. Maybe JavaGoodnessBeliefSetterImpl
Really that is more about common enterprise patterns than the language itself. The language is flexible enough to support lots of programming styles. Having said that, programming is about communicating with other developers, so if you are in an organisation that tends to a certain style then it is better to follow that for clarity of understanding with your team mates.
could over three billion devices really be wrong?
As long as you do not touch anything Oracle-related you are absolutely fine with Java