Is C# worth learning in 2023?

Ғылым және технология

Ready to find out if C# is still worth learning in 2023? In this video, we'll cover its history, current uses, and comparison to other languages. By the end, you'll know if it's worth your time and effort.
#csharp #dotnet #learnprogramming
📖 Get my book - Developing on AWS with C#
www.oreilly.com/library/view/developing-on-aws/9781492095866/
🔗 More guides & articles
traintocode.com
💻 Github
github.com/traintocode
🗣️ Social Media
- www.linkedin.com/in/jamesjcharlesworth/
- jcharlesworthuk
00:00 Introduction
00:36 History of C#
03:32 Different Applications
05:15 Is It Worth Learning?

Пікірлер: 81

  • @HarshColby
    @HarshColby Жыл бұрын

    Iv'e been programming a very long time: 67yo who learned FORTRAN in high school. I've used many languages and like C# the best. It's familiar, being based on C/C++, but adds a lot of convenience features to make development faster. The compiler is wicked fast, and debugging support is awesome. I'm retired, so I can write in any language I choose.

  • @monotheistAli

    @monotheistAli

    Жыл бұрын

    Would you mind if I ask about what industries did you work in and what was your average salary and do you have any regret for something you didn't do as a student or as a junior developer and do you have any advice for a college student who is studying data science, thanks :)

  • @HarshColby

    @HarshColby

    Жыл бұрын

    ​@@monotheistAli Defense Contractor, Weather Satellites, Operating Systems, Legal Database, Hotel Reservation Systems, Home Automation, in that order. The great thing about programming is that you're not tied to a particular industry. Computers are the same everywhere. Converting to today's US Dollar because telling you I asked for $11k but was hired for $13k in 1977 isn't very useful :) $62k in 1977 to $314k in 1998. In 1999, I got tired of the large corporate rat race, and started a home automation company, so went from $0 in 1999 to $172k in 2008. "Retired" in 2009. (I didn't track this over the years, btw. This is from Social Security records I downloaded just now.) Things I regret as a student: Nothing. I took every computer class I could find, at two different colleges, and loved it. No student loans. Met my wife there. Advice: 1. Learn concepts. The languages you learn today won't be the ones used tomorrow. Data structures, design patterns, best practices, AI concepts, etc, will be useful forever. 2. Diversify. Learn a broad range of computer topics and languages. The more you understand how computers work, the easier it is to grasp *why* things are done the way they are. A diversity of languages gives you a broad understanding of how different languages have different approaches to problem-solving. Each language has its strengths and weaknesses, and you'll be better able to get good jobs if you know the language that company is using. 3. Hang with people smarter than you. Over the years, you'll learn a lot more from intelligent and experienced people around you than you could ever learn on your own. When choosing a company to work for, consider the expertise of the people you'll be working with. Tesla is better than IBM, for example. 4. If money is important, consider management. It's not programming, but your data science knowledge can get you paid more than coding skills. I ended up having more fun designing systems than coding them. 5. Always, always, keep learning. Spending your own time learning new skills will make you more valuable, and you'll get paid more. And, if you ever want to start your own company, you'll need to know a lot more than just how to code. 6. Don't be afraid to change jobs. Being happy is more important than money, assuming you make enough to pay the bills. If you're offered a job that pays better, take it. When asking for a salary, ask for more than you think you can get, but not so much that it's unreasonable. Be prepared to defend that number in terms of why you're worth it (from the company's point of view, not yours) in an interview. 7. Save at least 15% of the money you make for use in retirement. Retirement gives you the freedom to program whatever you like after you retire. If you don't like programming when you retire, then there's always a beach somewhere.

  • @ArcadeAzrall
    @ArcadeAzrall11 ай бұрын

    Thank you for such an informative video. I'm in the midst of a midlife career crisis and thinking of self teaching myself development. I have a background in IT using back end systems, so was looking to do something backend. I was thinking of either Java or C# and I think you've just made my mind up. Thanks again!

  • @ezwa
    @ezwa8 ай бұрын

    I have a C# job interview coming this week and I am looking for tutorials to refresh my C# knowledge (I have experience but that was 5 years ago, I've gone PHP and Javascript) Stumble upon a video on this channel and instantly subscribed, I will be binging all your C# videos, create a sample project in C#, and then hopefully will be equipped for the interview. Thank you!

  • @andromedacassiopiea

    @andromedacassiopiea

    7 ай бұрын

    Same case here too

  • @01psychosocial10
    @01psychosocial10 Жыл бұрын

    Excellent video! Just two things I like to add: 1. Don't let hate for C# discourage you. Many people dislike C# because it's from Microsoft and it's fashionable to bash big company products. I've been using C# for two years now (had prior programming experience) and I love its productivity. However, it's not perfect and not the beginenr friendly language it once was. It can be overwhelming for novice programmers due to its many features and best practices have been changing so often over the liefetime of the language it is not easy to find out which way is the best. 2. As for Blazor, proceed with caution. It's Microsoft's way of web development, but it's different from what typical web frameworks in the javascript world do. I think it leads to bad practices, like as coupling app logic to the U and has a lot of "magic" happeningI. Consider using .Net with a typical web frontend of your choice. There is some .Net templates you can use to start of. For WASM in general - it is exciting, aand has been so for a while now, but it hasn't taken off yet.

  • @traintocode

    @traintocode

    Жыл бұрын

    Thanks! And yes these are both really valid points. I do think the "unfashionability" is wearing off though especially since they now seem to be at the cutting edge of AI, but time will tell on that one I guess. As for Blazor I've not used it in ay production apps yet and yes you are right to say proceed with caution

  • @adanmirandaespindola521

    @adanmirandaespindola521

    Жыл бұрын

    I don't like C# for several reasons including it's from Microsoft, but... i have to use it as well as other technologies I also dislike, if solves my project requirements it's ok so tastes stays out of the choice. Just be professional

  • Жыл бұрын

    Xamarin dev here with a small share in Unity too. I love the way C# has grown to become the Swiss army knife it is today. Do you want to do OOP? Sure. Want to go functional programming? Absolutely, no problem. Async, composite, DI...? Check, check, check. Heck, you can even apply and override THE ARITHMETIC OPERATORS FOR YOUR OWN CLASSES! And it does everything without forcing you to know all its perks. It's this "easy to learn, long way (not necessarily hard) to master" mantra that makes C# more enjoyable. And being an strong typed language makes it harder to do some mistakes. As a side note, I came from a web-dev environment (JS, PHP, Java) before landing in my first junior Xamarin job when it was still MonoTouch and MonoDroid.

  • @traintocode

    @traintocode

    Жыл бұрын

    This is very true, especially coming from Java C# can feel like Java with more choice

  • @jameshancock
    @jameshancock Жыл бұрын

    Some corrections: C# also can AOT compile to native like Dart. C# also can do Uno which is fully cross platform similar to flutter. Xamarin is toast. It's now MAUI.

  • @traintocode

    @traintocode

    Жыл бұрын

    All good and accurate points thanks for pointing these out - I do have another video on my channel that shows how to migrate Xamarin to MAUI

  • @closetothee3785
    @closetothee3785 Жыл бұрын

    Visual Studio should be one of the reasons that C# is worth learning. I never saw any IDE better than that.

  • @ziaulhasanhamim3931

    @ziaulhasanhamim3931

    Жыл бұрын

    😂😂 no. Modern devs don't usually use visual studio 2022 because it's windows only. Try jetbrains rider. It's better in every aspect than visual studio

  • @closetothee3785

    @closetothee3785

    Жыл бұрын

    @@ziaulhasanhamim3931 Good to know. Thanks.

  • @ripple123

    @ripple123

    Жыл бұрын

    then you havent tried Rider because Visual Studio is really bad in comparison

  • @traintocode

    @traintocode

    Жыл бұрын

    VSCode?

  • @marcosev08

    @marcosev08

    Жыл бұрын

    @@traintocode ??? vs only

  • @MegaBobtube
    @MegaBobtube Жыл бұрын

    Thanks for encouraging! as well as Xamarin and Blazor! I didn't want to forget earned skill before.

  • @traintocode

    @traintocode

    Жыл бұрын

    Keep it up

  • @JinoLeGeek

    @JinoLeGeek

    Жыл бұрын

    It MAUI the successor of xamarin, you just write the code once , and compile it to windows, linux or mac

  • @HDR95
    @HDR95 Жыл бұрын

    Personal Opinion: My favorite project is written in C# and its performance (at least on my end) is much better than the alternative that's written in C++. Is it because of the dev or the language? Idk, what I know is C# works, so it's still worth it to study.

  • @traintocode

    @traintocode

    Жыл бұрын

    C++ can unlock much more performance in theory - but the biggest factor in the performance of code is the abilities of the developer(s), so it's possible your C# code is faster yes ;)

  • @da3dsoul

    @da3dsoul

    Жыл бұрын

    @@traintocode absolutely. Can C++ be faster? sure, but you need to be a much better programmer for it to matter. Doing something in the best way logically will get you 99% of the way, and if you need that extra millisecond, then even still C# will let you precompile that code into assembly. With spans and unsafe blocks, .net 8 will let you do a lot

  • @silientlips
    @silientlips Жыл бұрын

    You forgot to mention .NET MAUI as Microsoft's new cross-platform framework. .NET MAUI, Kotlin Multiplatform, and Flutter are hot topics nowadays.

  • @traintocode

    @traintocode

    Жыл бұрын

    Hi thanks for your comment! I have now done a video about MAUI check it out here kzread.info/dash/bejne/m6ml2bh9qdyXZLA.html

  • @givolimyerukim
    @givolimyerukim Жыл бұрын

    you didn't meantion Winforms and WPF, for desktop apps

  • @stancooper5436

    @stancooper5436

    Жыл бұрын

    Or Avalonia, the open source, cross platform spiritual successor to WPF.

  • @wooderz7
    @wooderz7 Жыл бұрын

    Might be worth having a look at MAUI. Is this the Blazor/Xamarin killer?

  • @traintocode

    @traintocode

    Жыл бұрын

    Will do thanks for mentioning it!

  • @julesjgreig
    @julesjgreig Жыл бұрын

    Thank you

  • @traintocode

    @traintocode

    Жыл бұрын

    You're welcome

  • @ViezeVingertjes
    @ViezeVingertjes Жыл бұрын

    It's the number one language used in companies, how wouldn't it be worth learning it. If you're just using it for personal projects, it doesn't really matter though whatever you use.

  • @traintocode

    @traintocode

    Жыл бұрын

    People have different motivations for wanting to learn a language, for some it will be career prospects but for others it will just be for fun! C# is a very fun language to use for personal projects

  • @johnnyirish9852
    @johnnyirish9852 Жыл бұрын

    Xamarin was replaced with MAUI. Other Application: Write APIs

  • @traintocode

    @traintocode

    Жыл бұрын

    Hi - I have a video on MAUI here: kzread.info/dash/bejne/m6ml2bh9qdyXZLA.html

  • @user-ow1rz1ow6k
    @user-ow1rz1ow6k5 ай бұрын

    cool video)

  • @traintocode

    @traintocode

    4 ай бұрын

    thanks!

  • @koribogameplay4838
    @koribogameplay48384 ай бұрын

    Guys does c# programers gets paid well?

  • @traintocode

    @traintocode

    4 ай бұрын

    Depends what your benchmark is. Compared to most jobs yes.

  • @DanishCraft
    @DanishCraft4 ай бұрын

    Yes. It’s a High level language that Can be Used for most things and it’s better than Java.

  • @traintocode

    @traintocode

    4 ай бұрын

    "better" is subjective. Though I agree ;)

  • @kennedymwenda3357
    @kennedymwenda3357 Жыл бұрын

    You forgot to mention Desktop Development

  • @traintocode

    @traintocode

    Жыл бұрын

    Correct! I'm not sure how much of this still goes on to be honest, since Electron became so popular.

  • @kennedymwenda3357

    @kennedymwenda3357

    Жыл бұрын

    @@traintocode I think C# still commands Database driven desktop applications

  • @marcioandre6469
    @marcioandre6469 Жыл бұрын

    I am a beginner and this year i am committed to Javascript. But C# is on my list "to learn"

  • @traintocode

    @traintocode

    Жыл бұрын

    Great to hear! Hope you enjoy learning it

  • @nvcbl

    @nvcbl

    Жыл бұрын

    You mean your array?

  • @marcioandre6469

    @marcioandre6469

    Жыл бұрын

    @@nvcbl 🤣🤣🤣🤣 Thats right

  • @closetothee3785

    @closetothee3785

    Жыл бұрын

    I would suggest never learn something that you don't have a project to work on right away.

  • @marcioandre6469

    @marcioandre6469

    Жыл бұрын

    @@closetothee3785 🤣🤣Java

  • @NIGHTMARE-zy7tq
    @NIGHTMARE-zy7tq11 ай бұрын

    Yes I am a NOOB I kept call it C# (C POUND)

  • @traintocode

    @traintocode

    10 ай бұрын

    Well I'm British so the pound symbol here is £. We'd call it C Hash in that case since we call # "hash" like in "hashtag". Fun fact though the sharp symbol is actually ♯ not # and it comes from music. Microsoft just substitutes # for ♯ because it's easier.

  • @triularity
    @triularity Жыл бұрын

    Based on events I remember, I thought the "reason" C# was created went more like this: Java started catching on. Microsoft started pushing a bastardized, Microsoft-ified Java. Sun Microsystems (the trademark owner of Java at the time) didn't like this violation of the language, and sued. Microsoft settled with Sun, then rebranded it as C#.

  • @traintocode

    @traintocode

    Жыл бұрын

    This might be true

  • @adamandsteve13

    @adamandsteve13

    Жыл бұрын

    Microsoft created a whole framework called .NET to compete with Java. But they indeed had a language, which was a bastardised version of Java called JSharp.

  • @jubinjacob3951

    @jubinjacob3951

    Жыл бұрын

    What you say is 100% wrong. The language you are referring to is not c# it is j#. Both are two different languages. Microsoft's copy of java is j# not c#

  • Жыл бұрын

    Maui, dude... Maui... not Xamarin...

  • @traintocode

    @traintocode

    Жыл бұрын

    Good point

  • @traintocode

    @traintocode

    Жыл бұрын

    I have now done a video about MAUI check it out here kzread.info/dash/bejne/m6ml2bh9qdyXZLA.html

  • Жыл бұрын

    @@traintocode will do, sir 😀

  • @alvaronabuco6283
    @alvaronabuco62839 ай бұрын

    I come from a dark future where Unity has lost its mind. Jokes aside, do you think it's still worth learning C# even after that Unity mess?

  • @markcruise
    @markcruise Жыл бұрын

    As much as people like to believe otherwise, Winforms C# development is still a thing you know.

  • @traintocode

    @traintocode

    Жыл бұрын

    ATMs still run Windows XP ;)

  • @IqQ42
    @IqQ42 Жыл бұрын

    isn't xamarin dead? -> MAUI

  • @traintocode

    @traintocode

    Жыл бұрын

    Not yet but I do have a video on MAUI here: kzread.info/dash/bejne/m6ml2bh9qdyXZLA.html

  • @muharief3885
    @muharief3885 Жыл бұрын

    i think c# came late into the game, while java,python and others already in the heart of developers. So what's the point to switch then, unless the stakeholders want it.

  • @traintocode

    @traintocode

    Жыл бұрын

    C# has been around for over 20 years now, and to a lot of software developers entering the industry see it is just as established as these other languages you mention. When switching programming languages (or other tech choices) it is always important to consider the needs to stakeholders yes :)

  • @johnnyirish9852

    @johnnyirish9852

    Жыл бұрын

    Google it, I think C# is longer around than Python, and it did come only slightly later than Java.

  • @rentefald
    @rentefald Жыл бұрын

    Don't learn C#, continue with whatever toy language you're enjoying. There are plenty of room for both.

  • @traintocode

    @traintocode

    Жыл бұрын

    Hahaha all languages are toys if you enjoy them ;)