Is C# better than Python?

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ก.ค. 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

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

  • @OmbasaGeoffrey
    @OmbasaGeoffrey 8 หลายเดือนก่อน +32

    i choose c#

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

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

  • @avinashmendse4370
    @avinashmendse4370 8 หลายเดือนก่อน +21

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

    • @GavinLon
      @GavinLon  8 หลายเดือนก่อน +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 7 หลายเดือนก่อน

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

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

    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 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน +1

      Absolutely! Great comment! :)

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

      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 6 หลายเดือนก่อน

    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 2 หลายเดือนก่อน +1

      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.

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

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

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

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

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

    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 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน +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 8 หลายเดือนก่อน

      @@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  8 หลายเดือนก่อน +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 8 หลายเดือนก่อน

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

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

      @@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 7 หลายเดือนก่อน +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  7 หลายเดือนก่อน +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 :)

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

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

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

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

  • @broadshare
    @broadshare 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน

      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 8 หลายเดือนก่อน

      Me too!

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

    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  6 หลายเดือนก่อน

      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).

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

    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  8 หลายเดือนก่อน +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 8 หลายเดือนก่อน

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

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

    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  8 หลายเดือนก่อน

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

  • @abbassiziad1379
    @abbassiziad1379 5 หลายเดือนก่อน +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  5 หลายเดือนก่อน +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. :)

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

    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  7 หลายเดือนก่อน

      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! :)

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

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

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

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

  • @fakeITDevTeam
    @fakeITDevTeam 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน +1

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

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

    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  5 หลายเดือนก่อน

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

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

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

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

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

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

    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  3 หลายเดือนก่อน

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

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

    Yes

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

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

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

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

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

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

  • @Doggy_Styles_Coding
    @Doggy_Styles_Coding 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน

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

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

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

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

      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! :)

  • @JohnSmith-po5pj
    @JohnSmith-po5pj 8 หลายเดือนก่อน +1

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

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

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

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

      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.

  • @ZombieJig
    @ZombieJig 7 หลายเดือนก่อน +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  7 หลายเดือนก่อน

      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. :)

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

    I like k it is superior .

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

      Very obscure language :)

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

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

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

      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 3 หลายเดือนก่อน

    C#, ez

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

    Comparing the two is an insanity

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

      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.

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

    No.

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

      Okay :)

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

    Python is the most overrated programming language ever

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

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

  • @amiriko6220
    @amiriko6220 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน

      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 6 หลายเดือนก่อน

    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  6 หลายเดือนก่อน

      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 6 หลายเดือนก่อน

      @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  6 หลายเดือนก่อน +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 :)