Java is still the first language introduced to incoming Freshmen at Illinois State University. Lots of people in my IT 168 class struggled immensely. First thing I noticed though was that with the design patterns they wanted us to follow, it did make it a lot harder to implement. I would've preferred them to use C/C++ or C#, but Java is still the educational standard among many colleges and universities for whatever reason. It's honestly terrible and I personally hope for Java to be completely trashed by 2025 and replaced with either a newer standard edition of C++ or C#, but it is what it is.
For college I learnt C and JS. I switched colleges and countries and have to learn java and i would much prefer to go back to c and work with pointers than this ungodly horror.
@@Andrei-gv8zv Haha yeah. You should learn Rust. If you know modern C++ like I do, you won't like it very much, but if you don't, you might end up loving it.
I feel like most of the complaints about java are usually more related to a library/framework or just something really small. I get that lots of small things together will have a big effect, but most of the things are also just "this is different from what I'm used to which makes it bad," with the rest mostly being fixed by IDEs. If you accept that it's different and get used to it, there really isn't much to complain about
* Requires a runtime * Terrible errors * No indication if something is a reference * OO is required * BOILERPLATE EVERYWHERE * public static void main(String[] args)
@@aCrumbled * Requires a runtime -> yes * Terrible errors -> No! xD, 100x better than C++/C with its segfaults without stack trace, or errors missing completely * No indication if something is a reference -> types with lowercase name are native, everything else is a reference -> easy * OO is required -> You could work around it * BOILERPLATE EVERYWHERE -> Only if that's your coding style. Getters and setters are optional, you can make your fields public, too. * public static void main(String[] args) -> you write that literally once per program, and once you know Java, it even makes sense.
Java does have a learning curve for sure, but for me, once you have learned it, it's predictability makes it your best friend when getting into bigger code bases. The Libraries and Frameworks that support Java also help with programming a very modular system, while keeping your code very tidy and stable. You are welcome to disagree, just my opinion :)
I love Java. Not because of any specific feature - actually quite the opposite: I love it for its restrictiveness. There's generally at most a handful of ways to do a thing, which results in similar patterns emerging across several developers that never talked with each other. As a result, reading code simplifies from "they could be doing this, or that, or this, or..." to "oh yeah I can easily infer what dozens of lines are going to look like from this single method call". Sure, you still can write awful Java code but generally, bad Java code is glaringly obvious to everyone, meaning that someone (hopefully you, before you subject anyone else to your mess) can and will fix it.
You should look into Rust, as its features are very restricitive. Things that are good practices in other languages are mandatory in Rust, this leads to a much lower number of bugs. And the compiler's erros messages are very useful. I used to be a Java programming, but, as I saw that it was dying (its user base is really declining), I jumped off of the Java train. Just a recommendation :)
@@johncalorino675 I've heard about Rust. I looks very innovative, and I was thinking of looking into it, but currently I'm learning C++ since it's used for a lot. Some things in Java really puzzle me, such as "reference types" - classes and arrays are, but primitives types are not, meaning you can do List, but not List. Overall, Java is a fairly good language (and there are certainly worse), but it has some weird quirks that I quite dislike. I mainly learnt it from modding Minecraft.
@@TheKodeToad The reason why you cannot use primitives as Generic type parameters is that they're inherently different from reference types to improve memory efficiency. You can think of references like C/C++ Pointers. Pointers are 64 bit in size, meaning they're the size of a "long" or "double". If we *did* treat primitives as reference types, then we would have to store a pointer to the value along with the value itself, so twice the storage that is actually needed for our value. Boxing does exactly that, takes the primitive value, stores it on the heap and provides a pointer to that value instead. (It actually has to store more information than just the value, but that's beyond the scope of this reply) So, primitives are accessed directly, while reference types are accessed through a reference. If we wanted to support List we would have to check whether the stored value is a primitive or not - at runtime. Type erasure tells us that this is not possible. The alternative is to create a copy of the generic type specifically for each primitive type. C# does this, the resulting bytecode is annoying to work with, but it does work.
with practically no programming experience, my university introduced me to Java first. In the entirety of my first year, I only used Java as a programming language, and I'm actually really thankful for that. It's a great language to start in BECAUSE of the amount of boilerplate. it makes you unafraid to write boilerplate code (which in turn makes you appreciate languages where you don't need it that much more), and also teaches you to adhere to syntax rules well, since the compiler will throw a hissy fit if you're missing even 1 semicolon.
Java is fantastic bruh. It is just that you are used to something else. It being a strongly typed language is a plus for me. I hate the likes of JS because when you get some bug you have no way of debugging it when it comes to type conversions.
I'm trying to learn Java right now only for the basics and OOP, because I believe it has a lot of learning resources available for a beginner for programming; it's versatile, and i can switch learning other programming languages easier with its syntax, maybe i'm just a masochist but i don't really know. I'm going to switch to C# after the completing the basics. I'll see how it turns out.
VSCode definitively was a mistake with Java 😅. Intellij Idea is much better. Edit: nice to see it being used at 4:27 😁 @7:45 no, Java is in no way a C++, it's more like C# 😄
@@TheRealMangoDev Couldn't be further from the truth with post-2014 C#. Plus, Java has this unique ability to make me want to gouge my eyes out whenever I have to work with it - but with C#, it's a very pleasant stroll in the park.
I should really surround myself with more programmers to learn from. I accidentally took a C++ class last semester. I loved it so much, that I have decided to switch to programming from CyberSec. I am taking Java and SQL this semester. I like that Java has similar syntax to C++. However, you're using things I have never even seen before. My class didn't teach me how to create windows and shit. lol
If you want to learn programming language. Its better to learn it yourself by looking at pages, youtube videos, stackoverflow and others than taking a class that cost money. Atleast for me
Same here pal,same here 😓😅😂 Lost almost of my will to learn & practice a single tech stack for atleast a month.. i either learn the basics & not practicing it or giving it up and never touch it again.. Still hard to find the will & sure i got to.. once we get over it,we could survive & win,i hope so 😌😃 14.08.2022 4:59 Pm ist
I dont agree, i love java. Im 23, computer science student, ive started java as my first language and ive been working with it for just a year. I dont feel like its bad at all.
That's how language should be, not like stupid staff around, when you use something like java and doing it as it should, there will be zero chance to have buggy solution
@@dns8207 oh trust me first programming language takes maximum time to learn. It almost took me 6 months just to write normal code in c#. While I learnt c in less than a 2 weeks.
I agree. Go is hands down the most clean and well-designed C-offspring I've seen. I used to have a hard time translating programming patterns I was used to from other languages in Go but then I started reading GC's source code and it all made sense. Go is the only language I know that gives me the vibe that I can code something up in an hour or two and what I end up with won't be too far from the best quality Go code out there. I absolutely love how the language has a focus on making best practices mandatory. Rust and Go alone are enough for a decent tour of the stateful world. If I had to learn programming from the start all over again, I would've gone with Go -> Rust -> Clojure -> haskell. That's pretty much the recipe to explore 80% of all programming within a year or two imo.
well... I'm a computer systems engineering student and they teach us only java, I've learn to hate it much, and I don't know exactly why, cuz I really like C# even though it is almost the same hshshshs and lately I've been learning Python. Also, the first language I learned was VisualBasic hshshs
Nobody in the real world uses Java without Lombok. It removes 99% of the boilerplate suffering with Java to a point where it feels like a modern language.
alot of projects heads don't want you to use lombok unfortunately, mosly because most java devs are noobs that cant do shit themselves and lombok can cause weird errors on compile time and if you're not setting your ide properly it will cause issues too
2:44, suuure, dumbed down C++: #include #include int main () { std::vector var = { 5, 2 }; //Container/Obj. on the stack, btw. for (auto x: var) std::cout
you know you're getting old when java is not people's first language anymore, but rather a "challenge"
bruh
Java was my first language, and...
...I actually like it, somewhat. C# is better, don't get me wrong.
Java is still the first language introduced to incoming Freshmen at Illinois State University. Lots of people in my IT 168 class struggled immensely. First thing I noticed though was that with the design patterns they wanted us to follow, it did make it a lot harder to implement. I would've preferred them to use C/C++ or C#, but Java is still the educational standard among many colleges and universities for whatever reason. It's honestly terrible and I personally hope for Java to be completely trashed by 2025 and replaced with either a newer standard edition of C++ or C#, but it is what it is.
For college I learnt C and JS. I switched colleges and countries and have to learn java and i would much prefer to go back to c and work with pointers than this ungodly horror.
@@Andrei-gv8zv Haha yeah. You should learn Rust. If you know modern C++ like I do, you won't like it very much, but if you don't, you might end up loving it.
Should've used Microsoft Java. Yes I'm talking about visual J++
I thought about C# Lol
I actually hate how that's a thing...
He has already tried i.e.
More like j#
you should try J#
I feel like most of the complaints about java are usually more related to a library/framework or just something really small. I get that lots of small things together will have a big effect, but most of the things are also just "this is different from what I'm used to which makes it bad," with the rest mostly being fixed by IDEs.
If you accept that it's different and get used to it, there really isn't much to complain about
I've compiled a list of problems, don't know where I put that though. I don't think they're small problems
in my opinion java libraries kinda suck but I just deal with it cause I've been using java for years and don't feel like learning a new language.
Useless boilerplate all over the place. C# properties feel so much better than gets and sets
* Requires a runtime
* Terrible errors
* No indication if something is a reference
* OO is required
* BOILERPLATE EVERYWHERE
* public static void main(String[] args)
@@aCrumbled
* Requires a runtime -> yes
* Terrible errors -> No! xD, 100x better than C++/C with its segfaults without stack trace, or errors missing completely
* No indication if something is a reference -> types with lowercase name are native, everything else is a reference -> easy
* OO is required -> You could work around it
* BOILERPLATE EVERYWHERE -> Only if that's your coding style. Getters and setters are optional, you can make your fields public, too.
* public static void main(String[] args) -> you write that literally once per program, and once you know Java, it even makes sense.
Java does have a learning curve for sure, but for me, once you have learned it, it's predictability makes it your best friend when getting into bigger code bases. The Libraries and Frameworks that support Java also help with programming a very modular system, while keeping your code very tidy and stable. You are welcome to disagree, just my opinion :)
I love Java. Not because of any specific feature - actually quite the opposite: I love it for its restrictiveness.
There's generally at most a handful of ways to do a thing, which results in similar patterns emerging across several developers that never talked with each other. As a result, reading code simplifies from "they could be doing this, or that, or this, or..." to "oh yeah I can easily infer what dozens of lines are going to look like from this single method call".
Sure, you still can write awful Java code but generally, bad Java code is glaringly obvious to everyone, meaning that someone (hopefully you, before you subject anyone else to your mess) can and will fix it.
you should look into golang
I'm also quite a fan of Java due to it being fairly predictable once you know it well.
You should look into Rust, as its features are very restricitive. Things that are good practices in other languages are mandatory in Rust, this leads to a much lower number of bugs. And the compiler's erros messages are very useful. I used to be a Java programming, but, as I saw that it was dying (its user base is really declining), I jumped off of the Java train. Just a recommendation :)
@@johncalorino675
I've heard about Rust. I looks very innovative, and I was thinking of looking into it, but currently I'm learning C++ since it's used for a lot.
Some things in Java really puzzle me, such as "reference types" - classes and arrays are, but primitives types are not, meaning you can do List, but not List.
Overall, Java is a fairly good language (and there are certainly worse), but it has some weird quirks that I quite dislike. I mainly learnt it from modding Minecraft.
@@TheKodeToad The reason why you cannot use primitives as Generic type parameters is that they're inherently different from reference types to improve memory efficiency.
You can think of references like C/C++ Pointers.
Pointers are 64 bit in size, meaning they're the size of a "long" or "double". If we *did* treat primitives as reference types, then we would have to store a pointer to the value along with the value itself, so twice the storage that is actually needed for our value.
Boxing does exactly that, takes the primitive value, stores it on the heap and provides a pointer to that value instead. (It actually has to store more information than just the value, but that's beyond the scope of this reply)
So, primitives are accessed directly, while reference types are accessed through a reference. If we wanted to support List we would have to check whether the stored value is a primitive or not - at runtime. Type erasure tells us that this is not possible.
The alternative is to create a copy of the generic type specifically for each primitive type. C# does this, the resulting bytecode is annoying to work with, but it does work.
with practically no programming experience, my university introduced me to Java first. In the entirety of my first year, I only used Java as a programming language, and I'm actually really thankful for that. It's a great language to start in BECAUSE of the amount of boilerplate. it makes you unafraid to write boilerplate code (which in turn makes you appreciate languages where you don't need it that much more), and also teaches you to adhere to syntax rules well, since the compiler will throw a hissy fit if you're missing even 1 semicolon.
Yeah, Java is a really good language to start. It's so bad that it will make everything else feel great.
C is better
Java is fantastic bruh. It is just that you are used to something else. It being a strongly typed language is a plus for me. I hate the likes of JS because when you get some bug you have no way of debugging it when it comes to type conversions.
he came from a superior (C#)
I love golang
Now you can do Kotlin and try to accomplish exactly the same and compare both of them
Kotlin is just lovely
I was depressed, lonely and sad. I started kotlin and now I have friends, I do sport and I love my life.
How does kotlin compare to c# ? They both claim to be "better java"
@@ioneocla6577 Kotlin is a "succesor" language to Java. That means that you can reuse java code or use java libraries in kotlin
Yes, Kotlin is very "fun".
@@AquaQuokka
fun main() {
println("Here starts your journey with Kotlin!")
}
// ;)
Ayo was that WORLD FAMOUS Elian in the intro???????????
yessir
for the "can you not do that in java?" 4:50 you can, but you would most likely write it on the same line if(bool) return;
For the Text overflow dots, there is a Css property.
I'm trying to learn Java right now only for the basics and OOP, because I believe it has a lot of learning resources available for a beginner for programming; it's versatile, and i can switch learning other programming languages easier with its syntax, maybe i'm just a masochist but i don't really know. I'm going to switch to C# after the completing the basics. I'll see how it turns out.
Just hop on c# immedieately
VSCode definitively was a mistake with Java 😅. Intellij Idea is much better.
Edit: nice to see it being used at 4:27 😁
@7:45 no, Java is in no way a C++, it's more like C# 😄
no, java is in no way a C#, C# is more like java
@@TheRealMangoDev Couldn't be further from the truth with post-2014 C#. Plus, Java has this unique ability to make me want to gouge my eyes out whenever I have to work with it - but with C#, it's a very pleasant stroll in the park.
I should really surround myself with more programmers to learn from. I accidentally took a C++ class last semester. I loved it so much, that I have decided to switch to programming from CyberSec. I am taking Java and SQL this semester. I like that Java has similar syntax to C++. However, you're using things I have never even seen before. My class didn't teach me how to create windows and shit. lol
If you want to learn programming language. Its better to learn it yourself by looking at pages, youtube videos, stackoverflow and others than taking a class that cost money. Atleast for me
I remember when I started studying Java, God, I completely lost the will to live.
Java is evil.
Same here pal,same here 😓😅😂
Lost almost of my will to learn & practice a single tech stack for atleast a month.. i either learn the basics & not practicing it or giving it up and never touch it again..
Still hard to find the will & sure i got to.. once we get over it,we could survive & win,i hope so 😌😃
14.08.2022 4:59 Pm ist
@ㄥㄚҠҠㄖ丂 You're missing the fundamental concepts of manual memory management though. Can only learn that in C, maybe C++ too
no its not
my main problem with it is that it's just straight up hideous
Java was my first language that i actually tried, now, it is easy af
And i find python more confusing than java
your channel has such great content. you are literally my inspiration.
there was not really any real concrete points to why you think java is bad, but ok
TL;DW: Conaticus gets trolled by JVM.
On the plus side, you only have to write your program once and it'll work in every OS and architecture till the end of times.
What about learning Rust next?
I wanted to see you trying your hand at AWT. That would be fun
I dont agree, i love java. Im 23, computer science student, ive started java as my first language and ive been working with it for just a year. I dont feel like its bad at all.
You have no idea what you’re missing out on
We have to use Java in it class. For ever.
That's how language should be, not like stupid staff around, when you use something like java and doing it as it should, there will be zero chance to have buggy solution
its not that bad, there are some isues with switching versions but other than that it works for me.
Want a real challenge? Try installing a library into your java project
Just click on "Add external Jar". Wow, what a challenge 😀
public static void main(string[],args)
Con's voice is way more bri'ish than his face.
I really liked the video, do you think you could do the same but in another language that runs on the jvm like kotlin or scala?
me a java developer: yeah it's horrible but i like it :3
C# is just Microsoft Java with some additional syntactic sugar
hey I was there during the livestreams!
As a Java developer, watching this video for me is so funny
is it just me or do you guys also like java?
Go is so easy. Even easier than python, I think. It can be learned in max 2 hours.
i learned C in 9 months, this makes me really offended (jk)
@@dns8207 oh trust me first programming language takes maximum time to learn. It almost took me 6 months just to write normal code in c#.
While I learnt c in less than a 2 weeks.
I agree. Go is hands down the most clean and well-designed C-offspring I've seen. I used to have a hard time translating programming patterns I was used to from other languages in Go but then I started reading GC's source code and it all made sense. Go is the only language I know that gives me the vibe that I can code something up in an hour or two and what I end up with won't be too far from the best quality Go code out there. I absolutely love how the language has a focus on making best practices mandatory. Rust and Go alone are enough for a decent tour of the stateful world. If I had to learn programming from the start all over again, I would've gone with Go -> Rust -> Clojure -> haskell. That's pretty much the recipe to explore 80% of all programming within a year or two imo.
have like 3 years experience in Java and 1/2 year in C#, totaly agree with you
Kotlin
Tipp: use tabnine extension in intellij idea for auto completion
6:23 Manually implement it? Bro, have you ever heard of text-overflow ellipses?
6:13 Umm, 'text-overflow: ellipsis' ?
Echo chamber
It's for the algorithm I love all of your videos every part
Ah yes, my life is endless suffering
is that Kian voice in the background?
at 0:24 i knew i was gonna like this video.
What VSCode theme do you use?
Glad I dodged Data Structures in Java. Dodged a bullet.
java is like c++ but it makes you considerably more suicidal somehow
Some ide's make java really easy
do kotlin! its like java but you're not constantly trying to fight it
Totally agree
my programming class makes us use java in android studio
next video: i tried assembly
I like JavaScript I’m probably gonna try LuaU aka the roblox programming source
1:42 i use arch with systemd btw
tried c# to make a game at school but java was my first language I am still doing it kotlin and stuff
well... I'm a computer systems engineering student and they teach us only java, I've learn to hate it much, and I don't know exactly why, cuz I really like C# even though it is almost the same hshshshs and lately I've been learning Python.
Also, the first language I learned was VisualBasic hshshs
Because peer pressure
Now you can try to learn Pawn, which is a C-derived language and has some similarities with C# and Java.
BLACKKNIGHT!!!!!!!!!!
Next , try data analysis with python
c++ was the first language i picked up (i hate myself)
As an amateur Java programmer, can confirm, it is not ideal
3:55 if you do not want to use .get(), you can make the username field static, but that's a bad practice.
Jesus Christ don't use Java in vscode only in a full fledged java focused IDE
You look like that bass guy.
java speed run any %
I have second hand eyestrain from your lightmod reddit
6:40 you have a lie file called ahem “corn” ahem open in your ide, why your IDE?
Make a video on java vs kotlin
"Learend"
noooo :( you made a Spigot plugin and not an actual mod with fabric or quilt
java is easy once you know the basics... sometimes
C# can beat java in every comparison
Nice video and very well put together!
How are you ok with c# but hate java
C# provides more utilities by default. NET6 and NET7 eliminated most of the troubles with C# too.
is it not funny how microsft made java++ 7 years after java was created??
yo 'samal' is a good username
Great! Now try kotlin.
(Jk, I really enjoyed the video)
Kinda must agree..Java is way over verbose compared to Kotlin....can't help but wanna start off with Kotlin for Android dev.
Official unofficial face reveal?
Technoblade never dies!
Try Kotlin :)
java. minecraft java. JAVA. JAVAVAVAVA
damn
Why are you using VS-Code, use eclipse also Java is much better then c#, c# is just some shitty Java clone.
erhmm achsually itsh called "Microsoft Java"
You are a beginner.
FACE CAM moment
try Elixir, it is the best language
Can you remember me when you get famous?
learning rust when?
Nobody in the real world uses Java without Lombok. It removes 99% of the boilerplate suffering with Java to a point where it feels like a modern language.
alot of projects heads don't want you to use lombok unfortunately, mosly because most java devs are noobs that cant do shit themselves and lombok can cause weird errors on compile time and if you're not setting your ide properly it will cause issues too
lol this video got rated by vid_iq
Hahah
I guess you should try to learn Go and make a video devoted to this great pleasure.
imagine making a full game on java hahahahhahah
This is the java basic lol. The real challenge is to understand why interface are usefull
2:44, suuure, dumbed down C++:
#include
#include
int main () {
std::vector var = { 5, 2 }; //Container/Obj. on the stack, btw.
for (auto x: var) std::cout
Java is fun tho
Just use c#
:)
I like java ngl💀