Introduction to C++ Live Stream!
0:25
Learn C++, C# and Java With Chuck
0:31
Learn All About Record Types in C#
5:21
Introduction to C#: Classes, Part 1
5:56
Introduction to C#: Namespaces
5:55
2 жыл бұрын
Introduction to C#: Console I/O
5:56
Tuples in C# (updated)
5:11
3 жыл бұрын
Null-Conditional Operators in C#
4:41
Пікірлер
@Shagidelic
@Shagidelic 2 күн бұрын
in my opinion, with java the difference between theory and implementation is minimal as compared to C#. What i mean is that if the theory has 3 components in a concept, then the implementation of that concept in Java would also have 3 components in code. But, in C# the implementation would have 5-10 extra components that we would have to understand. Example, like, in this video you see that java uses existing concepts to implement new functionality, but c# has introduced a separate standard/princple/concept just to add a new feature. that is why there are more than twice as many keywords in C#. Java class library is more natural, while with C# it seems like every different concept has been implemented by a very different person. Although, with .NET Core things are getting better.
@kennedymwenda3357
@kennedymwenda3357 3 күн бұрын
You make me want to start doing web development with .Net
@johnshaw6702
@johnshaw6702 5 күн бұрын
Interesting, and a good explanation. I've prgramed in both C++ and C#, and have found myself frustrsted at times with C#. I've ran into a few situations were what would be simple in C++ was not possible in C#. Example: I had to modify an external library to do something that actually requied me to create a thread in it. The thread needed to finish its job before any application using it shutdown or the data would be lost. In C++ the thread would have to complete its job before it would stop processing. In C# the thread would just stop, regardless of its state at the time. Every mechanism, on paper, that was supposed to allow me some control over the thread in C# was bypast completely.
@liskardev
@liskardev 8 күн бұрын
Java is much better
@optomecanic5320
@optomecanic5320 10 күн бұрын
java has also annotation and record😉
@StandardLoop
@StandardLoop 11 күн бұрын
Great video
@j.r.8176
@j.r.8176 11 күн бұрын
This comparison makes no sense. Two tools for two very different jobs.
@andrewfandy8178
@andrewfandy8178 12 күн бұрын
Thanks for the video sir, great explanation!, i want to move into C# .NET environment from Java, and found this video and i could get an overview about C# development
@sangeethnandakumar2534
@sangeethnandakumar2534 18 күн бұрын
I had a small experience developing Java for Android apps and a big experiance working with .NET C# for enterprice apps, APIs and microservices. As somebody who worked on both even though not as same duration you know.. Let me be very fair and non-biased, "C# is just fantastic" and I enjoy deploying my high perf APIs on my servers using Github actions these days
@waynehawkins654
@waynehawkins654 18 күн бұрын
c# all the way.
@alsocraxyy
@alsocraxyy 21 күн бұрын
Really Working 👍
@Frauenfoerderer
@Frauenfoerderer 24 күн бұрын
Great course! Thanks for your effort - can't understand why you don't have a lot more subs; hopefully you channel grows :)
@barionlp
@barionlp 28 күн бұрын
you forgot that C# gives you the option to write low level code. So i can just write my Application using all of C#s benefits and only write the performance critical parts in a unsafe way without having to write them in a whole other language. I also like how C# adopts so many functional features, combining the best of both worlds
@lx2222x
@lx2222x 11 күн бұрын
Also people forget how great C# interops with native libraries. Java on the other side often requires some kind of overhead
@jay_wright_thats_right
@jay_wright_thats_right 29 күн бұрын
This is a great set of videos. Are you done with the live streams to continue the playlist or is this the end? I really appreciate the effort you put into these videos.
@ashwithchandra2622
@ashwithchandra2622 Ай бұрын
It is the best concepts video i have ever watched ❤❤❤.
@tuterruyi5178
@tuterruyi5178 Ай бұрын
Well am an c enjoyer Sooo... See more...
@andym2723
@andym2723 Ай бұрын
The power of Java is it’s JVM. You need traditional programming there is regular java. You need a cloud oriented solution for fintech there’s scala. You need rapid prototyping on the web there’s groovy. When I say web I refer to traditional web pages on the internet not intranet applications. You need RPC front end solution for front end web there’s GWT or Vaadin. Kotlin for mobile applications.
@ankeshkapil3129
@ankeshkapil3129 Ай бұрын
c# is too bloated
@skeleton_craftGaming
@skeleton_craftGaming Ай бұрын
As much as I dispise Microsoft, they at least have their head screwed on when they sre designing C# unlike the people at Oracle while they were and are designing Java.. Unity is evil, use godot or ue5 That being said, Java actually isn't that bad of language. And the only real experience I have with java is interfacing with nigh on 15 year old code at this point
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
IMO, most of Java's problems were baked into the original definition and the stubbornness of the architects at Sun Microsystems. When Oracle took over in the late 2000s, the stubborn players were terminated and a revival of Java commenced. It took nearly a decade, but Java eventually provided some of the C# and C++ features for the most part.
@bronzekoala9141
@bronzekoala9141 Ай бұрын
I wonder why chacked exceptions are a bad Idea? Because without being a Java Dev, it sounds really great. It always bothered me in C# that you never know when a method could throw.
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
It is good in theory, but in practice it can be a problem. Think about the HttpServlet class in Java. To create a servlet, one must subclass and override doGet, doPost, etc. The superclass methods declare throws ServletException and IOException. These must be replicated in the override. However, most developers will access a database that throws SqlExceptions. Now the developer must try/catch those. A common programming error is to simply ignore the error, leaving the application in a 'good' state even though the operation failed. The correct move is to rethrow a runtime or servlet exception with the original nested. This clutters up the code and doesn't add any value. Code that can really handle the exception probably doesn't care what the problem is. It will simply log the error and redirect the user to a sanitary error page. Having all the layers of code in between have to be exception aware defeats the purpose (essentially becoming a return code that has to be propagated)! Bjarne Stroustrup explains the reasoning for dropping the feature in C++ 11 by saying after decades of use, most applications handle all exceptions the same way near or in main and all the exception declaring just made everything more cumbersome and error prone.
@TheRealXartaX
@TheRealXartaX Ай бұрын
I think it would be more useful if you kept both the C# and Java syntax on screen at once so you can visually compare them. Instead of "transforming" the code into the different language, so you have to rewind to check the previous syntax.
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
Thank goodness for pause and rewind!
@TheRealXartaX
@TheRealXartaX Ай бұрын
@@McCulloughAssociates "Thank goodness for crutches, now you don't need that leg surgery".
@freecash3474
@freecash3474 Ай бұрын
thank you ton
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
Most welcome!
@babutschi
@babutschi Ай бұрын
The question is so ridiculous. 😂 C# > Java
@bigbilly29
@bigbilly29 Ай бұрын
Thanks Chuck
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
You are very welcome!
@remomagalhaes4707
@remomagalhaes4707 Ай бұрын
Thanks for this great video
@McCulloughAssociates
@McCulloughAssociates Ай бұрын
Glad you liked it!
@shoobidyboop8634
@shoobidyboop8634 Ай бұрын
Java doesn't suck. It blows.
@wheresmyclicker
@wheresmyclicker Ай бұрын
Does the dotnet vm take less time to spin up than the jvm?
@lx2222x
@lx2222x 11 күн бұрын
Yes dotnet is faster. Also when compiled with AOT you get instant startup times like in C++
@jaymartinez311
@jaymartinez311 Ай бұрын
the fact i can do this similar to js/ts makes me pick c#: var foo = new { // Some object props } Thats just one thing without a LinQs example or any of that and C# 12 is on another level.
@ethanbuttazzi2602
@ethanbuttazzi2602 2 ай бұрын
in my opnion unless you RELLY need that cross plataform natively, and arent willing to use a third party framework, you relly should just use c#, its a better coding experience no questions asked, same thing to learn, java documentation and reference sucks.
@McCulloughAssociates
@McCulloughAssociates 2 ай бұрын
.net has a broader cross platform footprint than Java with translation for iOS and Android along with windows, Linux, Mac, etc out of the box, so even that doesn’t justify using Java
@freeguy2418
@freeguy2418 2 ай бұрын
C# has checked keyword!
@McCulloughAssociates
@McCulloughAssociates 2 ай бұрын
Yes, but for arithmetic overflows. Not sure if you were referring to Java's checked exceptions vs c# essentially unchecked exceptions (as is C++ as of v11)
@alessioantinoro5713
@alessioantinoro5713 2 ай бұрын
Of course when someone does a comparision of a version of Java released 10 years ago against a comparision with the lastest version of C#, the latter will win.
@bmsrk
@bmsrk 2 ай бұрын
Blazor is actually a breath of fresh air on SPA frameworks. I still hate developing SPAs.
@DK-ox7ze
@DK-ox7ze 2 ай бұрын
Please do a similar video comparing both languages to Javascript/typescript.
@McCulloughAssociates
@McCulloughAssociates 2 ай бұрын
Will do!
@DK-ox7ze
@DK-ox7ze 2 ай бұрын
@@McCulloughAssociates Looking forward to it. Will be great if you can do two separate videos comparing JS to each.
@hlubradio2318
@hlubradio2318 3 ай бұрын
Thanks
@JohnSmith-yr7ih
@JohnSmith-yr7ih 3 ай бұрын
Hi! Thanks for viseo. can you please make a tutorial of aspNet web api + Blazor webassembly (not a `BlazorApp` or `Blazor Server` templates) Identity auth tutotial (new way, .net 8)? register, login, logout features
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Thanks for your comment! All of your requests are on our to do list, so be on the lookout for those!
@balloney2175
@balloney2175 3 ай бұрын
Very well explanation and differentiation.
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Glad you liked it!
@evangudmestad
@evangudmestad 3 ай бұрын
Greetings from a web development instructor in STL, MO. Shared this video with my class. Thanks!
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Thanks! Hope it helps - I just published part of of a Blazor tutorial series. Check it out! kzbin.info/www/bejne/a5XZlnlreNmlntE
@imadabab
@imadabab 3 ай бұрын
Thanks a lot for this valuable information. Actually, after I tried blazor, I would say it's the best framework work I have ever used. Thanks to Microsoft. Finally, with only C#, I can achieve the best results with blazor. As you mentioned, Blazor application looks like a desktop application on the web 😀
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Thanks for sharing!
@tomaseguchi5793
@tomaseguchi5793 3 ай бұрын
at last I FIND someone that teaches and and explains things in the same language a beginner would, maybe I'm to old to understand certain ideas or concepts but you made me understand everything easily since day one, with just your first four videos, thank you, some day youtubes F-up algorithm will find these videos and im sure they will get the attention they deserve, keep at it! you are a natural for teaching, thank you again
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Wow, thank you!
@timk232
@timk232 3 ай бұрын
Great video! Well explained, thank you.
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
Glad you enjoyed it!
@majahanson311
@majahanson311 3 ай бұрын
If a developer asked me which the learn, one of my first questions would be what kinds of companies do you want to work for? If you want to work on line of business apps in established companies, C#. If you want to work in west coast startups or big tech, Java. I definitely like the C# language and tool stack better, but because C# started out life as Windows-dependent, Java ended up dominant in cultures that didn’t want to depend on Windows. Thankfully the dependency went away, but the inertia from that history remains
@rankarat
@rankarat 3 ай бұрын
What about readonly? 😉
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
The parameter can be marked with *in* to make it _readonly_, but then it can only be used to initialize a property or field. So then you can declare a field that is readonly. But now, you aren't really any better off than the traditional constructor. ``` internal class Example (in string tmp) { private readonly string tmp = tmp; } ```
@local.interloper
@local.interloper 3 ай бұрын
Nice to see Microsoft JavaScript features being added to Microsoft Java, I love this!
@LukeAvedon
@LukeAvedon 3 ай бұрын
LOL!
@cyrilemeka6987
@cyrilemeka6987 3 ай бұрын
😂😂
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
😂
@local.interloper
@local.interloper 3 ай бұрын
First!
@cyrilemeka6987
@cyrilemeka6987 3 ай бұрын
8:28 hah, the standard library laughs in std::basic_stream
@mr_don_key
@mr_don_key 3 ай бұрын
c# now has var you can use with variables, it's will auto guess the type and sets it. e.g. var bla, and later bla receive a string, it will assign the type string to bla
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
kzbin.infonnIPBjcHnjw
@mr_don_key
@mr_don_key 3 ай бұрын
@@McCulloughAssociates yes.. just mentioned it, because it was not in this video.
@Tau-qr7f
@Tau-qr7f 4 ай бұрын
I prefer the classical way of using templates. This one will make code uglier if i am going to define a variable that has the same type as an argument. Let alone, one can’t use concepts. Sorry, hard pass.
@McCulloughAssociates
@McCulloughAssociates 3 ай бұрын
We can use concepts with *auto* templates. auto square ( *integral* auto x) {return x*x;}
@appstratum9747
@appstratum9747 4 ай бұрын
Good video. I'm not sure I agree vis-a-vis the cross-platform support in C#. I say that as a 20 year Java veteran who has written Java applications for Mac, Linux, Windows for Desktop and Server and mobile (as far back as Java ME / MIDP / CLDC on Symbian Series 60) and with plenty of experience of AWT, Swing and SWT on the desktop. I developed with C# on Windows for a while back in 2013/14 and, though I could see the benefits of .NET framework, felt that compared with Java it was very much the poor relation at that time. Especially for enterprise use and high volume applications on super stable unix or linux machines. And writing installers with WiX Toolset for Windows was necessary rather than optional and effectively an entirely different skillset to pick up over and above C#. Today I think the reverse is largely true. C# is now an excellent cross-platform development tool. These days I almost always develop on a Mac and target MacOS and Linux for the most part. I think the C# community have a far better handle on developing with domain-driven design and event driven architectures than the Java community do and this is reflected in the relative popularity of libraries and their maturity to support this. The dotnet CLI it very useful and I find that I very rarely use Visual Studio at all these days. If you want a great IDE, Rider is to C# developers what IntelliJ IDEA is to Java and Scala developers (and from the same source: JetBrains). C# is now an excellent tool for browser-based client-side apps. As a long-time Angular and React JavaScript/TypeScript developer (with 14 years of doing this) I really like Blazor and find it very productive. Indeed I prefer it to Angular and React these days. Linq has been around for ages and if outright performance isn't your highest priority it makes application code very readable and pleasurable to maintain. EF Core is pretty good as an ORM and combined with the built-in dependency injection container (or any of the alternatives) and/or Dapper, C# is comfortably as pleasant to use as Spring Framework & Hibernate and personally I prefer it. I much prefer NuGet to Maven, too. And to NPM for that matter. I've used recent versions of Java and it's okay. But it's still very "blue collar", which I guess is no bad thing in its own way. I genuinely have come to very much appreciate C# though and, team skills aside, it would be my first choice for application development these days. It does virtually everything pretty well (from Browser and Mobile through to Desktop and Server). Java excels on the server, is totally outclassed on the desktop (and I say this as a former Eclipse plugin developer), is next to useless on the browser and pretty reasonable on just one mobile platform (Android). Altogether I think you can't really go wrong with C# and something like TypeScript as a fallback on the browser. I'm now doing a lot of Rust, too, these days which is great on the browser (with Leptos in my case), fantastic for CLIs (and better than C# here), really good for embedded applications (where C# and Java are totally lacking) and with luck will be a decent mobile platform (running on Tauri) in the not too distant future. That's still very much a niche, though. Though a very nice niche, particularly with WebAssembly (browser and Wasmtime). Rust has become very exciting this last year. Having said that, though Rust, C# and Java are all super-practical on the server, Go is by far the best of the lot for its concurrent programming model. Overall I'd still end up using Rust if stability and security (as well as good performance and low resource use) were critical. But Go is still a super-practical alternative when it comes to micro service development and positively shines compared with Java and C# for certain kinds of server-side applications. Go has got a very quick and shallow learning curve for new developers if you're onboarding them but a very steep learning curve (close to vertical) when you get to the more complex stuff and/or find problems that can't be solved easily. The initial simplicity can be a little bit deceptive. If you had to have just one language to develop with, though, for me C# is a clear winner as an all round do-it-all language that does virtually everything pretty well. If you've programmed in other languages (Rust and Go in particular) then you'll yearn for what these provide from time to time. And JS/TS developers may hanker after the odd thing on the browser. But if you haven't used any of those then you won't miss them. I can't think of a single reason (other than the large ecosystem of libraries or a team that only had Java skills) where I'd now opt for Java over C#. C# is better and more productive almost all of the time. Like Cobol, Java will be around for decades. And it's still a very good all round programming language. It's a bit dull to work with but it gets the job done. Modern Java code is a little bit more compact, even if it can't quite match the (relative) elegance of C# in quite a few areas. C# by and large just makes things 15% easier day in day out.
@krishx007
@krishx007 4 ай бұрын
@brownrhythms
@brownrhythms 4 ай бұрын
I spent sometime converting a C++ CLI service over to C#. In terms of syntax, I'll take C# over C++ CLI every time.