"Java had before C# had it, which of course makes it better" I had to rewind it 2 times to make sure that I heard correctly, then I looked at the calendar and it all made sense.
You should read it like - java had it before C# that makes java better in that times when only java had it)) but it is still not true, there are some garbage features which existence in java makes no sense))
@@iGexogenNonsense, Fortran is the best language because it had variables and if statements in the 50s. It will always be best until time travel is invented 😂
😂 You can almost feel physical pain radiating from the video at things like the lack of string interpolation, mandatory escaping, and hanging brackets. This was a great one for today. Made me laugh
Those who are old enough, remembers that c# itself felt like a java clone when it was first announced. Not to mention the whole j# and a lawsuit on api architecture between sun and ms. I was in college when this happened so at that time I couldn't understand the big technical background around this whole situation but I remember my vb/microsoft teacher, and java/linux teacher arguing a lot on this, during lunch hours.
C# is a Java clone from Microsoft. In early Java days Microsoft took part in the development of Java but then decided to develop their own "Java", called C#
while C# isn't really an innovator, I do appreciate that the features it copies are generally better thought out than they were in their respective languages of origin.
I laugh and cry at the same time, because I had to switch from C# to Java (new Job). Think of those fellow programmers who have to deal with that horrible disease everyday. Not just on April 1st.
I had to switch to Java very recently too and I do miss C# as I prefer it, but honestly Java has it its strong sides too. In earnest I'm just happy I can code in both languages relatively pain free because they're so similar.
It is shame that for some most tasty features that exist in C# you have to use third-party library like lombok in java, I talk about extension methods in first place. The second thing in java that I cannot understand are generic collections, they can be casted to non-generic collection, that means that value types in collections are always boxed in objects under the hood, java generic collections are only for convenience, missing memory efficiency. On the other side java includes exceptions in method signature - this is awesome feature that lacks in C#. But I still use and love both, all java language differences are minor, inconsiderable and just matter of habit. Really big difference is in java ecosystem, in that long trail of useless legacy code that follows java cause of it's maturity, some concepts are evolved and implemented completely different modern days, but java not keeping up this pace, they still offer you spring MVC as default way to do web and no even sign of middleware approach from C#. And I didn't mention that monstrous app servers like JBoss, Weblogic, etc mandatory to do some enterprise stuff, which in C# can be done out of box. What is conclusion - I always start new projects in C# to use all modern approaches, but still comfortable to work with some legacy code in java cause it is very good language as well.
Checked exceptions don't scale well and for this reason are deemed as unsuccessful experiment. Also boxing in generic classes is going to be solved, check out Project Valhalla.
string LocalizationService.Translate(string key) throws ArgumentNullException, ArgumentException, InvalidOperationException, KeyNotFoundException. Even tho xml docs are ass to work with, you can describe each exception with a lot more detail, and xml docs arent required
I honestly think the enum's as classes thing is never going to be copied. It's a feature I've called an anti pattern lots of times. The enum in C# is just a way to document the meaning of these values, but really in behind it's an int or something. It doesn't need to be used to encapsulate logic.
sometimes enum classes can be used in a neat way, but we can already emulate their behavior by using records and having static readonly instances of these records inside it. slightly more code, slightly more verbose, but it's ok. especially after the target type new was added.
Yeah I think Java's enums being classes is a terrible idea. One one hand you sort of have to give it to them for being so relentlessly consistent, but in practice it just eliminates the perf benefits of using enums for things like bitfields etc. The Android SDK for example uses ints in place of enums (which is a massive headache as you now have to separately look up which constants each method accepts as flags) but it's because they quite rightly decided that having the overhead of a heap-allocated object every time you want to use an enum just is not worth it. I don't do any "enterprise" .NET stuff, but the ability to use extension methods for enums is easily enough for me, for things like string conversions or checking if a flags enum is in some special configuration
Generics are also cool in Java because Java has them. Don't look at or compare the implementation details or runtime behaviour with C#, it has them and that's cool.
Seems like 8 should be EOLed and migrated from. I tried Java SE 17 and it had features that I used that weren't in Java SE 11 . I think that it would drive me nuts to have to target java 8
Firstly when I got notification I was confused, you rearly post outside of your schedule, but when i watched the video I understood why you posted today. Java >>>> C# thats why we support you!
There is no need to say that Java or c# are better.. the both languages are very clean and powerfull. I am pretty sure we could find some stuff created on C# and retreived after somme times in Java.. And even if it is not the case, the both languages have ++ and -- .. chose the one you prefer, and enjoy! :).. for a 1st April it is a nice video.
Laughing hard while watching one of Nick Chapsas' technical videos is the last thing I would have imaged I'd be doing. 😹 Loved the subtle sarcasm, 'was just perfect! 👌
I learned Java and (Mono) C# on my own ~8 years ago, while having PHP jobs, and decided to go all in on C# solely on my own feelings from using both languages at the time. I think I'm happy I did so: C# has grown so much, and though MS's early attempts at C# for the web were embarrassing, today there isn't a language I'd rather use. that said, when I saw the introduction of raw strings in C#, I was literally laughing; the syntax feels too silly to be real. (pattern matching syntax also isn't anything to be proud of, I feel...) still: looks like C# landed somewhere better than whatever Java came up with, so I guess I'll take it :P
3 things you showed are unironically better: exhaustive switch on enums without default arm, being able to use multiple statements inside switch expressions and you aren't forced to return a value.
I'm trying to switch from c# to java, and I have to be honest, there are somethings in java that bother me a lot. I'm aware that most of it comes from the fact that I have been using c# for the last 12 years and I got used to do things in c# way, besides that fact that the languages resemble but they are not equal. One thing that a really miss on java are the class properties, and among the things that a really don't like are those classes with too much constrution parameter.
I know it was an April 1st Video, I also think it was very good one, but I've true Story for this Topic: I've written simple Singleplayer Game Trainer in so much different languages in over 20 years and I can tell you, it was in every language kind of the same amount of work. The lower languages (C and Pascal) had as benefit that it's not complicated at all to mess with the memory, but all the higher languages made it good with syntax sugar, even JavaScript. Let's say with 200 lines i'd already something Hotkey controlled.. And then I faced my Enemy... I always hated Java, but it had to be done.. And hey, I only needed to write 3 Interfaces, 3 Adapters and invoke 2 binary jar files for calling the Windows API Functions I needed. I was able to write at least a trainer which worked if I told it what the process id of the Process was because for getting the Processes ID of a Process alone, it had me costs 2 other Interfaces and Adapters.. So I know very good, that Java is not the right Tool for it, but at least 15 other languages which I made it with, also not.. so xD I don't argue there is no worse one.
The rules for having multiple records in a file are the same as in the classes, interfaces, and enums. Only one of them should be public record and it should be the file name.
Ok so whole video might be a joke... But the run down is Records: java got in preview in March 2020 but not added till March 2021. C# got it in Nov 2020. Switch Exp. Java gets it in March 2021, C# in Nov 2019. Raw String: Java gets it in Nov 2019, while C# had to wait till Nov 2022. But as mentioned in the video, Java gets two releases per year while C# gets 1. So for records and switches, Java released them while they were getting added into C# release for the year. Id consider records a tie. Switch expressions goes to C# since it was only preview in Java and nobody actually uses preview for anything much more than a demo. Raw sting goes to Java... But I like C# implementation better. Final score: Java 1.5, C# 1.5
I can't stand java just because of the namespace hell. Like every project I see on github is like /server/src/main/java/com/my_project/src/etc/diff/goofyah/zoinks/models/enums/myEnum(dot)java. And idk if it's just java conventions or something but from the code I've seen they just take OOP concepts too far so everything is like MyAbstractFactoryBuilderProviderMessageBroker. And it's like simultaneously explicitly named but also provides 0 context to what it actually is. Idk java is just instant legacy code imho
Not a single person in the entire planet would be trying to write """ into a java block string and say "Huh, i guess if i add a fourth quote i will all magically work" lol. Like, i do think it is a kinda clever solution from C#. But it is definitely not the "Logical intuitive thing" someone would try in that situation
@@LarbiGouzal 😀😀😀 I am old enough that I was around when C# was born. I was learning Java, and I found the package structure unlogical, and a some stuff typing-heavy. Then C# came. I tried out beta, 1.0, 1.1 - the first stable version, etc. It was more logical. And as Microsoft was behind I trusted they sort out all. So I changed from Java to C#. Clearly C# was re-implementation of Java, but from taking all the experience and concept of java and adding them to C# the right way.
I'm sold!! Half of the engineers where I work use Java or Kotlin. I've always been a C# developer, but you've convinced me to switch. I'm so embarrassed that I was pushing such a slow, backwards language for so many years. Thank you for opening my eyes Nick!!
Can someone explain to me why C# warns about coverage in switch expressions when you have an enum and you have every enum value covered. Like why does it want you to put a default case when there isn't a value you haven't accounted for?
Also enums are used for flags and then you can use bitwise or on them to apply multiple flags. In my opinion this is some legacy stuff and has no place in a modern language.
You can even use Notepad and CMD only. VS Code is now the primary text editors for Java. If one needs quick update, instead of IJ, he/she would just open it in VS Code. There are now Java devs who go all in on VS Code. VS Code supports Java. There is a plugin being delivered by both MS and Red Hat.
Nick! Nick! Nick!!!!!!! Java is still the original copy. People like the original over the copy. I prefer the copy. You too? Yeah!!! But we are still people, right! Love you work and am grateful. Keep coding ;)
@@myname2462 there are plenty of resources out there, just start a web search for "type systems", but in short, static type systems can be subdivided into structural and nominal systems. e.g. C# => nominal TypeScript => structural
Here is the three things I hate about java: 1. Generics (Are the types still casted to an object or the JVM can compile to the correct type?) 2. How do you allocate an object on the stack? 3. Package management is quite shitty
I see no problem with them copying from each other. We see something, we want it. If it's not already created, we just make our own. Developing should be fun and not a chore. What ever makes my day to day life as a developer easier I'm all in for.
If you are not watching this video on release day, then maybe look at the release date before commenting
"Java had before C# had it, which of course makes it better" I had to rewind it 2 times to make sure that I heard correctly, then I looked at the calendar and it all made sense.
Honestly though, if you have something to go off of, you can prematurely fix all the issues that the other part might not have the luxury to do so.
oh cmon you've ruined that) your comment is on the top)
I guess it is like Android vs iOS
You should read it like - java had it before C# that makes java better in that times when only java had it)) but it is still not true, there are some garbage features which existence in java makes no sense))
@@iGexogenNonsense, Fortran is the best language because it had variables and if statements in the 50s. It will always be best until time travel is invented 😂
Man, I loved how hard it was sometimes to make Java sound better than C#.
😅
😂 You can almost feel physical pain radiating from the video at things like the lack of string interpolation, mandatory escaping, and hanging brackets. This was a great one for today. Made me laugh
Those who are old enough, remembers that c# itself felt like a java clone when it was first announced. Not to mention the whole j# and a lawsuit on api architecture between sun and ms. I was in college when this happened so at that time I couldn't understand the big technical background around this whole situation but I remember my vb/microsoft teacher, and java/linux teacher arguing a lot on this, during lunch hours.
C# had tough destiny, it made through many wrong turns and complete purification until it became white swan we know today)
C# is a Java clone from Microsoft.
In early Java days Microsoft took part in the development of Java but then decided to develop their own "Java", called C#
@@agentvettel8720 They also had their own javascript with blackjack and hookers called JScript, that was very funny time)
@@agentvettel8720 Microsoft even built its own java VM... and its own base classes also. Then Sun prohibited that.
@@warny1978 And good thing they did , JVM sux.
I'm happy we're getting Java content from Nick even if its 1 day per year.
😂😅😂
@@nickchapsas well I think he was serious 😂😂
@@nickchapsas I really would like to see more content related to java please consider it and thank you
I alway thought that this channel is specifically about C#, till today))
and we get it on this special day :))))
while C# isn't really an innovator, I do appreciate that the features it copies are generally better thought out than they were in their respective languages of origin.
He really programmed in Java, he put an excruciating amount of effort into this joke
Specially liked the moments with zooming 😂 You rock, Nick!🤘
I laugh and cry at the same time, because I had to switch from C# to Java (new Job). Think of those fellow programmers who have to deal with that horrible disease everyday. Not just on April 1st.
Java isn't that bad, really. There are so many worse languages that they could use.
I had to switch to Java very recently too and I do miss C# as I prefer it, but honestly Java has it its strong sides too. In earnest I'm just happy I can code in both languages relatively pain free because they're so similar.
@@Yous0147 without LINQ, without Generic Type usage and overloading... Java hits you on the ground after C# :))
It is shame that for some most tasty features that exist in C# you have to use third-party library like lombok in java, I talk about extension methods in first place. The second thing in java that I cannot understand are generic collections, they can be casted to non-generic collection, that means that value types in collections are always boxed in objects under the hood, java generic collections are only for convenience, missing memory efficiency. On the other side java includes exceptions in method signature - this is awesome feature that lacks in C#. But I still use and love both, all java language differences are minor, inconsiderable and just matter of habit. Really big difference is in java ecosystem, in that long trail of useless legacy code that follows java cause of it's maturity, some concepts are evolved and implemented completely different modern days, but java not keeping up this pace, they still offer you spring MVC as default way to do web and no even sign of middleware approach from C#. And I didn't mention that monstrous app servers like JBoss, Weblogic, etc mandatory to do some enterprise stuff, which in C# can be done out of box. What is conclusion - I always start new projects in C# to use all modern approaches, but still comfortable to work with some legacy code in java cause it is very good language as well.
"exceptions in method signature" this is highly disputed topic, lots of devs hate Java because this
Checked exceptions don't scale well and for this reason are deemed as unsuccessful experiment. Also boxing in generic classes is going to be solved, check out Project Valhalla.
string LocalizationService.Translate(string key) throws ArgumentNullException, ArgumentException, InvalidOperationException, KeyNotFoundException.
Even tho xml docs are ass to work with, you can describe each exception with a lot more detail, and xml docs arent required
Middlewares like Helidon, Javalin, Vert.x?
I honestly think the enum's as classes thing is never going to be copied. It's a feature I've called an anti pattern lots of times. The enum in C# is just a way to document the meaning of these values, but really in behind it's an int or something. It doesn't need to be used to encapsulate logic.
sometimes enum classes can be used in a neat way, but we can already emulate their behavior by using records and having static readonly instances of these records inside it. slightly more code, slightly more verbose, but it's ok. especially after the target type new was added.
Yeah I think Java's enums being classes is a terrible idea. One one hand you sort of have to give it to them for being so relentlessly consistent, but in practice it just eliminates the perf benefits of using enums for things like bitfields etc. The Android SDK for example uses ints in place of enums (which is a massive headache as you now have to separately look up which constants each method accepts as flags) but it's because they quite rightly decided that having the overhead of a heap-allocated object every time you want to use an enum just is not worth it.
I don't do any "enterprise" .NET stuff, but the ability to use extension methods for enums is easily enough for me, for things like string conversions or checking if a flags enum is in some special configuration
Oracle (or Sun) holds a copyright on enum classes. That's one of the reasons c# doesn't have it...
When your sarcasm is so advanced that people actually think you are stupid. 5:01
If it wasn't April first, it would actually start a riot :)
HAHAHAHAHHAHHAHAHHA
😂😂
Generics are also cool in Java because Java has them. Don't look at or compare the implementation details or runtime behaviour with C#, it has them and that's cool.
java erases generics. and that's cool! less stuff to dead with, the runtime is faster and binaries are smaller in size! /s
You forgot about non-generic ArrayLists, because why define a type when it just gets in the way and only supports storing one type /s
You are so right. I’ll make that video on Boxing Day
@@nickchapsas touché 😂
Some of us are old enough to remember .NET 1.0…
Those are all such great features... Too bad our app is still forced to use Java 8.
Seems like 8 should be EOLed and migrated from. I tried Java SE 17 and it had features that I used that weren't in Java SE 11 . I think that it would drive me nuts to have to target java 8
@@stephenJpollei Agreed, I honestly see ZERO reason to use such an outdated SDK.
2:46 The expression on your face with the reference check 😂.
Firstly when I got notification I was confused, you rearly post outside of your schedule, but when i watched the video I understood why you posted today. Java >>>> C# thats why we support you!
Don't forget Java's amazing cli tool that can create Java projects based on numerous templates and Java's amazing standard package manager.
There is no need to say that Java or c# are better.. the both languages are very clean and powerfull. I am pretty sure we could find some stuff created on C# and retreived after somme times in Java.. And even if it is not the case, the both languages have ++ and -- .. chose the one you prefer, and enjoy! :).. for a 1st April it is a nice video.
C only has its ++
You should really do this video idea but with kotlin as I think kotlin is way more comparable to c# especially as of recently
Kotlin is a really well designed language so it would be a serious video. I actually really like it
@@nickchapsas I really have to agree, C# was my favorite language to write in until I found kotlin.
Now do another video explaining the features that appeared in C# first and later copied in Java and that make C# better.
Laughing hard while watching one of Nick Chapsas' technical videos is the last thing I would have imaged I'd be doing. 😹
Loved the subtle sarcasm, 'was just perfect! 👌
I learned Java and (Mono) C# on my own ~8 years ago, while having PHP jobs, and decided to go all in on C# solely on my own feelings from using both languages at the time. I think I'm happy I did so: C# has grown so much, and though MS's early attempts at C# for the web were embarrassing, today there isn't a language I'd rather use. that said, when I saw the introduction of raw strings in C#, I was literally laughing; the syntax feels too silly to be real. (pattern matching syntax also isn't anything to be proud of, I feel...) still: looks like C# landed somewhere better than whatever Java came up with, so I guess I'll take it :P
With you on the pattern matching syntax but not on raw strings. What's wrong with them?
@@parlor3115 opposite for me. i use pattern matching _all the time_ and I love them.
Can't believe Java actually still has no string interpolation
Well, if you use the format function it does the same thing
@@wagnernoise It's much more cumbersome and less readable.
Someday, Nick Chapsas will finally realize Cobol is the future.
Can't wait for this channel to embrace the change.
If you need the real deal: ABAP.
Nick, did you see that .NET 9 you can have other developers write your code for you?
No need, we have Indians on RUclips!
you mean the new "gpt" source generator feature?
@@nmarcel nah, didn't mean anything with it. Was just a continuation of the april fools
People who complain about C# either use Java or haven't had anything nice
You troll 😂 I was close to unsubscribe
I made this video knowing that I’ll lose subs but I think it’s still funny 😂
Nice one😂this is my fav part 2:48
😂😂😂 I was cracking up
c# records and pattern matching are very similar (copied) to f#, does f# copied from java??
3 things you showed are unironically better: exhaustive switch on enums without default arm, being able to use multiple statements inside switch expressions and you aren't forced to return a value.
Nick having some fun on the 1st of April
I decided to switch to Java, but I got this error: the switch expression does not cover all possible input values 😢
Performances between Java and C# would be awesome
νικολα πες και κατι για front end .. αυτο δεν θα ειναι πρωταπριλιατικο αστειο ... ποσους controllers να φτιαξουμε ?
Reading the comments is funny. It's April Fool's Day folks (for those watching at a later date.) The sarcasm was dripping!
yup, he got me! I was one of those comments. :-)
Seems like you showed that c# implements record better.
I'm trying to switch from c# to java, and I have to be honest, there are somethings in java that bother me a lot. I'm aware that most of it comes from the fact that I have been using c# for the last 12 years and I got used to do things in c# way, besides that fact that the languages resemble but they are not equal.
One thing that a really miss on java are the class properties,
and among the things that a really don't like are those classes with too much constrution parameter.
Look at today's date. The video will make more sense.
then just use Kotlin instead of Java! Kotlin is a great programming language that can do a lot that Java can't and can
May I ask why? I'm genuinely curious why you'd want to switch to Java after such a long time in C#
Then better switch from C# to Kotlin
I know it was an April 1st Video, I also think it was very good one, but I've true Story for this Topic:
I've written simple Singleplayer Game Trainer in so much different languages in over 20 years and I can tell you, it was in every language kind of the same amount of work.
The lower languages (C and Pascal) had as benefit that it's not complicated at all to mess with the memory, but all the higher languages made it good with syntax sugar, even JavaScript.
Let's say with 200 lines i'd already something Hotkey controlled..
And then I faced my Enemy... I always hated Java, but it had to be done.. And hey, I only needed to write 3 Interfaces, 3 Adapters and invoke 2 binary jar files for calling the Windows API Functions I needed. I was able to write at least a trainer which worked if I told it what the process id of the Process was because for getting the Processes ID of a Process alone, it had me costs 2 other Interfaces and Adapters.. So I know very good, that Java is not the right Tool for it, but at least 15 other languages which I made it with, also not.. so xD I don't argue there is no worse one.
with c# u get azure that u dont get anything like that in java ?
There were some lol moments in this video. Thanks Nick, you made my day 😂
The rules for having multiple records in a file are the same as in the classes, interfaces, and enums. Only one of them should be public record and it should be the file name.
This video made me want to write async void methods 😂😂
I'm so glad I read some of the comments before commenting myself. 🙂
I wish I did! 🙂
@@FunWithBits LOL! Don't worry - I thought Nick had lost his mind myself. Thankfully I read the right comments first. ;-)
The part where you zoom in and say "Excellent" made me laugh , i was imagining Mr Burns voice and hand gesture to go with it.
O M G,...lmao. @ 2:49 mark.
He started writing the equals method with a capital letter at 2:21. It looks suspicious🤔🤔🤔
pascal case is the most offensive method to use against java developers
Keep these comparisons coming...
Ok so whole video might be a joke... But the run down is
Records: java got in preview in March 2020 but not added till March 2021. C# got it in Nov 2020.
Switch Exp. Java gets it in March 2021, C# in Nov 2019.
Raw String: Java gets it in Nov 2019, while C# had to wait till Nov 2022.
But as mentioned in the video, Java gets two releases per year while C# gets 1. So for records and switches, Java released them while they were getting added into C# release for the year.
Id consider records a tie. Switch expressions goes to C# since it was only preview in Java and nobody actually uses preview for anything much more than a demo. Raw sting goes to Java... But I like C# implementation better.
Final score: Java 1.5, C# 1.5
Well played, Nick, well played! 😂
Seeing laid out like this really makes it feel like Java devs are beta-testers for features for C# devs.
The fact that you can escape characters in Java text blocks makes it pretty useless.
This is gold!
Three qutotes can replaced with one backtick and you can use string interoplation with it, and with the enum you can do better too...
Dammit, you actually got me. I forgot the date. you win.
I'd love you to make a video about the impact this video if any analytics is available, people are often religious about programming langauges.
Lol, Easter Egg style video. Happy April 1st
i love this kind of humor. 😂 please do more like this!
I can't stand java just because of the namespace hell. Like every project I see on github is like /server/src/main/java/com/my_project/src/etc/diff/goofyah/zoinks/models/enums/myEnum(dot)java. And idk if it's just java conventions or something but from the code I've seen they just take OOP concepts too far so everything is like MyAbstractFactoryBuilderProviderMessageBroker. And it's like simultaneously explicitly named but also provides 0 context to what it actually is. Idk java is just instant legacy code imho
I have to say that the text block already existed in Python way before Java did.
Not a single person in the entire planet would be trying to write """ into a java block string and say "Huh, i guess if i add a fourth quote i will all magically work" lol. Like, i do think it is a kinda clever solution from C#. But it is definitely not the "Logical intuitive thing" someone would try in that situation
maybe you can also investigate and report on the superiority of GW-BASIC??
If you're not paying attention, you'll miss the point of the video. I actually had to watch the video again to be sure, so great job Nick.
You forgot to mention, the very first feature that Java get first was called "Java", It was named later as "C#" in C#. 🙂
I see what you did there 🤣🤣🤣🤣🤣🤣
@@LarbiGouzal 😀😀😀
I am old enough that I was around when C# was born. I was learning Java, and I found the package structure unlogical, and a some stuff typing-heavy. Then C# came. I tried out beta, 1.0, 1.1 - the first stable version, etc. It was more logical. And as Microsoft was behind I trusted they sort out all. So I changed from Java to C#.
Clearly C# was re-implementation of Java, but from taking all the experience and concept of java and adding them to C# the right way.
I'm sold!! Half of the engineers where I work use Java or Kotlin. I've always been a C# developer, but you've convinced me to switch. I'm so embarrassed that I was pushing such a slow, backwards language for so many years. Thank you for opening my eyes Nick!!
"The third of anything is the best - Disney on preludial"
Great video!
Had a great laugh xD
This video is wrong. Everyone knows that the best programming language is VBA
Can someone explain to me why C# warns about coverage in switch expressions when you have an enum and you have every enum value covered. Like why does it want you to put a default case when there isn't a value you haven't accounted for?
Enums can be casted from integers so technical you can have an enum that is "out of range"
Also enums are used for flags and then you can use bitwise or on them to apply multiple flags. In my opinion this is some legacy stuff and has no place in a modern language.
Plot twist: Nick is a java developer really! Thanks for the content!
"We got it in 2019, We got it in 2020", what is "we" referring to, Nick? I'm confused here!
I know you’re joking (probably😂), but it feels strange hearing you saying JAVA is better than C#😂😂
You are comparing an original product(java)vs rip offs(c#) 🤣🤣 unfair competition
Trollface :D :D :D Thanks, for the laugh and happy April fools day :)
I wonder how Nick could be so serious in the video talking about Java 😂
Almost got me there foools❤
no shade was left undrown
I code in both as well and what I like the most in Java is JPA + Hibernate. Its so much better and easier to learn then EF and Dapper.
for me the fact that switch expression must return something is normal in c#, because an expression return something
How is Java dealing with SDK-style project templates? I'm curious to see how todo Java in VS Code since Visual Studio doesn't support Java
You can even use Notepad and CMD only. VS Code is now the primary text editors for Java. If one needs quick update, instead of IJ, he/she would just open it in VS Code. There are now Java devs who go all in on VS Code. VS Code supports Java. There is a plugin being delivered by both MS and Red Hat.
Bruh, I woke up and saw the video notification and thought did I wake up in different reality and timeline.😂
In these examples they both have it quite similar. In general c# beats java.
You're the best one dude, definitely loved the video
I admire your ability to keep a straight face describing all these "features" 😂
Nick! Nick! Nick!!!!!!! Java is still the original copy. People like the original over the copy. I prefer the copy. You too? Yeah!!! But we are still people, right! Love you work and am grateful. Keep coding ;)
Both languages are outdated.
The nominal type system annoys me the most.
What do you mean by nominated type system?
@@myname2462 there are plenty of resources out there, just start a web search for "type systems",
but in short, static type systems can be subdivided into structural and nominal systems.
e.g.
C# => nominal
TypeScript => structural
Nice another Video 🔥
On a serious note, java does allow static methods on enums 👀 is that syntax sugar or..?
Yeah it does. I actually really like Java enums
Does Java have type safe function pointers yet
I would like to see a serious video about kotlin
I’ll probably make that video at some point. There is a lot I have to say
Thank you Nick for teaching us Java 🤓 ❤
I watched this video in the morning and I was confused. It all makes sense now of course
I'm switching to Java now thank you Nick
ohh Nick... you make my day!
Didn't even need to look at the release date. The first 4 seconds were enough to make me doubt the validity of the video.
Here is the three things I hate about java:
1. Generics (Are the types still casted to an object or the JVM can compile to the correct type?)
2. How do you allocate an object on the stack?
3. Package management is quite shitty
I see no problem with them copying from each other. We see something, we want it. If it's not already created, we just make our own. Developing should be fun and not a chore. What ever makes my day to day life as a developer easier I'm all in for.
If Java is a better language, why does it not have properties like C#? This I have never understood...