Is C# Better than Go (Golang)?

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ย. 2024

ความคิดเห็น • 85

  • @hellelo.5840
    @hellelo.5840 หลายเดือนก่อน +18

    Go lang mindset is different than C# if you try to to use OOP mindset while using go you are going to hate it.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      That is a great point :)

  • @curtmantle7486
    @curtmantle7486 หลายเดือนก่อน +2

    I’ve been working in C# and .NET since 2008 and this is a good and fair summary. I think the real power of C# is the ecosystem with .NET and the wealth of third party tools and libraries. I really like the look of Go though based on my limited exposure to it.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      C# and .NET are amazing like you say because it is so powerful and has such a large ecosystem. It does sound like Go makes concurrency a lot more simple which could save a developer a lot of pain when implementing concurrency code. I'm all for making complex tasks as simple as possible :)

  • @randyriegel8553
    @randyriegel8553 หลายเดือนก่อน +28

    I've been a software engineer for over 20 years. The last 15 I've mainly used C# & SQL. Wrote everything from Console apps, Desktop apps, Web apps and Phone apps with it. I've been forced to dabble in other languages when asked such as Python and Go. I HATE them! They are suppose to be simplistic but I can't wrap my head around them. My first job out of college I was writing C and ASM on a HP-UX server. I can figure out any language to make a fix or something but if I'm starting something new I want C#. 😁

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +3

      C# is always my first choice :) Thank you for sharing your experience and opinion :)

    • @francoislepron2301
      @francoislepron2301 หลายเดือนก่อน

      I do share your analysis. First, where does Python come ? As a software developer in semiconductors, hardware designers hate everything which is not born from UNIX or Linux. They started to write scripts in Perl and after in Python and they push Python all over the world without trying to see if another scripting language for simulation could fit their needs. Linux is a cancer since what is not coming from Linux is the devil.

    • @roccociccone597
      @roccociccone597 หลายเดือนก่อน +2

      that's beacuse you most likely try and write all other languages as if they were C#. And Go is not a better C#. Go is better at not being as bloated and convoluted as C#

    • @francoislepron2301
      @francoislepron2301 หลายเดือนก่อน +1

      @@roccociccone597 Could you give us several examples of code where you find that C# is convoluted compared to Go. This would be interesting for coder like me who don't know at all Go. Thank you !

  • @YabseraPython
    @YabseraPython หลายเดือนก่อน +7

    I use golang because it is more friendly to old hardware than c#,java,rust

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Thanks so much for sharing your experience :)

    • @RomanAvdeevX
      @RomanAvdeevX 15 วันที่ผ่านมา

      Wdym?

    • @YabseraPython
      @YabseraPython 15 วันที่ผ่านมา +3

      @@RomanAvdeevX i have 2gb ram with 32ssd with dual core. Old potato pc it runs the lsp and other tool perfectly I have tried both c#,java and rust on it and the experience have sucked

  • @keyboard_g
    @keyboard_g หลายเดือนก่อน +5

    Looking at salary alone is kind of nonsense. There are 1,000x more C# jobs out there in the corporate world.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      That is very true - and C# developers get compensated very well in general.

  • @Sub0x-x40
    @Sub0x-x40 หลายเดือนก่อน +4

    I am forced to learn both at school, C# is not better than golang in my inexperienced opinion. I also enjoy c# but im not working in it for side projects, i find myself coming back to golang. But if I want to actually get a job then C# is the superior option because there are loads more jobs in C#

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Thanks so much for sharing your experience with both of these languages. :)

  • @robertmrobo8954
    @robertmrobo8954 หลายเดือนก่อน +3

    The question the title asked is not answered on the video.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      It's a question we need to ask ourselves once we relate the facts pertaining to each language to our specific context. You may answer the question differently to me - but neither answer is necessarily wrong. I hope that makes sense. :)

  • @wahidurrahman77
    @wahidurrahman77 หลายเดือนก่อน +6

    Why does GoLang Syntax look not mature like Python but C# syntax is more mature... what about the more matured language Rust??

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +6

      Rust comparison coming soon! :)

  • @batiandanielliu3598
    @batiandanielliu3598 20 วันที่ผ่านมา

    In my opinion, if you’re a business owner looking to save money on servers while supporting more users, Go is the best choice. It uses less memory and CPU on the same hardware, allowing it to handle more user requests efficiently. Additionally, Go is not as complex as Rust when it comes to writing server applications.

  • @IronCandyNotes
    @IronCandyNotes หลายเดือนก่อน +2

    2 different tools used in different contexts, learn both

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Exactly, you do'n't have to necessarily choose between the two but I would recommend prioritising which languages to learn and in which order. Choose what to learn based on your personal context..

  • @guruware8612
    @guruware8612 หลายเดือนก่อน +2

    Software engineer for over 45 years now, and getting tired of always the same question.
    Is spanish a better language than english? Yes, if you are a spaniard.
    If you need Go then 'go' for it. Otherwise use what you already best at.
    If you are afraid of pointers and need a garbage collector (to clean up the room like mommy did), maybe its time to reconsider the career choice taken.
    After all, its just about your skill set. Why learning russian, if you possibly will never need it.
    Apropos garbage collectors, we had a big lag in a web-app, guess what caused it... the java-garbage collector.
    Still using c++ for 99% of stuff, and there is no need to use all that "modern" c++ mumbo-jumbo which makes the code barely human readable.
    And it is portable, where c# isn't that much so.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Thanks so much for sharing your experience and perspective. It is greatly appreciated :)

    • @mikolash8246
      @mikolash8246 หลายเดือนก่อน +4

      For an engineer with 45 years of experience, your statement about a garbage collector is extremely idiotic

    • @rankarat
      @rankarat หลายเดือนก่อน +1

      C# is not portable? You haven't written any C# lately.

  • @Capsaicinophile
    @Capsaicinophile หลายเดือนก่อน

    Both are great tools. But there is a major difference between them. C# is a "product" of Microsoft, whereas Go is a "tool" at Google. Microsoft markets C# and associates it with other Microsoft products that make money, like Microsoft Azure, for example, setting up JWT is a pain in .NET, but using Microsoft authentication services can be set up easily as an option from the template. Go on the other hand is more of an internal tool that Google made open source.
    C# brings food to my table, and I like how vast the .NET ecosystem is, and C# code is simply beautiful.
    Go on the other hand, makes me a better programmer, by forcing me to handle errors everywhere, and by having no unnecessary abstractions, making me implement things myself and learn how things work under the hood, than to memorize some class names that do it for me.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      Thanks so much for sharing your experience. Very insightful. I definitely want to do a deeper dive into Go at some point on this channel.

    • @roccociccone597
      @roccociccone597 หลายเดือนก่อน +1

      C# code looks like Java with some syntactic sugar. I don't need my code to look beautiful I need it to work as expected. There's plenty of things I don't like about C#, but one of the biggest problems is it's OO heritage and exceptions for errors rather than errors as values.

  • @emmanuelatikese3645
    @emmanuelatikese3645 หลายเดือนก่อน +4

    Go is simple, boring and yes it gets things done really quickly.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      I'll definitely have to do a deep dive into Go in a future video :) Thank you for sharing your experience with Go.

    • @dyto2287
      @dyto2287 หลายเดือนก่อน

      Many say Go is "simple" but most of them can't write idiomatic Go and have no tests.
      I would say it takes minimum 5 years of Go experience to write a good quality code.
      Lots of Go programmers think they know Go but actually they are just writing it with a stinky flavor of their previously used programming language.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      @dyto2287 Thank you for your insights :)

    • @emmanuelatikese3645
      @emmanuelatikese3645 หลายเดือนก่อน

      @@GavinLon Nice to hear from you again 👍

  • @ulrich-tonmoy
    @ulrich-tonmoy หลายเดือนก่อน

    The thing is do we still need these runtime compiled language in this day and age
    We should have
    C/C++/Rust/Zig (lowest human readable)
    JS/Python(Runtime without compilation)
    Go (between low and runtime benefits of both)

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +2

      That is a great question. It'll be interesting to see how C# and Java evolve moving forward. You can actually AOT C# in some cases already - where you don't need JIT and need to deploy the runtime to the target machine - so it seems to be moving in that direction. :)

  • @antoniusivan8767
    @antoniusivan8767 หลายเดือนก่อน +3

    Cross Platform? Golang as AOT lack of runtime, make it harder for it to become like React Native/ MAUI. For Enterprise, there is incentive to do full stack app.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      I think Go could be a choice for server side development where you are development scalable systems and need to efficiently handle concurrency :)

    • @yogibarista2818
      @yogibarista2818 หลายเดือนก่อน

      Like MAUI ? - Be careful what you wish for... "what do you mean you've run out of memory again ?"

    • @antoniusivan8767
      @antoniusivan8767 หลายเดือนก่อน

      @@GavinLon I like rust better 😂

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      @@antoniusivan8767 Rust comparison coming soon! :)

    • @roccociccone597
      @roccociccone597 หลายเดือนก่อน

      AOT >>>>>>> runtime :)

  • @sadiulhakim7814
    @sadiulhakim7814 หลายเดือนก่อน

    My opinion is, for small applications golang would defeat c# for its speed and small memory usage but for large applications it would be defeated.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Go - I think is great as you say, for smaller apps but also smaller units of code (microservices). The small memory usage and efficiency makes it quite an attractive alternative to other languages for creating microservices that run in the cloud :) C# is great for enterprise, complex, large applications.but if you want high performance in small units of code (microservices) perhaps Go is a great alternative.

  • @WillEhrendreich
    @WillEhrendreich หลายเดือนก่อน

    oh ooh ohhh. do #fsharp next! it's absolutely the best. :)

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      FSharp comparison must happen :)

  • @tanzimibthesam5861
    @tanzimibthesam5861 หลายเดือนก่อน

    Go is mostly used in DevOps space C# literally has everything GO has with a vaster ecosystem. But in terms of OOP C# is way above. Cross platform way more versatile.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Thanks so much for your insight :)

    • @dyto2287
      @dyto2287 หลายเดือนก่อน +1

      OOP is the reason why I quit C# & Java. Absolute waste of time. Only good for junior, mid engineers who go to their cubical and wait for their salary.

    • @roccociccone597
      @roccociccone597 หลายเดือนก่อน +1

      lol you literally just said Go, a language which is in fact not OO is worse at being OO. What a genious remark, C# is not good at being functional either. Why? because it's not a functional language for crying out loud. ( I know go isn't functional it's an example)

  • @ggcc3261
    @ggcc3261 26 วันที่ผ่านมา +1

    Man… it annoys me so much that something so nice as C# can be made by a company so horrid as Microsoft. I greatly prefer C# over Go yet highly dislike Windows. Which is annoying since VS offers arguably the best debugger for .NET.

  • @omarbousbia6916
    @omarbousbia6916 หลายเดือนก่อน

    nice comparison.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Thank you! :)

  • @dovh49
    @dovh49 หลายเดือนก่อน

    V is a better Go. Well, I'm not 100% sure about that. But I do really like V. I can't wait until it hits 1.0!

    • @GavinLon
      @GavinLon  หลายเดือนก่อน +1

      Thank you for sharing your opinion about V - that is an interesting language I'd like to explore :)

  • @YaserFarid
    @YaserFarid 26 วันที่ผ่านมา

    I was using C# till a few months ago, the problem with C# is that I can't program small microcontrollers in C#, they can be but the overhead is very large.
    Go provides me with smaller executables and very simple-to-write code (which is something I do not like) Go it very repetitive.
    I thought about C++ but it is trying to kill ant with a cannon, I thought of using Rust (too annoying), Zig (didn't enjoy it) and I was left with Go or C#, I think I'll go with Go.

    • @GavinLon
      @GavinLon  26 วันที่ผ่านมา

      For small devices, to optimising resource usage efficiency is of course important - perhaps Go is the best option. Please let me know how it works out for you :) Thanks for sharing your experience and insight!

  • @pkop4
    @pkop4 หลายเดือนก่อน

    Yes it is

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Fair enough :)

  • @dangerosa01
    @dangerosa01 หลายเดือนก่อน

    Short answer, YES

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Predictably C# gets my vote but I would love to do a deeper dive into Go! :)

  • @batiandanielliu3598
    @batiandanielliu3598 24 วันที่ผ่านมา +1

    C# is not really compile binary , it's just some kind of code using microsoft library , it belongs to the category of python, and node js, like script language , and microsoft control the .net framework and let them full of vulnerabilities , years later, so you have to rewrite the code, or do upgrade, and .net framework may change a lot, you have to learn again, maybe have to purchase new version of windows, it's well designed repeat selling system .
    well go is really compiled binary code as product , no frame work as dependencies . C# is good for build for enterprise software for quick, but not good for a final software product for sell.

    • @GavinLon
      @GavinLon  23 วันที่ผ่านมา

      In my experience .NET is very robust. It is mostly JIT compiled (Just-in-time compiled) but can in some scenarios be AOT (Ahead of time compiled) so it is not an interpreted language like JavaScript or Python. C# is also a strongly typed language unlike Python and JavaScript with are dynamically typed languages. C# and .NET is great for a variety of types of applications, and is also great to learn if you want to become a professional programmer. I've been programming using C# for over 2 decades. :) C# is an excellent programming language :)

    • @batiandanielliu3598
      @batiandanielliu3598 21 วันที่ผ่านมา

      @@GavinLon
      .NET code is essentially a "script" language that gets compiled into a simple binary format specific to Microsoft. It’s quite easy to decompile or reverse-engineer, and there are many tools available that can extract the complete source code from compiled .NET code-unless obfuscation is used, you can have a try.
      I've been using .NET since 2002, and it's a great programming language. However, one concern I have is that when I deploy .NET code on a server, it may work perfectly at first, but vulnerabilities can be discovered years later. Since my code depends on the .NET framework, any vulnerabilities found in the framework itself could impact my code. If I don't update my code or upgrade to a newer framework version, it can lead to security issues. This adds to the time, effort, and cost of maintaining a system built with .NET code.

    • @batiandanielliu3598
      @batiandanielliu3598 20 วันที่ผ่านมา

      @@GavinLon .NET code is essentially a "script" language that gets compiled into a simple binary format specific to Microsoft. It’s quite easy to decompile or reverse-engineer, and there are many tools available that can extract the complete source code from compiled .NET code-unless obfuscation is used.
      I've been using .NET since 2002, and it's a great programming language. However, one concern I have is that when I deploy .NET code on a server, it may work perfectly at first, but vulnerabilities can be discovered years later. Since my code depends on the .NET framework, any vulnerabilities found in the framework itself could impact my code. If I don't update my code or upgrade to a newer framework version, it can lead to security issues. This adds to the time, effort, and cost of maintaining a system built with .NET code.
      you can look at this video talking about it:
      th-cam.com/video/XUJ95hVjS20/w-d-xo.html

    • @batiandanielliu3598
      @batiandanielliu3598 20 วันที่ผ่านมา

      @@GavinLon .NET code is essentially a "script" language that gets compiled into a simple binary format specific to Microsoft. It’s quite easy to decompile or reverse-engineer, and there are many tools available that can extract the complete source code from compiled .NET code-unless obfuscation is used.
      I've been using .NET since 2002, and it's a great programming language. However, one concern I have is that when I deploy .NET code on a server, it may work perfectly at first, but vulnerabilities can be discovered years later. Since my code depends on the .NET framework, any vulnerabilities found in the framework itself could impact my code. If I don't update my code or upgrade to a newer framework version, it can lead to security issues. This adds to the time, effort, and cost of maintaining a system built with .NET code.

    • @MuhammadHosny0
      @MuhammadHosny0 15 วันที่ผ่านมา

      No way you said scripting language 😮

  • @AndreCarneiro666
    @AndreCarneiro666 หลายเดือนก่อน

    Different worlds!

  • @judewestburner
    @judewestburner 20 วันที่ผ่านมา

    Not sure I even know how to spell Go 😉😉

  • @boot-strapper
    @boot-strapper 12 วันที่ผ่านมา

    Go is way better and it’s not even close

    • @GavinLon
      @GavinLon  12 วันที่ผ่านมา

      Thanks. Great to get some positive feedback for Go!

  • @nour-eddineoumakhlouf5296
    @nour-eddineoumakhlouf5296 23 วันที่ผ่านมา

    In my opinion, C# is very confusing.

    • @GavinLon
      @GavinLon  23 วันที่ผ่านมา

      If you start with the basics and go through the language step by step (at your own comfortable pace) - the concepts will become clearer as you go. It's a great language to learn if you stick with it :)

    • @nour-eddineoumakhlouf5296
      @nour-eddineoumakhlouf5296 23 วันที่ผ่านมา

      @@GavinLon I deeply "love" the language , but there many concepts , ASP, Blazor, Xamarin, LINQ,etc. I tried many times to switch to another language but it's something like "love at first sight!". I'll take my courage on my hands ans restart again. Thank's a lot. I also appreciate your tutorial about Resolve !

    • @GavinLon
      @GavinLon  23 วันที่ผ่านมา

      @@nour-eddineoumakhlouf5296 Please don't loose heart. :) Try not to get frustrated if you don't understand a concept - just keep trying :) Another option if you are getting frustrated with C# is to learn Python . It is a great first language to learn - and once you are proficient programming in Python you can always return to C#, if you still want to learn C#.

  • @MrOboema
    @MrOboema หลายเดือนก่อน +7

    Long story short: yes.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Maybe that could have been the video - me just saying "yes"!

    • @roccociccone597
      @roccociccone597 หลายเดือนก่อน +1

      Long story short: No

  • @keyboard_g
    @keyboard_g หลายเดือนก่อน +2

    Oh gosh… Tiobe Index. Its not a real metric.

    • @GavinLon
      @GavinLon  หลายเดือนก่อน

      Yes - it can give you somewhat of an idea of the most popular programming languages but I certainly wouldn't rely on it for any serious decision making :)