Is C# better than Python?

Sdílet
Vložit
  • čas přidán 6. 06. 2024
  • In this video we look at an overview of the similarities and differences between two of the worlds most popular programming languages, C# and Python.
    🕐 Video Time Indexes
    -------------------------------------
    00:00:00 - Introduction
    00:00:47 - C# and Python first Released - Brief Overview
    00:01:50 - Similarities between C# and Python
    00:02:54 - Main Differences between C# and Python
    00:07:19 - What C# and Python are known for - Brief Summary
    00:08:15 - Why Choose One Language over the Other?
    Support the Channel 👍
    ------------------------------------
    Buy me a Coffee ☕️
    🔗 www.buymeacoffee.com/GavinLon
    PayPal
    🔗 www.paypal.com/paypalme/GavinLon
    🪙 BitCoin
    12JZYMiRq5YRDN5R5zuyYt7jMN8eTpkgns
    Please follow me on Twitter @GavinLonDigital
    Links Referenced in this video
    -------------------------------------------------
    Nuget Packages
    🔗learn.microsoft.com/en-us/dot...
    .NET Assemblies
    🔗learn.microsoft.com/en-us/dot...
    CIL Code - Common Intermediate Code
    🔗learn.microsoft.com/en-us/dot...
    AOT - Ahead-of-Time Compilation
    🔗learn.microsoft.com/en-us/dot...
    Full Playlist - C# for Beginners Course
    ------------------------------------------------------------
    🔗 • Unity for Beginners (C...
    Free Courses and Educational Videos - Gavin Lon
    -------------------------------------------------------------------------------
    Blazor (Webassembly) Shopping Cart Application full playlist
    🔗 • Blazor (WebAssembly) a...
    Full playlist - Let's Build an ASP .NET Core MVC Web Application on .Net 5
    🔗 • Part 1 - Overview - Le...
    Full playlist - Advanced C# Course
    🔗 • Introduction - Advance...
    Full playlist - C# for Beginners Course
    🔗 • C# for Beginners - Par...
    Blazor Server App on .NET 6 Course - FreeCodeCamp
    🔗 • Blazor Server App with...
    🎶All Music in this Video was Created by Gavin Lon

Komentáře • 83

  • @OmbasaGeoffrey
    @OmbasaGeoffrey Před 7 měsíci +28

    i choose c#

    • @GavinLon
      @GavinLon  Před 7 měsíci +2

      I like both languages - but my preference is definitely C#! :)

  • @avinashmendse4370
    @avinashmendse4370 Před 7 měsíci +19

    i will choose C# for enterprise application. For data processing I will prefer Python

    • @GavinLon
      @GavinLon  Před 7 měsíci +3

      I love this comment because it alludes to the fact that the requirement is often the best driver as to which technology should be chosen.

    • @JaimeHaddad
      @JaimeHaddad Před 5 měsíci

      Completely agree with your comment. Both are great programming languages but it will depend on what will be your final objetive.

  • @filaz5087
    @filaz5087 Před 2 měsíci +4

    I think C# is a good choice because it is multi-paradigm, have performance, stability, and versatility, in addition to the support it has from Microsoft, we already have ML .NET and I think it will increasingly have greater influence on AI. But for some projects I think Python could be better option because there are a lot of libraries and good frameworks for Python, but for production in a large scale projects C# with .NET are better option.

  • @hammeedabdo.82
    @hammeedabdo.82 Před 7 měsíci +9

    Both of them are distinguished in some areas, as you mentioned in the video, and your choice depends on your needs, but in general C# performs it better and faster than Python, and closer in syntax to Java or C++.
    Please,We would a comparison video between Blazor and other frameworks.

    • @GavinLon
      @GavinLon  Před 7 měsíci +1

      Absolutely! Great comment! :)

    • @HMan2828
      @HMan2828 Před 5 měsíci

      Blazor is an absolute blast, it blows everything else out of the water... There are so many "failed" web frameworks built on JS, it feels insanely liberating just dumping C# right into the HTML instead of having to deal with the shortcomings and particularities of a hundred different flavors of JS...

  • @iswilson
    @iswilson Před 5 měsíci

    As a beginner backend developer, I have learnt Nodejs and looking for a second language to add to my stack. Between Python and C#, which of these two would you recommend.

    • @warny1978
      @warny1978 Před měsícem

      What do you want to do with your code ?
      If you don't know, i'll suggest C#, just because it is staticaly typed. It prevents a lot of errors, but it makes code prototyping a little more difficult.
      Code prototyping is writing code to see how it works, or if it works, before writing code with the right guidelines.

  • @coverstack6157
    @coverstack6157 Před 2 měsíci

    I had been a programmer (preferably windows app) since year 2000, started with pascal, c, c++, visual foxpro, tried also delphi and using visual basic until 2009. When the insurance company I had been working told us to create new app for their insurance system, our team decided to go for C# without looking back 🥰 Haven't tried python for production development, but in my opinion it is much easier to code and debug using C#. Really loved curly brackets, since it is easier and faster to find a conditional scope, haha 😉😊🥰I will choose C# any day.

  • @fabricehategekimana5350
    @fabricehategekimana5350 Před 7 měsíci +4

    In my case I am biased because I was looking for a low level programming language with a good implementation of functional programming and I find that rust is my best choice (I use it for personal projects). I use python for my studies but I was impressed by the power of C# and his rich features

    • @GavinLon
      @GavinLon  Před 7 měsíci +1

      I must admit, I'm intrigued by Rust. Python is definitely a great first language to learn. A learner can learn all the fundamentals of programming using an easy to read and write language like Python. When the learner is fairly proficient with Python, the learner can then move on to for e.g. statically typed (better performing) languages like C# or Java. As.I said in the video, I personally believe, that C# is also a pretty good first language to learn too.

    • @fabricehategekimana5350
      @fabricehategekimana5350 Před 7 měsíci

      @@GavinLon I agree. C# seems to be a good language to start compared to languages like java (that seems to have a little bit of boilerplate) or rust (that have a steep learning curve).
      Did you heard about Nim ? Some people claims that his syntax is as easy as python but it seems to lack in the community/resources department

    • @GavinLon
      @GavinLon  Před 7 měsíci +1

      @@fabricehategekimana5350 thanks for your comment! I've never heard of Nim, but am always interested in learning about new technologies so will definitely investigate this. Thank you! :)

    • @johnmaguire2185
      @johnmaguire2185 Před 7 měsíci

      Just started to learn code using C#. Why would an independent newbie choose Python?

    • @GavinLon
      @GavinLon  Před 7 měsíci

      @@johnmaguire2185 My advice would be to stick with learning C#. You can always learn Python later. One criteria for learning Python as a first programming language is that the syntax is simpler than in C# but I believe C# is still an easy language to learn for a first language.

  • @JaimeHaddad
    @JaimeHaddad Před 5 měsíci +1

    I like both programming languages, both have strengths and weakness but will depend on my objectives. The only concerning part for me is using Python for Enterprise development where I need to keep control of all of dependencies updates to avoid conflicts with my libraries when these receive newer versions. I know there ways to manage this but I feel safer with C# within the .NET environment.

    • @GavinLon
      @GavinLon  Před 5 měsíci +1

      I agree. Large applications with many dependencies to worry about, in my opinion, are easier to maintain over time when created using C# and .NET. Why make life any more difficult that it has to be :)

  • @HMan2828
    @HMan2828 Před 5 měsíci

    Just to clear up a tiny little thing, C# is statically typed, but DOES support late binding through the dynamic type... As in, in C# you have the option, vs in Python it is always dynamically typed...

    • @GavinLon
      @GavinLon  Před 5 měsíci

      In Python you can use static type hints but only to verify correctness of the source code at compile time. Python is a dynamically typed language. C# is statically typed but the dynamic type can be used for dynamic typing (in order circumvent the type system).

  • @embossCoder
    @embossCoder Před 7 měsíci +2

    Its the matter of preference. And i prefer c# for its clarity

    • @GavinLon
      @GavinLon  Před 7 měsíci

      Absolutely - they are both great programming languages but sometimes its just down to personal preference :)

  • @astrahcat1212
    @astrahcat1212 Před 6 měsíci

    I've been developing games in Unity for well over a decade, using C#, I like it it does what it needs to, but the problem I have is that if I was using an interpreted language like Python or Javascript for the game logic, I probably would have taken years less time to get more done. Interpreted languages are better for game development, then, in my opinion. You need a C++ backend if you want to get on consoles (full portability), a potential thing you could do is to use PyGame, that uses a C++ backend using SDL2, include the source in your project folders.
    What I wanted to do for future games, since I work on 3D games, is to use Blender for level editing, export to a text file, then read from it into PyGame.
    To be honest using this way it would have been faster for development than using Unity overall.

    • @GavinLon
      @GavinLon  Před 6 měsíci

      Sounds very interesting. I'm no expert when it comes to PyGame, but do have a fair amount of experience with Unity and Blender. Thank you for your point of view! I also really enjoy creating and modelling in Blender! In fact Blender could be given as a great reason to learn Python! :)

  • @christsciple
    @christsciple Před 7 měsíci

    I'm a software engineer and data architect. Most places I've worked at use both Python and C#. They do great in the areas they're specifically developed for; Python for data handling/ETL and ML, C# for application development.

    • @GavinLon
      @GavinLon  Před 7 měsíci +1

      Thank you for this informative comment. It seems that Python is still the most popular language for ML applications, and in some cases is used for other backend tasks. So perhaps if developers learn both Python and C#, it might give the developers a bit more of an edge in the market. :)

    • @christsciple
      @christsciple Před 7 měsíci

      @@GavinLon For sure! Most data engineers utilize both languages for data analysis and ETL (especially if you're an SSIS user!). Python will continue to lead in ML for at least the next 5 - 10 years if not more simply because of it's robustness, ease-of-use, and plethora of ML libraries that are tailored for it. I wouldn't mind seeing more serious rivals challenge it's position in the future!

  • @pashkett
    @pashkett Před 7 měsíci +3

    Thanks for your job. Believe it would be useful for newcomers that want to start learning programming
    I am using C#

    • @GavinLon
      @GavinLon  Před 7 měsíci

      Awesome! Thanks for your feedback and you are very welcome! :)

  • @ulrich-tonmoy
    @ulrich-tonmoy Před 7 měsíci

    Really Unity now
    For game dev i would suggest C++ or the scripting language of the engine of your choice

    • @GavinLon
      @GavinLon  Před 7 měsíci +2

      Unity is great for C# developers. If you are proficient in C++ then Unreal Engine is also an amazing game engine to learn.

  • @dirkschannel5817
    @dirkschannel5817 Před 7 měsíci

    I use and like both.
    Besides web development I use them for different use cases. We automated our infrastructure with python - things where performance is not an issue.
    There is no real versus…

    • @GavinLon
      @GavinLon  Před 7 měsíci

      Sounds sensible! Both technologies are powerful but using each of them appropriately based on their strengths can yield optimal results!

  • @broadshare
    @broadshare Před 7 měsíci +6

    They are both great programming languages which can be used for different purposes based on the application. I use both but C# is my main programming language

    • @GavinLon
      @GavinLon  Před 7 měsíci

      I agree! They are both great programming languages that can be used for a multitude of different types of requirements. Perhaps Python is a better choice for some requirements and C# for others :)

    • @rafapioli75
      @rafapioli75 Před 7 měsíci

      Me too!

  • @vxsniffer
    @vxsniffer Před 19 dny

    1:45 boolean values in Python starts with capital letter (True/False)

    • @GavinLon
      @GavinLon  Před 19 dny +1

      That's true, I mean True. Sorry about that! Oops, my bad!

  • @abbassiziad1379
    @abbassiziad1379 Před 3 měsíci +2

    C# as a language is great and the DotNet ecosystem is well established. but, it is only suitable for enterprise-level projects and it is used only by Microsoft. I think the learning curve of Dotnet framework is big enough to Think 1000 times before wasting your time learning it. This time could be used to learn or doing many other things.

    • @GavinLon
      @GavinLon  Před 3 měsíci +2

      Thanks for your comment :) I respectfully disagree with almost everything stated in your comment (of course I do agree that C# is a great language) but I do appreciate you taking the time to comment. DotNet is very versatile and the learning curve is not so steep in my opinion. :)

  • @fakeITDevTeam
    @fakeITDevTeam Před 7 měsíci +3

    I prefer to use structured languages/frameworks, like c#/dotnet, typescript/angular. It will be easier (for me) to maintain more complex projects.

    • @GavinLon
      @GavinLon  Před 7 měsíci +1

      Really great point! I totally agree!! Facilitating Easy maintenance is super important especially for large projects.

  • @hotlineoperator
    @hotlineoperator Před 4 měsíci

    I choose C#, even there are thinks I do not like
    - { curly braches }
    - syntax where my variable name is somewhere in the middle, not in first
    - Microsoft, not fan of update policy, and UI

    • @GavinLon
      @GavinLon  Před 4 měsíci

      Thank you for providing your personal thoughts on C#. I also choose C# :)

  • @hmdz150
    @hmdz150 Před měsícem

    C# is a more beautiful language but Python is a more practical tool;
    I learned C# about 20 years ago when the language was version 1.0 . It was one of the hottest programming language of its time and made life much easier for C++ developers who wanted to use the dot net framework to develop applications for Windows. But it was only after I learned Python and worked with the open source community that I realized thing could be done much faster (in Python) than they could in C#.
    Python is a much more practical language (for me) mainly due to its vast ecosystem and free libraries available. There is almost a Python library for anything you can imagine. And Python code runs (almost) on any operating system. I have developed many more projects in Python that made their way to the market and became running systems than I did with C#.
    You worry about performance of your code? There is a Python library for it too!

    • @GavinLon
      @GavinLon  Před měsícem

      Thanks so much for this detailed comment. I really enjoyed reading it! :)

  • @zimcoder
    @zimcoder Před 7 měsíci

    Yes

    • @GavinLon
      @GavinLon  Před 7 měsíci

      Short answer but to the point! Thank you! :)

  • @Doggy_Styles_Coding
    @Doggy_Styles_Coding Před 7 měsíci +1

    Why did the Python programmer get lost in the forest? Because they couldn't find the right path and kept getting "None"!

    • @GavinLon
      @GavinLon  Před 7 měsíci

      lol - Hopefully jokes like these won't start any trouble in the comments section :)

  • @JohnSmith-po5pj
    @JohnSmith-po5pj Před 7 měsíci +1

    me personally, Python is my least favorite language of all.... I use c# daily, and front end libraries

    • @GavinLon
      @GavinLon  Před 7 měsíci

      That's a strong view. Thank you for sharing! My main language for frontend and backend programming is C# :)

    • @FilipCordas
      @FilipCordas Před 6 měsíci

      python is God awful only reason someone uses it is because he wants to impress non-programmers that you do something smart. All good Python is written in c.

  • @mehmeteminkrgn4108
    @mehmeteminkrgn4108 Před 5 měsíci

    I am a Pythonian here to learn C#. Hi.

    • @GavinLon
      @GavinLon  Před 5 měsíci

      Great! You are very welcome! :) Hi back at you!

  • @FilipCordas
    @FilipCordas Před 6 měsíci

    You can do same terrible dynamic stuff in c# it's just not used much because dynamic is terrible.

    • @GavinLon
      @GavinLon  Před 6 měsíci

      That is true. In C# you can use the dynamic type or simply define variables as objects and avoid strongly typing your variables altogether but of course by doing that you are just circumventing the benefits of using a strongly typed language. Strongly typing your code ensures better performance and better robustness at runtime! :)

  • @ZombieJig
    @ZombieJig Před 6 měsíci +1

    The best first language to learn is C. I wouldn't want to write C on a day to day basis but in terms of learning the fundamentals you can't go wrong.

    • @GavinLon
      @GavinLon  Před 6 měsíci

      My first language was actually C and then Visual Basic! You are right it is an excellent first language because so many languages are of course based on C. :)

  • @ahmedbenissa5982
    @ahmedbenissa5982 Před 3 měsíci

    Comparing the two is an insanity

    • @GavinLon
      @GavinLon  Před 3 měsíci

      lol - well I think it is potentially a good way to teach the fundamental differences between a popular dynamically typed programming language and a statically typed programming language.

  • @WaliaIbex
    @WaliaIbex Před 7 měsíci

    I like k it is superior .

    • @GavinLon
      @GavinLon  Před 7 měsíci

      Very obscure language :)

  • @omerbirler2351
    @omerbirler2351 Před 13 dny

    Is this even a question? It would be more meaningful if we compare it over Java

    • @GavinLon
      @GavinLon  Před 13 dny

      I think it is a worthwhile comparison - the video highlights important differences like dynamically typed vs statically typed (and the significants of this).

  • @SrinivasGanta-tm1zh
    @SrinivasGanta-tm1zh Před 2 měsíci

    C#, ez

  • @drewsarkisian9375
    @drewsarkisian9375 Před 7 měsíci

    No.

  • @vitalyl1327
    @vitalyl1327 Před 3 měsíci +1

    Python is a very low bar. Chances are that any randomly chosen language will be better than Python.

  • @amiriko6220
    @amiriko6220 Před 2 měsíci +1

    C# much more better language as it runs much faster than Python and fully OOP, it has truly primitive type and can save data on stack while python cannot.

    • @GavinLon
      @GavinLon  Před 2 měsíci

      It surprises me that C# isn't more popular. I think it is likely to become way more popular in the near future!

  • @iswilson
    @iswilson Před 5 měsíci

    As a beginner backend developer, I have learnt Nodejs and looking for a second language to add to my stack. Between Python and C#, which of these two would you recommend.

    • @GavinLon
      @GavinLon  Před 5 měsíci

      Python is a great languages but I admittedly have a bias toward C# and .NET. For backend I would recommend C#, it's dynamically typed which means better performance and also potentially greater robustness at runtime! Its easy to debug and also has the support of Microsoft! Python is perceived to be easier to learn, but I think C# is a fairly easy language to learn :) If you are going into data science and machine learning, perhaps Python is a better choice although you can also use C# for those purposes.

    • @iswilson
      @iswilson Před 5 měsíci

      @GavinLon ok. My only concern with C# is that I use Ubuntu and I feel like C# and its frameworks would work better on windows than other platforms.

    • @GavinLon
      @GavinLon  Před 5 měsíci +1

      @@iswilson .You can certainly run .NET on Ubuntu although I haven't yet personally done so. My recommendation is to perform a test, with basic C# code on Ubuntu and see if it performs as expected. You could do the same with Python. Learning both Python and C# is another option - this can make you more marketable as a developer :)