Is C# worth learning in 2023?

Поділитися
Вставка
  • Опубліковано 12 лип 2024
  • 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/...
    🔗 More guides & articles
    traintocode.com
    💻 Github
    github.com/traintocode
    🗣️ Social Media
    - / jamesjcharlesworth
    - / jcharlesworthuk
    00:00 Introduction
    00:36 History of C#
    03:32 Different Applications
    05:15 Is It Worth Learning?
  • Наука та технологія

КОМЕНТАРІ • 81

  • @HarshColby
    @HarshColby Рік тому +70

    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 Рік тому +6

      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
    @ArcadeAzrall 11 місяців тому +2

    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!

  • @01psychosocial10
    @01psychosocial10 Рік тому +21

    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

  • @ezwa
    @ezwa 8 місяців тому +1

    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!

  • @MegaBobtube
    @MegaBobtube Рік тому +1

    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 Рік тому +2

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

  • @jameshancock
    @jameshancock Рік тому +12

    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  Рік тому +2

      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

  •  Рік тому +10

    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  Рік тому +1

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

  • @closetothee3785
    @closetothee3785 Рік тому +26

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

    • @ziaulhasanhamim3931
      @ziaulhasanhamim3931 Рік тому +1

      😂😂 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 Рік тому +1

      @@ziaulhasanhamim3931 Good to know. Thanks.

    • @ripple123
      @ripple123 Рік тому +6

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

    • @traintocode
      @traintocode  Рік тому +2

      VSCode?

    • @marcosev08
      @marcosev08 Рік тому +1

      @@traintocode ??? vs only

  • @silientlips
    @silientlips Рік тому +3

    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  Рік тому +1

      Hi thanks for your comment! I have now done a video about MAUI check it out here ua-cam.com/video/iuqwVDyy14M/v-deo.html

  • @HDR95
    @HDR95 Рік тому +11

    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  Рік тому +4

      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

  • @julesjgreig
    @julesjgreig Рік тому +1

    Thank you

  • @givolimyerukim
    @givolimyerukim Рік тому +4

    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 Рік тому +1

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

  • @user-ow1rz1ow6k
    @user-ow1rz1ow6k 5 місяців тому +1

    cool video)

  • @ViezeVingertjes
    @ViezeVingertjes Рік тому +4

    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 Рік тому +3

    Xamarin was replaced with MAUI. Other Application: Write APIs

    • @traintocode
      @traintocode  Рік тому

      Hi - I have a video on MAUI here: ua-cam.com/video/iuqwVDyy14M/v-deo.html

  •  Рік тому +8

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

    • @traintocode
      @traintocode  Рік тому +1

      Good point

    • @traintocode
      @traintocode  Рік тому +1

      I have now done a video about MAUI check it out here ua-cam.com/video/iuqwVDyy14M/v-deo.html

    •  Рік тому

      @@traintocode will do, sir 😀

  • @DanishCraft
    @DanishCraft 4 місяці тому +2

    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 Рік тому +3

    You forgot to mention Desktop Development

    • @traintocode
      @traintocode  Рік тому +1

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

    • @kennedymwenda3357
      @kennedymwenda3357 Рік тому +2

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

  • @koribogameplay4838
    @koribogameplay4838 4 місяці тому

    Guys does c# programers gets paid well?

    • @traintocode
      @traintocode  4 місяці тому

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

  • @marcioandre6469
    @marcioandre6469 Рік тому +7

    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 Рік тому +4

      You mean your array?

    • @marcioandre6469
      @marcioandre6469 Рік тому +1

      @@nvcbl 🤣🤣🤣🤣 Thats right

    • @closetothee3785
      @closetothee3785 Рік тому +6

      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-zy7tq 11 місяців тому +1

    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 Рік тому +8

    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 Рік тому +2

      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#

  • @alvaronabuco6283
    @alvaronabuco6283 9 місяців тому

    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 Рік тому +3

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

  • @IqQ42
    @IqQ42 Рік тому +1

    isn't xamarin dead? -> MAUI

    • @traintocode
      @traintocode  Рік тому

      Not yet but I do have a video on MAUI here: ua-cam.com/video/iuqwVDyy14M/v-deo.html

  • @muharief3885
    @muharief3885 Рік тому +1

    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  Рік тому +1

      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 Рік тому +2

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

  • @rentefald
    @rentefald Рік тому +3

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

    • @traintocode
      @traintocode  Рік тому +1

      Hahaha all languages are toys if you enjoy them ;)