Why Should I Choose C# As My Programming Language?

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • Why should I choose C# as my programming language? Is C# the best choice for a developer? What are the criteria for choosing the right programming language for me? These are the questions we are going to answer in today's episode of Dev Questions.
    Website: iamtimcorey.com/
    Sign Up to Get More Great Developer Content in Your Inbox: signup.iamtimcorey.com/

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

  • @emreaka3965
    @emreaka3965 2 года назад +33

    I have used Python, Java, JavaScript, C# and I love C# more than any of them in the list. That is the only reason I keep learning C#. "I try to become back-end dev."

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +3

      Great!

    • @franciscoflamenco
      @franciscoflamenco 11 месяцев назад +1

      I've used them all except for C# (which I'm considering to learn at the moment) and I'm not surprised that you like C# better than Java or JavaScript.
      I do love Python though, so I wonder if I can come to like C# better than that.

  • @adeizayusuf
    @adeizayusuf 2 года назад +56

    My first love is Java, just moved to c# and I'm actually loving it.

    • @PerryCodes
      @PerryCodes 2 года назад +4

      Same here. When I first saw Java and experienced the "everything is an object" paradigm, I was in love!! I think Microsoft saw a lot of VB developers like myself jumping ship over to Java, so they set out to make something that would be close enough to it - but added something extra, and in my opinion better. And for me, that strategy worked. Haven't looked back since!

    • @FiveNineO
      @FiveNineO 2 года назад +1

      Even though I've been programming C# professionally for years now I still feel drawn back to Java from time to time, even if I do miss several features when I do

    • @Qrzychu92
      @Qrzychu92 2 года назад

      @@PerryCodes why did you skip Kotlin?

    • @eylonemuskson4177
      @eylonemuskson4177 2 года назад

      Java? #shivers

    • @PerryCodes
      @PerryCodes 2 года назад

      @@Qrzychu92 Kotlin wasn't even close to being around at the time. I started using Java before 1.0 was released. Worked concurrently with Java and VB6 (depending on whether it was web or desktop) up to the early days of .NET. I used VB.NET for a short time, but once I started using C# there was no looking back. Unless I'm doing something small(ish) and could really speed things up with a dynamically-typed language (where I'd use Python), C# checks all the boxes for me!

  • @WillEhrendreich
    @WillEhrendreich 2 года назад +5

    Seriously love c#, I am really happy with it in so many ways, and I am so excited that they are really focused on getting some of those great functional style ideas in the language lately. The pattern matching is freaking great, so succinct and readable, and yet, because of the default case implementation, if something happens that you don't expect, you're still not sacrificing any of the full-featuredness.
    I love lambdas like mad, and I had such a hard time understanding them at first, but now that I have a grasp on what's going on, I see how absolutely brilliant they are as an idea.
    I'm trying to get more a grasp on things like expression trees and source generators, and I am looking forward to some nicer tooling for all of that.
    Anyway, thanks for the training!

  • @veoquenoesunproblema
    @veoquenoesunproblema Год назад +8

    From a self taught to University student, I can say, Tim is the guy that have had explained the most about each topic, it is like seeing a summary video of a full semester the key aspects that you need to understand from the topic he is talking about.

  • @williameisenman5538
    @williameisenman5538 2 года назад +2

    My career is the same as yours. Thank you for explaining what I have practiced for these many years so eloquently. I hope that others realize the benefits of thinking as you do.

  • @kumarcgowda
    @kumarcgowda 2 года назад +25

    My regular go to RUclipsr for C#. Your knowledge is very mature and the explanation is very elegant. Love your videos, Sir!

  • @alno1
    @alno1 2 года назад +60

    I am choosing c# because it is sitting on a huge ecosystem, backed by a company that will not die anytime soon. I'm betting on longevity.

  • @JFRsAlive
    @JFRsAlive 2 года назад +8

    The ending seconds though :D Good video!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +9

      Whoops. Forgot to cut the end.

  • @Str4yshot
    @Str4yshot 2 года назад +46

    I used Java a good bit in school then got on internship doing C# and it just felt like a straight upgrade across the board.

    • @alexvanheerden5702
      @alexvanheerden5702 2 года назад +13

      Haha, I had the same experience, Java in college then internship and job in C# and I've never looked back.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +8

      Thanks for sharing.

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

      Me​ too, java, But​ After​ I​ try​ c#1.0-1.2! I​ loved it.

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

      Hi im an aspiring software developer, started with c now learning c# . Since c# and java are pretty similar to what i hear why is c# considered a better option by so many people ?

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

      I am on the same way. :)

  • @mrsajjad30
    @mrsajjad30 2 года назад +5

    I am a C# developer and at some point switched to JavaScript ( For cross platform as there was no .Net Core then ) and developed a desktop application using electronJS but my app was not compatible with the new version of electronJS in just three months. Therefore, C# with Microsoft on its back is an advantage because your code will be compatible mostly. If not then there will be a tool to port your old code to the next version. And if non of the above works, you will have a good documentation to help you out. And if all fails, believe me help will be on its way.

  • @TheStripe123
    @TheStripe123 2 года назад +8

    I have been a professional c# developer since it came out. I have been a developer since around 85. C# is the right tool for everything in user space. Blew my mind when I was able to compile to Linux a few years back. Just so good its ridiculous

  • @ReSpawNnL
    @ReSpawNnL 2 года назад +6

    Coming from 15 years PHP to C#. Job opportunities here in The Netherlands are fairly similar. Really starting to like the language and syntax, not so different from PHP 8 but then again, both have come a long way.

  • @tedstidham
    @tedstidham 2 года назад +5

    Similar path of language evolution. Mine was qb45, vb 1-6, vb.net, now c#.net love C#.

  • @S3Kglitches
    @S3Kglitches 2 года назад +2

    Thanks for great philosophy. And I'm with you in the "meh Java". Having worked in Java and now in C#.
    I cannot name many things which would be better in Java than in C# other than more old libraries and the the idea of the free open source world at the same time when we had full Windows reliance. But that is over now.

  • @jeffreyphipps1507
    @jeffreyphipps1507 2 года назад +3

    I would have to agree. I learned assembly language on various processors and to cross develop with macros when I started, but learned COBOL and I loved it. Then I learned Pascal and loved it more. Then I learned C and loved it more. I learned Java along the way. It was OK, but I didn't love it. When I learned C# I fell deep for it. Over the years, I have learned over 30 programming languages. Some were more enjoyable than others.

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

    I would add a very important reason why I would chose a language and not an another: a teacher I love. Whether he is a person or a book, the right teacher can make me chose one language if I hesitate between many.
    And here is a fifth reason: whether or not I feel part of the community of the language users. For example, I could not feel I belong to the html/css/javascript community, especially when javascript frameworks emerged.

  • @arcohrs
    @arcohrs 2 года назад +3

    Great video as always!
    I started learning Python first and switched to C# because it's what was used in my first software developer job and I've just run with it since. It's funny how despite a person's preference or experience, opportunity can really be the main driving force behind language uptake. Granted if I hated C# I probably wouldn't have stayed in a job working on it though too

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Opportunity is always a big driver.

  • @jorgerojo3246
    @jorgerojo3246 2 года назад +3

    I been working on C# for 11 years now and I still loving it, I'm glad is growing to the next level of multi platform support

  • @coderbdev
    @coderbdev 2 года назад +2

    Sounds like we took a similar path :). I got into C# when it came out in Beta, and once it was good to go, I switched :)

  • @m3xpl4y
    @m3xpl4y 2 года назад

    Nice said Mr. Corey, thank you

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

    You explained everything well especially for beginners. I like your videos and will work hard to be like you if not more than you soon.

  • @mrf7283
    @mrf7283 2 года назад +1

    Another good and balance episode. In this episode I felt audio was little perturbed. Some background noise is there.

  • @KarlTH2005
    @KarlTH2005 2 года назад

    Also one had 21 years on experience in VB and now developing im C#! Great to hear not to be alone.

  • @MercyFromOverwatch2
    @MercyFromOverwatch2 2 года назад

    Thank you Tim very good video

  • @timlawrence7204
    @timlawrence7204 2 года назад +1

    Hey Tim love your videos and I’ve taken some of your training courses. You talked about C# being on all kinds of platforms. I’m curious, do you know if C# is being used at all in the Blockchain space? I’ve tried looking it up and I don’t see a whole lot.

  • @wigglorboy
    @wigglorboy 2 года назад +1

    Thank you for a great video! I'm thinking about getting into C#. However, I want to continue to work on a Mac or Linux and to use VS Code instead if Visual Studio. What are the demands here in the job market, generally? Are you expected to work on a windows machine using Visual Studio or can I learn C# on Mac/Linux and VS Code and still be qualified? Take care and continue the good work :)

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +3

      You can definitely work on a Mac or Linux device and be good at C#. You won't be able to run desktop applications like WinForms, WPF, or UWP but otherwise you can do everything in C#. You can also look into JetBrains Rider if you want a more full IDE than VSCode.

  • @sindiinbonnienclyde
    @sindiinbonnienclyde 2 года назад +4

    C# is wonderful, use it everyday and feel like I learn something new all the time.

  • @bjbell52
    @bjbell52 10 месяцев назад +1

    One of the biggest problems I faced as a computer consultant was the fact that I wasn't the one who picked the language/development tool. My first job was to write an application to track a 3 million dollar parts crib. What I NEEDED was a relational database. What was picked for me was a flat file database named Q&A 4 because the purchaser who oversaw the crib belonged to a bowling league and they used Q&A 4 to keep track of the peoples' scores. I managed to make it work by creating a script that, at the end of the day, would use to parts DB to update all the other tables in the system.

    • @IAmTimCorey
      @IAmTimCorey  10 месяцев назад +1

      One of my first jobs was working as an employee of a consulting company for six years. I stopped counting after writing production code in my 24th different language.

  • @juboraj1494
    @juboraj1494 2 года назад

    Thank you sir for your valuable speech.

  • @ameeradel4835
    @ameeradel4835 2 года назад +1

    hello Tim,
    i m currently being offered a contract to be a product manager and i would like to understand the basics or the common rules of being one, obviously this is my first time going over such contract and i would like to be thourough with contract.
    i understand that companies have their own idea of contracts, still, some points should be common and if not, is there a standard contract that one can agree upon.
    always a fan

  • @faicalammisaid3705
    @faicalammisaid3705 2 года назад

    Nice episode I loved it thank you sir 🙏

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

    The access to high quality programming lessons on your channel, is one of the main reasons that I am working in C#.

  • @neolegionar
    @neolegionar 2 года назад

    Love your content !

  • @BogLungu
    @BogLungu 2 года назад

    Love your shirt 👔! Love your content!

  • @fernandorojas375
    @fernandorojas375 2 года назад +2

    I moved from VB to C#, at the beginning I found it hard to understand but now I love it.

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

    7:45 There were books written in C# ?! Wow, that would probably be a hell of a read! 😜

  • @secharom
    @secharom 2 года назад

    Thank you! 😊

  • @linting
    @linting 2 года назад +1

    My first seriously learned is Java. Now I am using C# and might always do! :) It is cool!

  • @user-pf9jv1fl2n
    @user-pf9jv1fl2n 2 года назад +2

    Corey you a good man :)

  • @bobclemens8065
    @bobclemens8065 2 года назад +2

    Some people are concerned about the constant stream of new features in C#, and that it's becoming overly complex, and hard to keep up with. I personally love the language and most of the new features, but I sometimes think it would be overwhelming for an entry level person. (Despite the new "top-level statements" feature.) I've heard people say just use a subset, like just through C# 7, but then what if you have to maintain code that uses the full feature set?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Change is inevitable and important. A language has to grow and evolve with the times. Otherwise, it falters and fails and gets pushed aside. If that happens, your investment in the language mostly goes away since the market starts to dry up for jobs in that language. Yes, keeping up with the changes can be difficult but it is a part of being a developer. In the case of C# and .NET, changes come once a year. That isn't a big deal, really. It isn't a constant flood of new changes. Yes, if you try to keep track of the pre-release versions of things then changes come more quickly but that's not wise.

    • @bobclemens8065
      @bobclemens8065 2 года назад +1

      @@IAmTimCorey I'm not concerned for myself as a developer, rather my concern is for the ongoing viability of the language, if it's not embraced by new developers because it gets the reputation of being "too complex". Talking to developers and reading on-line, I think there's definitely a growing sentiment that the constant barrage of new features is making the language bloated and difficult to learn.

  • @user-xx8ze3dr3j
    @user-xx8ze3dr3j Год назад

    that is fantastic video thanks very much

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

    You got me, will try C#

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

    I just started an evening class at my local community college. Gonna see where this takes me

  • @DevlogBill
    @DevlogBill 2 года назад +3

    Hi Tim, since December 2021. I've been learning JavaScript, HTML and CSS. I love the syntax of C# because the way the language is structured and also, I wouldn't mind learning C# for game development as a hobby. Getting to the point I want to become a web developer. Question? If I learn C# how much JavaScript, HTML and CSS should I know? Also, when should I begin to learn C#? Also, Do I even need JavaScript for web development if I learn C#?
    I already know JavaScript fundamentals. But I don't know high order array functions, modules, state management, and my skills in constructor functions and class function suck. I know HTML very well and CSS I am decent. I know flexbox but I suck at grid. Finally, I don't know a library or a framework like React. Finally, I know the language, but I don't feel 100% comfortable with JavaScript.
    I could use your guidance, with what I know already for almost the 6 months of as a self-taught developer in JavaScript. How should I learn C# and the tech required for this technology?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +9

      I'll do my best to give you general advice that will apply. You will need to figure out what will be best for you. If your goal is to become a web developer, you need to identify what type of web developer. Do you want to be a front-end developer (focused mainly on writing JavaScript in a framework like React, Angular, or Vue), a front-end designer (focused mainly on making things look good using HTML and CSS, possibly with Figma or Photoshop), a back-end developer (focused mainly on business logic and data access using JavaScript or C# or another language), or a full-stack developer (someone who can do a bit of everything - HTML, CSS, JavaScript, and C# or other backend language)?
      Here are my thoughts on that list - full-stack is crazy-difficult to do right away. It takes knowing multiple languages and frameworks really well. I find that it is better to move toward full-stack by picking one of the other stacks first and adding to it. I'm assuming you aren't anticipating doing design-only work, so we can ignore front-end designer. That leaves back-end and front-end developer.
      Here's my personal opinion - the market is full of rookie front-end developers. I personally think that starting with the back-end development will give you a more solid foundation, it will give you a broader reach, and it will allow you to grow into a full-stack more easily.
      I would recommend learning C# because it will give you the skills you need to be a developer doing just about anything (desktop, web, mobile, IoT, Cloud, etc.) That way, you can have a broader reach when looking for a job (unless you choose not to, but it will be your choice). Your HTML and CSS skills will serve you well when working with C# web applications.
      There are a couple different ways you can learn C#. The most important thing, though, will be to practice everything you learn no matter how you approach it. That practice will be the difference between thinking you know something and actually knowing it.
      The first way you can learn C# is to piece it together on your own. This is how I learned. It can be tricky, but you can definitely do it. I recommend you start by learning C# syntax. Start small (variables, if/else, loops, lists/arrays, etc.) and practice everything in the Console app project type. That will keep things simple. From there, learn how to debug C# applications. Learn about breakpoints and other Visual Studio features that will make your life easier when debugging. Then learn about object oriented programming. It is important that you understand OOP because you cannot gain the true power of C# without knowing it well. Learn about static vs instantiation, interfaces, inheritance, abstract classes, overloads, value types vs reference types, and more. From there, start learning the various project types. Up until now, I would recommend you stick with the Console app project type because it keeps things simple. Now you should learn about the class library, the five ASP.NET Core web project types, and the desktop project types (WinForms, WPF, and maybe UWP). I know you don't anticipate doing desktop development, but you should at least build a few just so you know how they work. That broadens your skills and it sets you up for success in the future. After that, focus on data access. Learn how to talk to SQL, SQLite, MySQL, MongoDB, CosmosDB, text files, and APIs at the very least. Learn how to use Dapper and Entity Framework (at least the basics). Learn what LINQ is and how to use it. By this time, your brain should be crammed full of things that you have learned. You should also have about 100 practice projects under your belt (tiny ones that just focus on the code, not on doing anything useful). Build a few small projects that actually do something to practice putting the various pieces together.
      A second way to learn is to go through a course. I sell the C# Mastercourse, where I follow the above plan (plus a LOT more) and teach you step-by-step: www.iamtimcorey.com/p/c-mastercourse
      Whichever way you choose, you can do web development with C# that can be back-end focused, front-end focused, or full-stack focused without ever leaving C#. You don't NEED JavaScript in a lot of cases. Some people still prefer it, and that's fine. You can integrate Angular, React, or Vue into the front-end of a C# web application quite easily.

    • @DevlogBill
      @DevlogBill 2 года назад +3

      @@IAmTimCorey Wow, thank you so much for the excellent advice! I greatly appreciate all the wisdom you have offered. I will look over your link for the course and I will journal the proper course to take for learning C#. I will try to learn everything you texted me to gain a better understanding of the path I need to take and next week Friday I will begin my learning Path in C#, thank you for the guidance.
      Truthfully, I am more focused on mastering a few things versus having a broad spectrum of knowledge. You were correct I am not interested in web Designing I am interested in web development and I wouldn't mind starting as a back-end developer and Desktop development sounds pretty interesting as well. My end goal truthfully is not to fail but to reach my goal as a software developer. I am eager to learn. Well on the positive side at least I will be learning a language with an authentic OOP language versus a prototypical language.
      After I am finished writing you this message. I will check out your site. Also, I already purchased just the other day the Headfirst C# book. I guess this will be my starting point? Thank you once again, I am truly thank for your wisdom and guidance.

    • @Ricocase
      @Ricocase 21 день назад

      @@IAmTimCoreywhich language is well versed in generative ai or coding halftime updates in sport video games? I want to build a startup. Java vs c#

  • @warlockCommitteeMeeting
    @warlockCommitteeMeeting 2 года назад

    ty Tim

  • @PerryCodes
    @PerryCodes 2 года назад +1

    Don't think this has been mentioned, but the majority of Visual Studio is now written in C# (using WPF, I believe, for the UI). I doubt the C/C++ compilers are... but most everything else is probably C# (if anyone know more details on this, please comment!). Seeing killer software like Visual Studio written in a certain language is a definite testament to that language.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yep, Visual Studio is C#/WPF primarily.

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

      @@RooterDelWifiXs Really? in what way? I think it's better than the Eclipse/IntelliJ for Java though

  • @pazzuls1120
    @pazzuls1120 2 года назад +10

    As a new developer, I'm facing a problem with the mindset that I need to learn nonstop if I stop, I just feel missing something or doesn't feel right!! Can you give some advice.

    • @adeizayusuf
      @adeizayusuf 2 года назад +10

      You're right about learning nonstop, you have to keep learning but practice is more important, the only reason you feel this way is because you're trying to learn too many things at the same time, just focus on a programming language at a time, focus on a particular framework or concept, don't rush yourself, we can't learn it all. Wish you all the best.

    • @pazzuls1120
      @pazzuls1120 2 года назад +2

      @@adeizayusuf thank buddy!!

    • @roko567
      @roko567 2 года назад +4

      That's not a problem. That's how it is. You need to be learning nonstop, especially when just starting out.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +11

      You do need to continue to learn and grow. However, approach it as a marathon, not a sprint. Don’t exhaust yourself trying to hurry up and learn everything. Learn a bit at a time and let it sink in.

    • @davinozen
      @davinozen 2 года назад +1

      You do need to learn non stop as a developer but when starting out it’s best to get comfortable with each thing you learn first before moving on. It makes the things you need to learn in the future easier to understand. I’m learning C# right now but because I’m comfortable in Python and C++ the concepts are easier for me since I can equate it to something I already know. Don’t be hasty when learning programming.

  • @abofahad1149
    @abofahad1149 2 года назад +1

    Awesome, as usual Mr. Tim corey
    This is the best answer I've heard ever about the Byzantine controversy on which best programming language. Three major factors should guide you to the right choice. Just answer these three questions frankly and go.

  • @BloodHaZaRd666
    @BloodHaZaRd666 2 года назад +1

    My first Kang I used was C and then passed almost 9 years in C++. Currently i use C# and seriously I get get off of C++
    I prefer C++ but dont hate C# But I really do about Java

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      I'm glad you found what you like.

    • @TheBrainDunne
      @TheBrainDunne 2 года назад

      Aymen, I have a similar feeling. I also like go and elixir.

  • @aeterna_victrix
    @aeterna_victrix 2 года назад +1

    I have tried many times with other languages but they all never "sit right" with me. Many would consider C# to be overly verbose but I actually find this makes it easier to understand instead of harder. I've tried to get into JavaScript and PHP but the syntax honestly makes me cringe. Not to mention the developer experience using Visual Studio IDE.

  • @tiernanmorgan1753
    @tiernanmorgan1753 2 года назад

    I've been trying to learn cross platform mobile apps with c# in xamarin forms and all ive noticed its really not compatible with anything cool and if it is such as mapbox its really glitchy. also not many resources online to learn c# above a basic level that are streamlined. but I'm still trying to learn it. always down to hear differing opinions though.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Xamarin is becoming .NET MAUI in Q2 2022. At that point, it will be much more widely useful. They will still focus first on business use-cases so some of the "cool" things might not work but you should have all you need for a traditional business application.

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

    thank you , can I do asp.net core projects ; mvc-rest api-ef core-entity-linq ... on Mac?

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

      I really love javascript for web web development but I can't choose between asp.net core and node js can you help me?

  • @kiPROBRos
    @kiPROBRos 2 года назад

    I'm first teaching PHP5, HTML, CSS3 but i love c#.

  • @manuelgamezz
    @manuelgamezz 2 года назад

    In the past time I was a vb developer, but i learn c# with the blog el guille from spain. And now I love c#, I'm testing net core blazor i really like. Thanks for sharing Tim, congratulation for your personal advice.

  • @softwaretechnologyengineering
    @softwaretechnologyengineering 2 года назад

    The limited platform scope I think makes .Net a poor choice. However .Net Core is really a game changer, now it can run on a much wider array of platforms and as a production language C# can start to compete properly with the likes of Java.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      It would only be a poor choice if you actively needed your application on other platforms. For instance, ASP.NET (the .NET Framework version) might only run on Windows servers, but it still supports any client. Xamarin always worked on iOS and Android. The only non-cross-platform client-facing piece was desktop apps and console apps. Even those worked on the most common operating system on the planet for business. Yes, .NET Core extends the reach to more platforms but that doesn't mean that the .NET Framework was a "poor choice" before.

    • @softwaretechnologyengineering
      @softwaretechnologyengineering 2 года назад

      @@IAmTimCorey Fair point. But I am thinking about it from the perspective of finding work. The more uses for a language you specialise in and places that language can execute, the more opportunity for work there is. I ended up in .net not necessarily by choice but that's just sort of how my career panned out. I think you are looking at it from a business/employer perspective, which is valid too. Although my thoughts on that perspective is to choose the technology based on the available talent pool. No point building some sweet Haskell app if you can't find the programmers to scale out the business.

  • @davidcronin4836
    @davidcronin4836 10 месяцев назад

    My grandson has chosen C Sharp because he wants to learn how to develop games etc, I remember using C++ many years ago, but I've got a soft touch for VB. Is this C sharp the right language for game development. Can you advise?
    Thank you.
    David Cronin

    • @IAmTimCorey
      @IAmTimCorey  10 месяцев назад

      C# (C Sharp) is a great language for game development. It is easy to pick up and yet it is powerful. You can create games simply, but also create complex games with it. I will actually be announcing a new course on building games using C#.

  • @michaelhenry4667
    @michaelhenry4667 2 года назад +1

    Hello sir. I love c#. I now want to insert graphs and visualize the data through c#. But I have no idea how to insert graphs and charts in c#. Can you please make a video or atleast leave a comment about how can I do the data visualization in c# and what are the best possible options.
    Love you sir❤️❤️

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I will add it to the list. Thanks for the suggestion.

    • @michaelhenry4667
      @michaelhenry4667 2 года назад

      @@IAmTimCorey Thank you

    • @techno7761
      @techno7761 2 года назад

      You have to use WPF with its classes: Canvas, Line, Ellipse, Polyline,...
      You can develop your own charts or you can use 3-d party controls like SciCharts.

  • @jeffg6924
    @jeffg6924 2 года назад +8

    I'm a Sr Software Engineer... I've been around long enough to hear the dinosaurs griping about the object oriented non-sense that C++ was pushing on everyone and how the world would function just fine on C. Having spent over a decade of java development professionally, I do have a strong preference for C#.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Thanks for sharing.

    • @Vreth6
      @Vreth6 2 года назад +1

      I've been programming for 20+ years, and I was indoctrinated that OOP is "how we write software now" so that was all I did for many years. Then I started listening to other developers and having an open mind, and then I saw that among other things, functional programming and programming in C without classes can do anything that OOP can do, sometimes even more performant.
      Don't stick to just one paradigm your whole career and think it's the key to all answers.
      I'm mainly a C# developer nowadays, but both C++ and C are fine, C++ is not automatically better than C at anything just because it's OOP.
      C# has been moving away from being so tied to the OOP ideas for a long time now, and that is one of the main reasons i'll keep betting on C# in my work-life, it's not a one-trick pony.

    • @jeffg6924
      @jeffg6924 2 года назад

      @@Vreth6 Well when you have complete control over gc and low level caches, you can increase performance. Which is why that is still possible in C++ and which is why most MCUs will maintain the C/C++ naive code. I am not sure what you mean that C# is moving toward procedural. Even the .NET seems to be pushing a more OOP approach towards wrapping the markup code. It might render down to a markup on the client, but from the developer's point of view, its going more and more towards wrapping markup away and handling the markup in the framework.

  • @HuyNg2603
    @HuyNg2603 2 года назад

    I am starting my career as a C# developer, and I am planning to use a Macbook with Apple Silicon to work. Can I have your advices in .Net development using Apple Silicon? Thank you!

    • @dimitridoroshko
      @dimitridoroshko 2 года назад +1

      I'm sorry, but your first name is an obscene word in my native language...

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад +1

      That platform should be fine. Tim has MANY students/coders on Apple products.

    • @nghuwei
      @nghuwei 2 года назад +1

      I believe c# or .net dev in Mac is pretty well supported. M1 arm is well supported with the new launching of .net 6 in coming months . I’m planning to develop on Mac as well.

    • @petrzurek5713
      @petrzurek5713 2 года назад

      @ghost mall just this week, I was developing a small tool in C# and . Net Core 5 on my Macbook Pro 16 using JetBrains Rider - I dont generally like virtualization - but man that development experience using Rider was smooth as silk. Can’t recommend it enough.

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

    Hi Tim, I live in the Czech republic. I am working in the automotive industry as a quality engineer however, I would like to become IT Developer, Therefore i am studying WPF which I am interested in now. 1. Can I become a C# WPF Software developer as a junior developer by studying myself? 2. Is it good to study WPF which is still demanding in IT industry? 3. Can you please give me some advice to become IT Developer?

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

      1. Yes, you can. I did. I am fully self-taught in C#. By that I mean that I didn't go to school for it, or a bootcamp for it. However, I did learn from a lot of people on RUclips, in blogs, and in books.
      2. There is a demand for everything. How much of a demand depends on a lot of factors, including what area you are in. Just remember, you only need one job, not millions. The less jobs there are in a field, the better in some ways. Less jobs means less competition. So learn what you want to work in for the next few years. Then apply for jobs using it.
      3. Keep learning, even after you get a job. Jobs come and go. Be prepared for your job not being there by keeping yourself trained. Your employer is not responsible for your education, you are. When you learn something, practice it. Otherwise, you haven't really learned something. Until you practice it, you won't know if you missed a part, if it works like you think it does, and what the edge cases are. It makes your learning feel slower, but it actually grows your skills much faster than someone who watches videos and thinks they have learned topics.

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

      @@IAmTimCorey Thank you very much. for me, honestly i work 10 hours a day, so it is a bit tough time to study after work.. but i really want to become IT developer THANK YOU VERY MUCH !!

  • @higherpurpose1212
    @higherpurpose1212 2 года назад

    Hey Tim, should I accept a job offer that uses older tech but pays decently and the company is stable enough to last several decades, then I can upskill on my own with tech stack Im interested in, OR stay jobless indefinitely until I find a job that uses new tech and hope that by joining them I'll get to acquire the skills, possibly?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I only have a little bit to work on, so you need to take this as just one opinion and make your own choice. However, it would seem that taking a paying job that will give you work experience is better than not having a job. You can continue to look while working for the new job. That will allow you to have money while you search. It will be important that you develop and practice your skills in newer technologies. Just remember that a LOT of jobs use older technologies. That's common because upgrading versions can be difficult.

    • @higherpurpose1212
      @higherpurpose1212 2 года назад

      ​ @IAmTimCorey Thanks heaps Tim, your advice is much appreciated, as I consider you an authority on anything .Net/Core., and the old tech I'm talking about is web forms - VB net and net Framework, this company has a long list of inhouse-built systems a decade old, used by many departments and so they can't just upgrade/abandon these as I believe they don't have the budget to do so yet, but they are looking at Blazor for their R and D in a couple of years, as they told me. I guess it's better to have something to pay the bills for now and just resume my learning on my own free time and pace.

  • @davidalderman3881
    @davidalderman3881 2 года назад +1

    Tim, I actually still have a copy of VB3, which ran on Windows 3.1! LOL

  • @justcurious1940
    @justcurious1940 11 месяцев назад

    C# looks interesting, I'm currently learning C so I can move to C ++ later, but I might just move to C# directly.

    • @IAmTimCorey
      @IAmTimCorey  11 месяцев назад +1

      Sounds good.

    • @justcurious1940
      @justcurious1940 11 месяцев назад +1

      @@IAmTimCorey sounds depressing, why would anyone learn C in 2023.

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

    When you see C# or Java you see very stable and backed languages by companies, when you see some other languages everyday you see a lot of instability to look for the flavor of the month because of need trends and forks of same languages over and over haha

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

      True, problem is support. Microsoft or Oracle(Java) for that matter will provide support that others don't (JavaScript/Python). Good luck debugging production issues with dynamically typed languages.

  • @shahabjoon201
    @shahabjoon201 2 года назад

    Perfect

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Thanks!

    • @shahabjoon201
      @shahabjoon201 2 года назад

      @@IAmTimCorey
      Thank you,
      I have learnt a lot from you, sir.

  • @Donkle365
    @Donkle365 2 года назад

    Can you explain why you like C# more than Java although you say that they're practically the same?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      The code is very similar. However, the ecosystems are very different. I wasn't a fan of the JVM. I also wasn't a fan of the IDE options. On the other side, I like the power of Visual Studio. I also like Microsoft's focus on open-source contributions.

  • @Sardor_Boboyev
    @Sardor_Boboyev 6 месяцев назад

    Please guys give me advice. I’m a new developer and I don’t choose any types of language which is the best language why I don’t choose exact language because I'm afraid to choose a specific language if you good advice tell me

    • @IAmTimCorey
      @IAmTimCorey  6 месяцев назад

      There isn't a "best" language. Figure out what is popular in your area and what you enjoy. The intersection of those two can be a good option.

  • @dimitridoroshko
    @dimitridoroshko 2 года назад +1

    I love C#, but I don't like what it's used for: mainly backend for enterprise companies, I'm more of a visual person, so maybe I should stick with JavaScript, which I don't really like compared to C#. Let me know what you think of that down below in the comments. Thanks!

    • @focl2003
      @focl2003 2 года назад +2

      I used to say to my colleagues, backend is like going to the gym to lift weights and frontend is like going to have a haircut. No offense here, we all need the visuals and we love it too.

    • @dimitridoroshko
      @dimitridoroshko 2 года назад

      @@focl2003 writing Html+Css isn't the only thing regarding frontend development. Complex logic can still be in frontend as well. Maybe you think about frontend as of 1990-2010 frontend when there wasn't too much complex business logic. It's grown a lot since then.

    • @veec1539
      @veec1539 2 года назад +1

      Blazor is an option if you like c# and frontend.

    • @dimitridoroshko
      @dimitridoroshko 2 года назад

      @@veec1539 or TypeScript

    • @focl2003
      @focl2003 2 года назад

      @@dimitridoroshko Yes, I'm sure of that.

  • @smellybathroom
    @smellybathroom 2 года назад

    c# every day, all day. learning and loving it.

  • @beater6967
    @beater6967 2 года назад +3

    C# as a language is very good but the supporting features and tools on Linux is poor and confusing. Until the Linux commuity adopts C# (which will not happen) it's never going to beat the PHP, Java,Python, etc on Linux. For example just try to find a Linux shared hosting provider that supports .Net Core. None.

  • @bobweiram6321
    @bobweiram6321 2 года назад +2

    Bjarne Stroustrup, the inventor of C++, said, 'inside C++, there's a simpler language dying to come out.' He's right--it's C#. I wish it was a first class language of the web, mobile and desktop.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      It is a pretty great language.

    • @bobweiram6321
      @bobweiram6321 2 года назад

      @@IAmTimCorey Unfortunately, some of the language features like records makes no sense to me. It seems like they added it to make the C# more functional programming friendly. That's fine, but why not just add a modifier to classes and structs.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Did you see my video on records? ( ruclips.net/video/9Byvwa9yF-I/видео.html )
      Records are basically just modifiers on classes (and structs in .NET 6). They are just classes with extra "stuff".

    • @bobweiram6321
      @bobweiram6321 2 года назад

      @@IAmTimCorey Yes, but why introduce a new datatype instead of a new modifier like:
      public immutable [class/struct] Dog {
      }
      Records don't work with classes and structs interchangeably. You can't inherit from a record , nor can a record inherit from either a class or struct.

  • @wsitech
    @wsitech 2 года назад

    Why do you think that C# took off instead of VB.NET? Why is it that VB and VBA which I use a lot as an Access developer, is considered by many the "annoying little brother" of programming languages?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      I think C# fit better into the community (C, C++, Java, etc.) with its syntax so it was an easier transition to come from other languages and start in on C#. For instance, a lot of colleges teach Java, which means it isn't that big of a leap to C#. VB is really a Microsoft-only thing. It isn't very common to learn it in school and there aren't many languages that are similar to it (outside of the other "flavors" such as VBA).

  • @gamewood7800
    @gamewood7800 2 года назад

    Sir can anybody advise me, is it possible to get a remote job with c#. I live in a 3rd world country and if I can make 12000$ annually then it would be more than enough for me. So right now I love unity development. Working on my first mobile commercial game.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      It is possible, but it is not easy.

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

    I was hoping you would go into more detail about what you dont like in Java and also cover Python, because it seems like Python is taking off right now.

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

      I'm not big on bashing other languages. Each language has its quirks and its value. Which you choose often comes down to personal preference.

  • @MercyFromOverwatch2
    @MercyFromOverwatch2 2 года назад

    👏👏👏

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

    I understand the love of VB6 as I was stunned years ago when my business partner threw together a GUI in a matter of minutes as I was fighting with MFC and cursing Hungarian Notation. We agreed I would stop that and just build him libraries as needed in C++.
    As for 'loved' language... I don't really have one but I do strongly believe in using 'the right tool for the job'. To a lesser degree, I have 'annoyances' in other languages such as the fifteen million long reverse domain names (com.xxx.xxx.xxx.xxx.xxx...) in namespaces in Java or the "Lost In Stupid Parentheses" ((L)(I)(S)(P)) or the 'just().because().you().can().chain().functions() in functional languages DOESN'T MEAN YOU SHOULD!

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

    Is it good (over others) for data engineering?

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

      It isn’t about which one is best. It is about which one do you prefer. In your career, you will probably end up working with multiple languages.

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

      @@IAmTimCorey I didn’t ask about which is best, I’m asking if it has good application for processing data. E.g. I know using C# with spark applications is very lacklustre compared to something like PySpark

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

      Sorry for the confusion. Whey you asked if it was "good over others", in my mind that means "which is the best". How good C# is in a "data engineering" depends a lot on the meaning. Some people use that term to mean "big data" like Machine Learning. C# has some really powerful tools for ML. If you are talking about processing enterprise data (the typical process of ingesting information, running it through business logic, and then storing it in a database) then C# also is really good at that.

  • @AvgDan
    @AvgDan 2 года назад

    I like C# but sure wish it had VB's "Select Case" which is superior to "switch".

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Why is that?

    • @AvgDan
      @AvgDan 2 года назад

      @@IAmTimCorey Let's say you have a few number ranges you want treated the same. In VB you could have a very easy to read line "Case 2 to 3, 5 to 12, 15 to 20" match the ranges you want, whereas it's messy looking in C#.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      You can do this: case (>= 2 and =5 and =15 and

    • @AvgDan
      @AvgDan 2 года назад

      @@IAmTimCorey I'll admit, C# switch got better at this with VS2017 / C# 7. Can you have a variable in a case statement in C# now, or is that still a problem?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      It can use constants but not variables.

  • @randomCADstuff
    @randomCADstuff 2 года назад

    C# is easy to learn if you're familiar with C++; would you say the opposite is also true?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      Learning a programming language gives you the knowledge of how to assemble logic. That applies to any other programming language, regardless of the syntax. The syntax similarities of C++ and C# make even that transition easier.

    • @randomCADstuff
      @randomCADstuff 2 года назад

      @@IAmTimCorey My current goal is to just work with API's (and pretty simply stuff at that) but watching your video's I'm really gaining interest in C# (and programming in general). Enough so much that I might set higher goals (maybe transitioning to C++). Syntax itself isn't my bottleneck so much as piecing everything together. A few years ago I started to learn C# but was so confused about .NET framework that I threw in the towel; your video on the .NET confusion cleared that up really well! C++ being so similar to C# that the transition would be quite easy, save for memory management? Would you say that requires a big leap in ability/knowledge level?

  • @gledsonduarte7177
    @gledsonduarte7177 2 года назад +1

    The sad part is when you spend 5 days making a job interview test using great C# techniques and after you get hired you spend most you day leading with legacy C/C++. The bills need to getting paid.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yeah, that can be discouraging (it happened to me too).

  • @PerryCodes
    @PerryCodes 2 года назад +2

    Tim: There are some people that love a language you hate.
    Me: (screams) PHP!

    • @adeizayusuf
      @adeizayusuf 2 года назад +1

      😂 😂 😂 I hate PHP 😂 😂

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      And see, I don’t mind PHP. In fact, there are times when it is really useful to me.

  • @ProgrammingNoob
    @ProgrammingNoob 2 года назад +1

    Can you make a tutorial on Identity server

  • @christianmagnus1003
    @christianmagnus1003 2 года назад

    I start with scheme, later c++, Java desktop, later python web, Javascript and now i work with c# ,😁

  • @TonoNamnum
    @TonoNamnum 2 года назад

    Another reason is the IDE. I don't dislike java as much as eclipse lol.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I agree. I love Visual Studio.

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

    How can I learn C#

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

      Here you go: ruclips.net/video/hnjly9iBHso/видео.html

  • @jamesharrison2216
    @jamesharrison2216 2 года назад +2

    😇 C# is my Baby😘😍

  • @ProgrammingNoob
    @ProgrammingNoob 2 года назад +6

    I love C#

  • @kremelkeyz5985
    @kremelkeyz5985 2 года назад

    Hey tim can I learn c# as my first language?

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Absolutely. I think it is a great first language. You can definitely learn it on your own, or if you want an easier path, you can take this course, which will take you from knowing nothing to being real-world ready as a developer: www.iamtimcorey.com/p/c-mastercourse

    • @kremelkeyz5985
      @kremelkeyz5985 2 года назад

      @@IAmTimCorey wow really fast reply I have been really wondering what language to start with all I can hear from people is learn python start with html, the javascript I learned html,Css back in 2017 but I dropped and went to wordpress but just drag and drop nothing much until recently I completed my diploma In electrical engineering I want to do something that I feel will be of relevance and also will help he get into a software engineering pat. I thank you for your point of view...

    • @kremelkeyz5985
      @kremelkeyz5985 2 года назад

      I would suggest you also put a roadmap to different paths because over here in Kenya bootcamps show learn git shell, then mvc I dont know what that is but I think a roadmap would be nice thanks.

  • @astrahcat1212
    @astrahcat1212 7 месяцев назад

    Game programming (graphics programming) C++ HLSL and GLSL os the way to go, everything else C#.

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

    You should go with Db instead :)

  • @RESIDENTECH1
    @RESIDENTECH1 2 года назад

    Deploying your projects to windows 11 store 👈Next Topic #Csharprocks #Alllanguagesrock

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      We will probably cover that at some point.

    • @RESIDENTECH1
      @RESIDENTECH1 2 года назад

      @@IAmTimCorey awesome 👍

  • @Mausar17
    @Mausar17 2 года назад +1

    No one:
    Me watching this right after applying for a COBOL position: ಠ_ಠ

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      That can be a great niche opportunity, though.

    • @Mausar17
      @Mausar17 2 года назад

      @@IAmTimCorey Thanks haha, my real love is C# so I'm thinking of doing stuff with it on the side.

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

    je suis un francais les gars car il y a la traduction en francais ceux qui sont francais mais qui ne comprend un tout petit peut la langue

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

      Are you asking for a French translation? I don't have the resources to provide one, unfortunately.

  • @georgekerwood9100
    @georgekerwood9100 2 года назад +3

    Why choose C#? Because then you can watch Tim Corey videos… duh!

  • @mouayadkhashfeh4967
    @mouayadkhashfeh4967 2 года назад

    I know alot of people refuse to use C# because they hate Microsoft!!
    I really feel all of them think that hating Microsoft makes thim looks smarter and unique!!
    I did an interview with biggest Dutch company in the Netherlands who uses Java, the interviewer told me "you can switch to Java easily since Microsoft has copied Java as it is and made some stupid changes and called it C#"!!!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yeah, that's a pretty poor mindset.

  • @goatnamese
    @goatnamese 2 года назад

    C# Bonus - If you ever wanna get into games, Unity Game Engine uses C#!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Yep. I'm actually considering covering Unity at some point.

  • @mahanpathak24
    @mahanpathak24 2 года назад

    wow...it is as if I am listening to myself.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Hopefully that's a good thing.

  • @bhuwanmaharjan397
    @bhuwanmaharjan397 2 года назад +2

    First comment. Oops second!!

  • @benjamininkorea7016
    @benjamininkorea7016 2 года назад

    If you're gonna tout C#, maybe cut the non-C# stock footage from the intro. :D

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад

      Lets be real. Tim is a well known C# instructor. Folks expect C# from him. How many other language instructors will give you a clear honest discussion on picking the best language for you?

    • @benjamininkorea7016
      @benjamininkorea7016 2 года назад

      @@tomthelestaff-iamtimcorey7597 You're preaching to a customer, but okay. ;D

  • @lixiang7349
    @lixiang7349 2 года назад +1

    Why do you always have a worried look