Spring developer figuring out which of their 40 Annotations they added to AbstractDatabaseInterceptorConfigurationFactory is causing an issue this time.
This, this hurts so much because it’s true. Spring is really the worst thing about Java. But these morons are loving it, which makes me want to pull out my hair sometimes. The best part of Golang is thst it eschews magic and doesn’t have anything like Spring
Been programming in Java for the last 3 years because of uni, and I fully agree with everything lol. My safety-critical systems course made it very clear never to use Java for anything important, and they literally used moon and mars landers as examples like 0:32. Made me burst out laughing when I saw it.
wait i though alot of performance senstive and complex components were written in java like most backend infrastrure at netflix and amazon aws and uber etc...
was trying to run a Java project using geospatial data and libraries to do analysis for my project for college. Tried every trick in the book to get it running on command line, compiling with dependencies, restructuring the project, changing jdks, etc. No go, even the Prof and TA said that they wouldn't expect our script file to run without errors lmfao. Java is a messed up language
@@Edamori I just finished a huge java project for university, my group and I litterally had to write a bat and sh script to auto compile file by file the whole repository
And still they managed to do essentially every single thing harder or worse to use. And considering that python is already very shit in terms of code eficiency, that's saying something.
Yes dynamic languages aren't new they are just trendy rn. People slowly realizing the problem with them now and now we have gone full circle were people want strongly and statically typed version of those languages. Hence the love for Typescript and the want for a strongly typed python.
@@projectdeveloper9311 Python is great for prototyping but once code base gets larger it gets harder to maintain. Also all the people that rave about saving time because you don't declare the type must not use a strongly typed language. I save wayyy more time declaring the types since now I have intellisense which speeds up my programming by a lot.
_Sees Java for the first time after using literally anything else._ Me: Who would actually want to use this stuff? _Sees local entry-level job listings._ Also me: Weeeeeeeell... a man's gotta eat...
the command line experience was on point after spending hours trying to compile and run a multi file example i get informed that the thing running the jar file is out of date then i quit
I love how on point the licensing is. Why did they choose to make a already poorly-designed language NOT FREE to use? Perhaps that's a good thing now that I think of it, but still.
Now to prepare myself for any future hate that I am probably gonna get for a insignificant comment like this. I don't hate Java and I definitely think it has it's use cases, but compared to many others I don't think it's well-designed. I think it needs a revamp/redesign, it has so many flaws. And I say this as a person who has programmed in C#, C++, Python and Node.js along a few other mostly irrelevant languages. (No language is perfect but some are exceptionally bad.)
Because if you want a free to use poorly designed language you got php heh. I'm half joking of course (laravel is quite neat and puts food on the table), and as for Java, there's Kotlin and Groovy now, I have found them great for making large applications and simple scripts respectively. Besides some legacy systems, I don't touch Java anymore.
i'm not sure about oracle's binary distribution but the openjdk source code that it's built from is GPL (with an exception), what's the issue with that?
Finally read up on what 'immutable' and 'mutable' mean. So... @@LunaDragofelis, isn't that just stupid? Even if the key _is_ mutable, why even try to change the data in it?
I am a sysadmin who has a lot of Java applications which are internet facing. I can very much confirm that log4shell was an absolute dumpster fire involving a lot of overtime. (Especially since someone thought it was a good idea to publish it Friday afternoon)
You mean inheritance? Yeah, avoid that. But anything else like interfaces, polymorphism, data structures and standard library is pretty analogous to other languages, so where are mental gymnastics you are talking about? Java has to have the easiest syntax of all programming languages I tried so far. No operator overloading, no magic, just reusable code blocks and interfaces. (EDIT: ofc, you can complicate it to the bone like Spring has done, and it becomes black magic, but you REALLY don't have to. Lanugage for sure doesn't force you) + all the codegen tools out there make it so simple it is a joy (like Immutables, Guava, Guice...)
How else do you justify the 1000 different design patterns that just render your code unreadable, slow as hell and bloated beyond belief? But things like data structures, polymorphism and even the concept of what interfaces try to achieve might be nice to have for other languages. Not every language has interfaces but similar concepts to them to achieve polymorphism, which isn’t an OO feature by the way like some might say.
Most of the projects that I work on are built on Java frameworks, the pain is real. I recently learned about Kotlin and I will be switching as fast as possible.
java is my favorite language for 10 years now lmao. Some good points here though. But I enjoy the pain, and the cool stuff in openjdk 19 is pretty sweet.
I spent two years of my life in uni forced to code in Java. It was quite literally the most painful coding experience I have ever done. BOILERPLATE BOILERPLATE BOILERPLATE STATIC VOID ARGS MAKE IT STOP
@@小鳥ちゃん C# is just as bad imo. It has some nicer syntax, but I personally like the collections framework from Java more and namespaces in C# just give an extra layer of indentation.
@@Pjiwm C# is better in terms of licensing and support. You can always use the newest version of C#; while using the newest version of Java, especially in production, requires extra license permissions and sometimes fees.
Java is a guilty pleasure of mine, I wouldn't actually write any production code in it. I kind of like writing classes but generally hate OOP's structure.
@@thestemgamer3346 my definition of OOP does not impose any structure, you can do it just using closures and object literals in Typescript for example and I find it really clean
@@igorswies5913 The main issue I have is from a philosophical perspective. OOP is not a coherent model of how things interact in the real world. I also find the excess state wasteful. It isn't so much about what the code looks like (although I have issues with that too), more so what your code actually represents and how it performs. I'm not denying that OOP is useful, it certainly is, and I do use it to solve some problems, especially when I work on code with others (since most people seem to know OOP). My issue is that you are sacrificing completeness for usability, particularly usability which scales poorly and is difficult to test.
I taught myself my first programming language, java, and coded in it for around 4-5 years. I didn't hate it at all, but switching from its elaborate boilerplate land to a simpler one was relieving. One thing i hate about it is the lack of a good package manager. Python, rust or JavaScript are heaps better in that regard.
The fact that _the_ best selling video game in history was written in java, by a self-taught programmer no less, proves once and for all that, yes, you can create a game people will want to play even in java.
I remember coding JAVA on my phone. My classmates are able to use the window function, while I am forced to use the command line to solve problems since you can't readily simulate some functions on computer JAVA to the phone environment, it reminds me of C++, but much worse. Like a simple calculator app which supposed to be a simple buttons and computations turned into a program with a lot of functions, input checkers, nested loops and stoppers,and Gatekeepers and took 400 lines of code. x( At the end I was able to get 1.00(100) at the end :)
When I was a 1 year student I thought java was great, and gave so much power to the dev. I am a 2 year student now, redoing my java course hating every single thing about it.
As an android programmer, i used java A LOT! Because (mostly) kotlin uses the same framework, libs etc. but java will be easier for me. I can find so many codes (and guess where) from Stackoverflow :D .In PC i used C# for Windows Forms. Guys, was everything good choice in these all paragraphs?
@@thatsalot3577 I think Java feels better but C# works more often lol, and all frameworks for C# are better too. Except they are slower, visual studio is slow AF and still not that intuitive to use.
@@trex511ft even though I agree to the development tools, intellij rider can solve the issue of vs but it's not free, and as for language, I'd say you've written more code in java that's why it may feel better to you, but as for sytax, exceptions, threading, async operations and so much more C# definitely offers a better experience because that was the whole purpose of the language
*Do Rust next :)* Alright, my opinions: Java is good. It is good where it is good, of course, since every language has a use. I find it especially good for beginners, because if you deal with boilerplate and the usual hard stuff as a beginner, you might understand how programming works, better! Yes, OOP is bad. Brian Will, and several articles about GOOD OOP code (not the books Brian mentions as bad!) explain that very well. Take `C#` for example - it definitely makes it easier to do anything than Java, but it has too many features, whereas Java does not, which might make looking at larger codebases less confusing, I guess (if you have spent time mastering Java. Notice how I'm ignoring the fact that newer versions of the JDK are fancier and have new operators etc.). I also don't like how Microsoft DESTORYED all programming conventions for `C` and `C++` programmers as well, by making functions being named with `PascalCasing`, putting brackets on the next line (which might be good in `C++` for initializer lists, but not in many other places!). JavaScript is also a good option for beginners, but unless you know how heap memory works (which is taught properly here on the Java and `C`/`C++` side), your code might not be as fast of course. Also, explaining how functions can be stored into variables and passed as arguments can be hard to explain to beginners, whereas JS uses these features extensively! Frameworks like Electron are also a reason for me not liking JS. These frameworks *_will_* usually tempt people into *using the wrong technology for the wrong use case* and suffer with performance issues and whatnot. Native code is better here, of course. `C` is another nice option, but learning resources are what kill the goodness that teaching `C` to a beginner has. Nobody explains things neatly. You're taught about pointers and structs very early, but not heap allocations. Similarly, in `C++`, somebody coming from another language WILL make the mistake of writing code like `ClassName objectName = new ClassName()`, which is WRONG! Also, the crazy of overloaded operators _definitely_ IS confusing. No beginner, or person coming from another language will be able to tell what `std::cout
Oh my God, reading this literally just a month later makes me realize that it isn't as good. Here's another thing I have to say: Recently, I got to use more of the Java Class Library. There, I realized that _bad_ OOP was a much bigger mess than I thought. ...skip this paragraph: (I've come up with my own explanation of why OOP is bad. Hey - `10^-37` percent readers interested, you could go find that other reply!) Alright! So... the JCL is messy, OOP is bad, but it isn't all just fire and breakage! We could, perhaps, write better version _using Java itself._ A JNI version to access, say, the super simple and all powerful `C` file API would be awesome as well, but let's say we don't want to do that. Now, we can just decide to extend those very classes and interfaces that come with the JCL and write our own clean version! Let's make sure we don't dive too deep - we don't want to start modifying platform specific implementations, do we? Even if we're fine with it, let's say we're a beginner, and would like to avoid it. Can we not do that? Anyway, here are my thoughts on _learning_ to program: A person should be taught about what _programming_ is. Tell them about programming constructs - teach them in pseudocode, and always place examples from actual programming languages last. *Let them actually feel that programming languages are merely tools.* Teach them Computer Science, or at the least, encourage them to do it - this _will_ take away their attention from thinking so hard about their favorite language. Also, `C`. Starting at the lowest level is actually a very good idea. You see, hobbyists - people with interest focus a lot on applying their knowledge to watch their ideas come true as soon as possible with well-built technologies, but knowledge is quite important. They should at least, be encouraged to do this. Also, `C` isn't hard for beginners, and won't suddenly turn into requiring JavaScript management skills. `C` also has at least one API to access any technology in the world, as long as it is not a platform, or language-dependant framework (such as React!). If learnt/taught in the correct way, I'd say that there simply _isn't_ a competitor to `C` when it comes to learning to program for the first time. *I also need to tell you about how some beginners get VERY BADLY lost* when they learn to program, get bored studying only a little number of concepts, and keep chasing after these well-built 'premium' technologies to build their dream applications, and never know how to do anything unless they've copy-pasted code for it before. This happened to a friend and I'm sad :(
"OOP theory" (sent to a friend on Discord, may have traces of 'casualness'): `TL;DR`: use OOP when you think you'll be fine with calling objects in your program "perfectly working, abstracted away, fully reliable independent programs that need to be sent data to gain control over providing little functionality". """ The reason why OOP is bad, _is_ that you're dividing your program! You see, it is just like "series and parallel connections" in Physics. If one of the many electric appliances in a parallel connection catches a fault, then it becomes unusable. But, all other appliances remain active, since each appliance's connection is independent of the other. In a _series connection,_ if one appliance catches a fault, all others are affected in some way. This is the same idea they used in making GPUs - the idea of parallel processing, and now, in our code. However, the GPU is a machine, which manages everything automatically - a human programmer cannot. _That,_ is the problem with code division. -If there exists a perfect, well-abstracted API with all the functionality you could ever want for you to use and rely on, then yes, you should use it to do your work. However, in most cases, this perfect, imaginary API is written by the same programmer who uses it, and no, it is -_-not-_- perfect!- If there are so many parts of the code executing 'individually' with little to no connections, or data sharing, _it becomes hard to control and verify each one's working_ You have to manage a _lot_ more. This, is why object-oriented code is harder to use. We _must_ stop making our code object-oriented! _However,_ OOP *is* _perfect_ when you need to create "perfect, reliable APIs". That's why Java still exists. That's why it's _still_ used SO much in server space. OOP is bad, if you're applying it everywhere. Like other programming paradigms, it is merely a tool. _It has a use case!_ ...and I just told you what it is! *LOOK AT `C`'s SUPREME FILE API.* ```c FILE* file = fopen("file_name.txt"); fprintf("I am writing text into the file :D"); fclose(file); ``` *LOOK AT HOW MUCH PEOPLE LOVE `C++`'s `chrono`.* *LOOK AT DirectX AND `OpenGL`.* *LOOK AT THE ANDROID SDK.* *LOOK AT HOW MUCH THEY LOVE EVERYTHING IN `C#`.* """
And Java makes it worse by forcing you to use OOP and only OOP. Even worse, there are wall-minded people that claim, confidentially, that Java is functional because it started to support lambdas and stuff.
@@xenobino8432 what is wall-minded about that? Java can definitely be used to write in functional style, just like most other languages... Understanding OOP flaws in depth is good because you know what NOT to do. DOD is probably the best of both worlds (from functional and object oriented).
It's literally just the mod authors that don't know how to write proper code. When you combine 100 good mods and 100 bad ones, your game will still run like shit.
I still can't believe the long ass lines I have to write just to print "hello world", when I start to learn other languages I was like "Jesus Christ it could have been simple?".
A hello world program says nothing about a language btw. You could literally make a language which prints hello world when running an empty file, does that mean the language is good?
@@begga9682 I am not saying the language is bad, I still use Java, it is just that I think that it is pretty boilerplate-y, not really an issue when writing, but kind of a hassle when reading.
But you could build in checks in the setter to not let the field something you don't want. Also with Lombok, no getters and setters are required as it adds Annotations for it
Man people doing that gives getters and setters such a bad name, I hate it. Basically all of Java's nonsense is done in the name of nearly forcing developers to make the stuff they write won't get broken by one of the other twenty people on the project, or by someone new five years later. If you aren't going to be in that situation there's little reason to use Java. The only time opening something up to getters and setters on every field like that makes sense is when you *know* that you're going to add validation or otherwise change how things work internally, so all that stuff getting referenced doesn't need to change (NOT if you're going to be changing internal values, because in that case all those references obviously need to be re-checked). You are absolutely correct that you're just turning it into a public field again, if it's just dumb data.
@@dimi5862 It's overcomplicating things *now* for the sake of making things simple for anyone using your stuff, particularly when you have little communication with them. It's designed for bigass teams in office cubicles that don't exist any more.
Life is way too short to be coding in Java man
I love your memes, thank you!
@Landon Cates notch spent his whole life on java
@@siriusmart True
Please code in C++, if not code in Phyton, oh it's slow.
Maybe cause your brain is small
As a Javanese, I can relate
Yesss javanese
Which one??? the island or the HE double hockey sticks programming language?
😂
Java ☕️
Spring developer figuring out which of their 40 Annotations they added to AbstractDatabaseInterceptorConfigurationFactory is causing an issue this time.
This, this hurts so much because it’s true. Spring is really the worst thing about Java. But these morons are loving it, which makes me want to pull out my hair sometimes. The best part of Golang is thst it eschews magic and doesn’t have anything like Spring
Been programming in Java for the last 3 years because of uni, and I fully agree with everything lol. My safety-critical systems course made it very clear never to use Java for anything important, and they literally used moon and mars landers as examples like 0:32. Made me burst out laughing when I saw it.
Haha, I am glad you enjoyed that one.
It's my favorite language to make fun of, a lot of examples of things going wrong.
what should you use? rust?
Nokia phones are programmed in Java .let that sink in.
wait i though alot of performance senstive and complex components were written in java like most backend infrastrure at netflix and amazon aws and uber etc...
@@medaliboulaamail6491
Yes. But it's not a good choice for embedded programming.
I've actually experienced java through command line and it's exactly as described
my god its ugly
i dont hate it…then again im used to it
was trying to run a Java project using geospatial data and libraries to do analysis for my project for college. Tried every trick in the book to get it running on command line, compiling with dependencies, restructuring the project, changing jdks, etc. No go, even the Prof and TA said that they wouldn't expect our script file to run without errors lmfao. Java is a messed up language
@@Edamori I just finished a huge java project for university, my group and I litterally had to write a bat and sh script to auto compile file by file the whole repository
As a java developer I am highly offended by this video for one reason:
- Telling the truth is not slender?
I discovered Kotlin last month and I am in love. I don't even do anything on Android, I just like it as a replacement for Java.
Also try: Groovy
BASED KOTLINCHAD
WELCOME BROTHER
Repeat After me:
"public static void main String args "
Man finally the world is getting top-tier programming memes
as someone who exclusively codes in java and refuses to code in any other language, i can confirm i laughed my ass off at this video. 10/10
Make rust slander. It would really prove that you're not just biased.
He's too busy debugging the borrow checker
He’s waiting for it to compile.
Jokes aside there’s not much bad to say about rust.
I actually didn't know that Java is younger than Python. Holy shit.
by 4 years. Java came out in 1995, Python was released in 1991
@@thestemgamer3346 holy shit
And still they managed to do essentially every single thing harder or worse to use. And considering that python is already very shit in terms of code eficiency, that's saying something.
Yes dynamic languages aren't new they are just trendy rn. People slowly realizing the problem with them now and now we have gone full circle were people want strongly and statically typed version of those languages. Hence the love for Typescript and the want for a strongly typed python.
@@projectdeveloper9311 Python is great for prototyping but once code base gets larger it gets harder to maintain. Also all the people that rave about saving time because you don't declare the type must not use a strongly typed language. I save wayyy more time declaring the types since now I have intellisense which speeds up my programming by a lot.
_Sees Java for the first time after using literally anything else._
Me: Who would actually want to use this stuff?
_Sees local entry-level job listings._
Also me: Weeeeeeeell... a man's gotta eat...
That's literally the reason I started learning Java LMAOOO
the command line experience was on point
after spending hours trying to compile and run a multi file example i get informed that the thing running the jar file is out of date
then i quit
java was my first programming language, while i don’t hate java i absolutely love this video
I love how on point the licensing is.
Why did they choose to make a already poorly-designed language NOT FREE to use?
Perhaps that's a good thing now that I think of it, but still.
Now to prepare myself for any future hate that I am probably gonna get for a insignificant comment like this.
I don't hate Java and I definitely think it has it's use cases, but compared to many others I don't think it's well-designed.
I think it needs a revamp/redesign, it has so many flaws.
And I say this as a person who has programmed in C#, C++, Python and Node.js along a few other mostly irrelevant languages.
(No language is perfect but some are exceptionally bad.)
Because if you want a free to use poorly designed language you got php heh.
I'm half joking of course (laravel is quite neat and puts food on the table), and as for Java, there's Kotlin and Groovy now, I have found them great for making large applications and simple scripts respectively. Besides some legacy systems, I don't touch Java anymore.
i'm not sure about oracle's binary distribution but the openjdk source code that it's built from is GPL (with an exception), what's the issue with that?
@@nepnep1057 Hating Open Source GPL software is not fun. Hating Law Firms LARPing as a Software Company is fun.
Ehh Java is free to use once again, Oracle updated their license starting from Java SE 17 for free to use now.
Java is ok
My hairline is now receding
"Java is a safe language!"
* proceeds to use mutable objects with HashMap *
Isn't that what "mutable" is supposed to mean?
@@Brahvim ?
> "Java is a safe language!"
Said no one ever?
@@Brahvim they mean mutating objects that are in use as hashmap keys
Finally read up on what 'immutable' and 'mutable' mean.
So... @@LunaDragofelis, isn't that just stupid?
Even if the key _is_ mutable, why even try to change the data in it?
As a Java developer I can say that this is an accurate representation of the language.
I tried to learn Java but stopped because it got too confusing just to install the JDK
This video burst me to tears, I love your channel
bro this is gold tier memery right here, subbed
I can't say like rust too much but "screw java" is a message i can get behind
I am a sysadmin who has a lot of Java applications which are internet facing. I can very much confirm that log4shell was an absolute dumpster fire involving a lot of overtime. (Especially since someone thought it was a good idea to publish it Friday afternoon)
Tbh i would choose Java over JS or C# any day
I could never wrap my head around Java. The way it does abstraction confuses the hell out of me. It feels more like mental gymnastics than coding.
You mean inheritance? Yeah, avoid that. But anything else like interfaces, polymorphism, data structures and standard library is pretty analogous to other languages, so where are mental gymnastics you are talking about? Java has to have the easiest syntax of all programming languages I tried so far. No operator overloading, no magic, just reusable code blocks and interfaces.
(EDIT: ofc, you can complicate it to the bone like Spring has done, and it becomes black magic, but you REALLY don't have to. Lanugage for sure doesn't force you)
+ all the codegen tools out there make it so simple it is a joy (like Immutables, Guava, Guice...)
@@bernardcrnkovic3769 plus javafx is kinda cool
Inheritance is easy is java.
Just to understand the true reason for Interface existence it took me 1 day.
How else do you justify the 1000 different design patterns that just render your code unreadable, slow as hell and bloated beyond belief? But things like data structures, polymorphism and even the concept of what interfaces try to achieve might be nice to have for other languages. Not every language has interfaces but similar concepts to them to achieve polymorphism, which isn’t an OO feature by the way like some might say.
I have to do an operating systems course in Java...
Most of the projects that I work on are built on Java frameworks, the pain is real. I recently learned about Kotlin and I will be switching as fast as possible.
java is my favorite language for 10 years now lmao. Some good points here though. But I enjoy the pain, and the cool stuff in openjdk 19 is pretty sweet.
0:51 one I'm dead 💀
I spent two years of my life in uni forced to code in Java. It was quite literally the most painful coding experience I have ever done. BOILERPLATE BOILERPLATE BOILERPLATE STATIC VOID ARGS MAKE IT STOP
2 years!!!? We ditched it after like half a year lmao.
I got lucky that I learned C# first then I could just try java and instantly ditch it
@@小鳥ちゃん C# is just as bad imo. It has some nicer syntax, but I personally like the collections framework from Java more and namespaces in C# just give an extra layer of indentation.
@@小鳥ちゃん Yeah. I tried out python for one of my senior projects in my major and it was SO much easier. I'm never coding in Java again.
@@Pjiwm C# is better in terms of licensing and support. You can always use the newest version of C#; while using the newest version of Java, especially in production, requires extra license permissions and sometimes fees.
This went hard, I screenshotted.
I'm mainly a Kotlin programmer so I deal with almost all the same BS 😂
Python next pls, is my favorite languaje but I wanna se the world burn
I'm learning rust after almost 5 years of java, and now i'm starting to see its flaws. It's still the language I know best thought
Java is a guilty pleasure of mine, I wouldn't actually write any production code in it. I kind of like writing classes but generally hate OOP's structure.
@@thestemgamer3346 what do you mean by OOP's structure?
@@igorswies5913 The general structure imposed by Object Oriented Programming.
@@thestemgamer3346 my definition of OOP does not impose any structure, you can do it just using closures and object literals in Typescript for example and I find it really clean
@@igorswies5913 The main issue I have is from a philosophical perspective. OOP is not a coherent model of how things interact in the real world. I also find the excess state wasteful. It isn't so much about what the code looks like (although I have issues with that too), more so what your code actually represents and how it performs.
I'm not denying that OOP is useful, it certainly is, and I do use it to solve some problems, especially when I work on code with others (since most people seem to know OOP).
My issue is that you are sacrificing completeness for usability, particularly usability which scales poorly and is difficult to test.
Java is great at being a common enemy of C++ and Rust programmers.
Finding common ground
Never thought I’d dis on Java side by side with a Rustacean
@@otalek9250 how about side by side with a friend?
java and C# vs rust and c++ , ofc c++ and rust win. ( also C# > java)
I code in java because my 32GB of ram will finally be put to to good use.
I taught myself my first programming language, java, and coded in it for around 4-5 years. I didn't hate it at all, but switching from its elaborate boilerplate land to a simpler one was relieving. One thing i hate about it is the lack of a good package manager. Python, rust or JavaScript are heaps better in that regard.
Language package managers are bloat that exists because windows and macos can't get a normal one (and things like homebrew and cygwin are worse)
@@iskamag bruh
@@viinisaari ?
/
@@iskamag When you actually write software, you utilize other people's code, optimally with the language's package manager.
@@viinisaari I don't want to learn and maintain 5 different package managers.
What's "optimal" about it?
as someone living in Java i feel threatened
imagine he does 6502 assembly slander 💀💀💀
0:38 Sir, you forgot the semicolon
I've literally been programming for a few years and I've learned like 4-5 languages and still didn't know that python is actually older
just saying this is likely in the algo rn bro so good for you. also rust yes
The fact that _the_ best selling video game in history was written in java, by a self-taught programmer no less, proves once and for all that, yes, you can create a game people will want to play even in java.
I remember coding JAVA on my phone. My classmates are able to use the window function, while I am forced to use the command line to solve problems since you can't readily simulate some functions on computer JAVA to the phone environment, it reminds me of C++, but much worse. Like a simple calculator app which supposed to be a simple buttons and computations turned into a program with a lot of functions, input checkers, nested loops and stoppers,and Gatekeepers and took 400 lines of code. x(
At the end I was able to get 1.00(100) at the end :)
When I was a 1 year student I thought java was great, and gave so much power to the dev. I am a 2 year student now, redoing my java course hating every single thing about it.
My first year java course was "C! But with garbage collection!"
It... did not have much in common with the sort of code you actually tend to write.
As an android programmer, i used java A LOT! Because (mostly) kotlin uses the same framework, libs etc. but java will be easier for me. I can find so many codes (and guess where) from Stackoverflow :D .In PC i used C# for Windows Forms.
Guys, was everything good choice in these all paragraphs?
LMAO, this was great and had me laughing xD - comment by public static void main(String[] args) member
BASIC remains forever unslandered
Man running a Java program in the terminal is such a nightmare.
especially if it has packages
java -jar path-to-jar
I feel ya
I live java because 1) Its the one my teachers teach (buh) and 2) because I like the oop. it makes more sense to me.
I actually did get banned from r/java, first post
strictest subreddit I've seen in my entire life
What did you post?
As a Java dev I can state this is nothing but the truth. Anyways, still love Java... ☕❤
pythom be like: def hi(): print("hello")
java be like: PUBLIC STATIC VOID MAIN(CONST CHAR*[]) {{{}{{}{}{{{}}
you mean String args[], not const char*[]. This is not C/C++.
@@KineticManiac sorry doing too much Crack++ recently
Bro these are so good lmao
I absolutely love those thank you
this is my 2nd year in college, computer science course, and java is the only language we were taught so far (next year is probably something else)
please do a common lisp video
As a java dev, i laughed so hard on this.
I like to code on Java, but Microsoft's Java
For some reason c# feels a bit better than java.
@@thatsalot3577 cause it is
@@thatsalot3577 cause it is²
@@thatsalot3577 I think Java feels better but C# works more often lol, and all frameworks for C# are better too. Except they are slower, visual studio is slow AF and still not that intuitive to use.
@@trex511ft even though I agree to the development tools, intellij rider can solve the issue of vs but it's not free, and as for language, I'd say you've written more code in java that's why it may feel better to you, but as for sytax, exceptions, threading, async operations and so much more C# definitely offers a better experience because that was the whole purpose of the language
Java: the language so memed by oracle it inspired an entire genre of sub languages to make it better lol.
*Do Rust next :)*
Alright, my opinions: Java is good. It is good where it is good, of course, since every language has a use. I find it especially good for beginners, because if you deal with boilerplate and the usual hard stuff as a beginner, you might understand how programming works, better! Yes, OOP is bad. Brian Will, and several articles about GOOD OOP code (not the books Brian mentions as bad!) explain that very well.
Take `C#` for example - it definitely makes it easier to do anything than Java, but it has too many features, whereas Java does not, which might make looking at larger codebases less confusing, I guess (if you have spent time mastering Java. Notice how I'm ignoring the fact that newer versions of the JDK are fancier and have new operators etc.). I also don't like how Microsoft DESTORYED all programming conventions for `C` and `C++` programmers as well, by making functions being named with `PascalCasing`, putting brackets on the next line (which might be good in `C++` for initializer lists, but not in many other places!). JavaScript is also a good option for beginners, but unless you know how heap memory works (which is taught properly here on the Java and `C`/`C++` side), your code might not be as fast of course. Also, explaining how functions can be stored into variables and passed as arguments can be hard to explain to beginners, whereas JS uses these features extensively! Frameworks like Electron are also a reason for me not liking JS. These frameworks *_will_* usually tempt people into *using the wrong technology for the wrong use case* and suffer with performance issues and whatnot. Native code is better here, of course.
`C` is another nice option, but learning resources are what kill the goodness that teaching `C` to a beginner has. Nobody explains things neatly. You're taught about pointers and structs very early, but not heap allocations. Similarly, in `C++`, somebody coming from another language WILL make the mistake of writing code like `ClassName objectName = new ClassName()`, which is WRONG! Also, the crazy of overloaded operators _definitely_ IS confusing. No beginner, or person coming from another language will be able to tell what `std::cout
My god, your comment is rivaling the length of my english essay.
@@firstdingus (😂)
Oh my God, reading this literally just a month later makes me realize that it isn't as good. Here's another thing I have to say:
Recently, I got to use more of the Java Class Library. There, I realized that _bad_ OOP was a much bigger mess than I thought.
...skip this paragraph:
(I've come up with my own explanation of why OOP is bad. Hey - `10^-37` percent readers interested, you could go find that other reply!)
Alright! So... the JCL is messy, OOP is bad, but it isn't all just fire and breakage! We could, perhaps, write better version _using Java itself._ A JNI version to access, say, the super simple and all powerful `C` file API would be awesome as well, but let's say we don't want to do that. Now, we can just decide to extend those very classes and interfaces that come with the JCL and write our own clean version! Let's make sure we don't dive too deep - we don't want to start modifying platform specific implementations, do we? Even if we're fine with it, let's say we're a beginner, and would like to avoid it. Can we not do that?
Anyway, here are my thoughts on _learning_ to program:
A person should be taught about what _programming_ is. Tell them about programming constructs - teach them in pseudocode, and always place examples from actual programming languages last. *Let them actually feel that programming languages are merely tools.* Teach them Computer Science, or at the least, encourage them to do it - this _will_ take away their attention from thinking so hard about their favorite language.
Also, `C`. Starting at the lowest level is actually a very good idea. You see, hobbyists - people with interest focus a lot on applying their knowledge to watch their ideas come true as soon as possible with well-built technologies, but knowledge is quite important. They should at least, be encouraged to do this. Also, `C` isn't hard for beginners, and won't suddenly turn into requiring JavaScript management skills. `C` also has at least one API to access any technology in the world, as long as it is not a platform, or language-dependant framework (such as React!).
If learnt/taught in the correct way, I'd say that there simply _isn't_ a competitor to `C` when it comes to learning to program for the first time.
*I also need to tell you about how some beginners get VERY BADLY lost* when they learn to program, get bored studying only a little number of concepts, and keep chasing after these well-built 'premium' technologies to build their dream applications, and never know how to do anything unless they've copy-pasted code for it before.
This happened to a friend and I'm sad :(
"OOP theory" (sent to a friend on Discord, may have traces of 'casualness'):
`TL;DR`: use OOP when you think you'll be fine with calling objects in your program "perfectly working, abstracted away, fully reliable independent programs that need to be sent data to gain control over providing little functionality".
"""
The reason why OOP is bad, _is_ that you're dividing your program!
You see, it is just like "series and parallel connections" in Physics. If one of the many electric appliances in a parallel connection catches a fault, then it becomes unusable. But, all other appliances remain active, since each appliance's connection is independent of the other. In a _series connection,_ if one appliance catches a fault, all others are affected in some way.
This is the same idea they used in making GPUs - the idea of parallel processing, and now, in our code. However, the GPU is a machine, which manages everything automatically - a human programmer cannot.
_That,_ is the problem with code division. -If there exists a perfect, well-abstracted API with all the functionality you could ever want for you to use and rely on, then yes, you should use it to do your work. However, in most cases, this perfect, imaginary API is written by the same programmer who uses it, and no, it is -_-not-_- perfect!-
If there are so many parts of the code executing 'individually' with little to no connections, or data sharing, _it becomes hard to control and verify each one's working_ You have to manage a _lot_ more.
This, is why object-oriented code is harder to use. We _must_ stop making our code object-oriented!
_However,_
OOP *is* _perfect_ when you need to create "perfect, reliable APIs".
That's why Java still exists.
That's why it's _still_ used SO much in server space.
OOP is bad, if you're applying it everywhere. Like other programming paradigms, it is merely a tool. _It has a use case!_
...and I just told you what it is!
*LOOK AT `C`'s SUPREME FILE API.*
```c
FILE* file = fopen("file_name.txt");
fprintf("I am writing text into the file :D");
fclose(file);
```
*LOOK AT HOW MUCH PEOPLE LOVE `C++`'s `chrono`.*
*LOOK AT DirectX AND `OpenGL`.*
*LOOK AT THE ANDROID SDK.*
*LOOK AT HOW MUCH THEY LOVE EVERYTHING IN `C#`.*
"""
I prefer C# though [still hasn't seen C# slander yet]
kotlin slander when
I love how so many people constantly defend object-oriented programming, yet everyone seems to be "doing OOP wrong"
And Java makes it worse by forcing you to use OOP and only OOP. Even worse, there are wall-minded people that claim, confidentially, that Java is functional because it started to support lambdas and stuff.
@@xenobino8432 what is wall-minded about that? Java can definitely be used to write in functional style, just like most other languages... Understanding OOP flaws in depth is good because you know what NOT to do. DOD is probably the best of both worlds (from functional and object oriented).
@@xenobino8432 this is why you should use D. It truly lets you do anything
That has nothing to do with languages, more like anemic vs rich domain models
luckily, there are almost no enterprise level apps developed with functional paradigm languages. Guess, there is a reason for that
0:47 well it's the same in C++
Me writing all day in Java: 😈
0:48 after getting Springboot training at work this hits a little too close to home
good video, man
0:40 lmaoo that's exactly what i thought of when i came across them
Scala is awesome
I learned Rust and I don’t like Rust.
I love Java.
Hey guys, you wanna hear a good Java joke?
It's licensing plans.
Literally malding rn
I write everything in Java and I confirm all of this is true
Too accurate. Minecraft mods burning my pc cus of javas stupid garbage collection and my ram is almost fully used up.
It's literally just the mod authors that don't know how to write proper code. When you combine 100 good mods and 100 bad ones, your game will still run like shit.
now a rust slander
in the works
I still can't believe the long ass lines I have to write just to print "hello world", when I start to learn other languages I was like "Jesus Christ it could have been simple?".
Python: print("hi mum")
C++:
#include
int main() {
printf("hi mum"); }
Java:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Ye cuz the most code 90% of beginners will write is an hello world
A hello world program says nothing about a language btw. You could literally make a language which prints hello world when running an empty file, does that mean the language is good?
@@begga9682 I am not saying the language is bad, I still use Java, it is just that I think that it is pretty boilerplate-y, not really an issue when writing, but kind of a hassle when reading.
IDE templates exists
We don't talk about the Unsafe class...
Thought this would be the island when I clicked lol
As a java user,I got my fingers broken
I spent 5 years of my life writing Java boilerplate (thankfully I stopped using it before that became true)
This post was made by C gang
As a Java and C# programmer
I agree
I challenge you to do a ruby slander
unless...
@@alex65432 ?
This might be an unpopular opinion but i honestly like java and oop and genuinely DESPISE rust, python, js, kotlin,
Same here.
Python has beautiful code but when it break I found it harder to debug.
I learned Rust and feel like this language is not for me.
Hey, some of us still do exist
Same
0:38 LOL
Flawless.
We waiting for any Indonesia reference
As a java man I can say that this video is perfect
Java developers after making a class member private and adding getters and setters to it instead of just making it public
But you could build in checks in the setter to not let the field something you don't want. Also with Lombok, no getters and setters are required as it adds Annotations for it
JavaBeans be like
@@kleesup it's overcomplicating simple things
Man people doing that gives getters and setters such a bad name, I hate it.
Basically all of Java's nonsense is done in the name of nearly forcing developers to make the stuff they write won't get broken by one of the other twenty people on the project, or by someone new five years later. If you aren't going to be in that situation there's little reason to use Java.
The only time opening something up to getters and setters on every field like that makes sense is when you *know* that you're going to add validation or otherwise change how things work internally, so all that stuff getting referenced doesn't need to change (NOT if you're going to be changing internal values, because in that case all those references obviously need to be re-checked). You are absolutely correct that you're just turning it into a public field again, if it's just dumb data.
@@dimi5862 It's overcomplicating things *now* for the sake of making things simple for anyone using your stuff, particularly when you have little communication with them. It's designed for bigass teams in office cubicles that don't exist any more.
I saw a comment on another video where this one guy didn't download java from the main website because he thought the main website was a fake one LOL
It looks like it hasn't changed in 20 years
Because java.net was the main website 20 years ago. openjdk.org still looks like shit though :D
I hate how this was my first language thanks to high school
Really aught to be a crime
it still pays well though
don't forget to get a vertical monitor or ultrawide monitor to read the incoming extra-verbose error logs!!!
Now that's some slander
I know jackshit about programming but these are funny AF
You should pick it up, I might make some tutorials in the near future.
No way he forgor de "Java Update Available"
Please do Lua slander next
Rust is pure, rust is good. Do Rust
Finally a language that make me feel better being a C++ programmer.
THANK YOUUU
c# gang