Is C# worth learning in 2023?

Поделиться
HTML-код
  • Опубликовано: 22 ноя 2024

Комментарии • 81

  • @HarshColby
    @HarshColby Год назад +73

    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.

    • @BlueCodesDev
      @BlueCodesDev Год назад +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 Год назад

      ​@@BlueCodesDev 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.

  • @jameshancock
    @jameshancock Год назад +14

    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  Год назад +3

      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

  • @01psychosocial10
    @01psychosocial10 Год назад +24

    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

  • @closetothee3785
    @closetothee3785 Год назад +26

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

    • @zhh174
      @zhh174 Год назад +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

      @@zhh174 Good to know. Thanks.

    • @ripple123
      @ripple123 Год назад +7

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

    • @traintocode
      @traintocode  Год назад +2

      VSCode?

    • @marcosev08
      @marcosev08 Год назад +1

      @@traintocode ??? vs only

  • @ezwa
    @ezwa Год назад +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!

  •  Год назад +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

  • @ArcadeAzrall
    @ArcadeAzrall Год назад +3

    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!

  • @HDR95
    @HDR95 Год назад +12

    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  Год назад +5

      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 Год назад +4

    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 ruclips.net/video/iuqwVDyy14M/видео.html

  • @givolimyerukim
    @givolimyerukim Год назад +5

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

    • @stancooper5436
      @stancooper5436 Год назад

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

  • @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

  • @johnnyirish9852
    @johnnyirish9852 Год назад +4

    Xamarin was replaced with MAUI. Other Application: Write APIs

    • @traintocode
      @traintocode  Год назад

      Hi - I have a video on MAUI here: ruclips.net/video/iuqwVDyy14M/видео.html

  • @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

  • @wooderz7
    @wooderz7 Год назад +1

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

    • @traintocode
      @traintocode  Год назад

      Will do thanks for mentioning it!

  •  Год назад +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 ruclips.net/video/iuqwVDyy14M/видео.html

    •  Год назад

      @@traintocode will do, sir 😀

  • @julesjgreig
    @julesjgreig Год назад +1

    Thank you

  • @DanishCraft
    @DanishCraft 9 месяцев назад +2

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

    • @traintocode
      @traintocode  8 месяцев назад

      "better" is subjective. Though I agree ;)

  • @markcruise
    @markcruise Год назад +3

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

  • @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

  • @ЕгорНиколаев-т5л
    @ЕгорНиколаев-т5л 9 месяцев назад +1

    cool video)

  • @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#

  • @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 Год назад +1

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

    • @traintocode
      @traintocode  Год назад

      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.

  • @koribogameplay4838
    @koribogameplay4838 8 месяцев назад

    Guys does c# programers gets paid well?

    • @traintocode
      @traintocode  8 месяцев назад

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

  • @alvaronabuco6283
    @alvaronabuco6283 Год назад

    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?

  • @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.

  • @IqQ42
    @IqQ42 Год назад +1

    isn't xamarin dead? -> MAUI

    • @traintocode
      @traintocode  Год назад

      Not yet but I do have a video on MAUI here: ruclips.net/video/iuqwVDyy14M/видео.html

  • @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 ;)