Python for Decision Makers and Business Leaders Transcripts
Chapter: Python vs.
Lecture: Python vs. C#
Login or purchase this course to watch this video and the rest of the course contents.
0:00 First step into the ring is Python and C# and .NET. We're going to take Python and compare it to C# and the overall .NET ecosystem.
0:09 It just so happens I did professional .NET development for I don't know, 12, 15 years a very very long time actually.
0:16 And I still do a little bit of C# work on our mobile apps. So we're going to pick on .NET here. This is probably a pretty good stand in for Java.
0:24 It's not exactly the same Java and .NET are fairly good competitors. They're kind of on equal footing and in a lot of ways, no they're not the same
0:32 but they're similar. So if you're also thinking about Java this is probably the closest comparison you're going to get.
0:38 Lets put em side by side, go down some of the features that I think are important and compare them. Is .NET open source? Yes. Wait no. Yes sort of.
0:47 It turns out some parts of .NET are open source some of them are not. For example the main .NET Framework, I believe is not.
0:54 But something called .NET Core which is a newer version. That's cross platform but doesn't do as much is in fact open source.
1:01 ASP.NET is open source and so on. So there's, some of it is, some it isn't it's a bit of a mixed bag.
1:07 Python we've already seen straight across the board. You can go to GitHub and just get it. It's Open Source. Is it compiled?
1:14 Sometimes that's an advantage sometimes that's a disadvantage. .NET, yes its compiled and in further JIT compiled Python is, not really.
1:23 Technically if you look at the internals there's something that would look like compilation too. But it is not in the sense that we're meaning here.
1:29 Is this technology owned and controlled by a company? .NET, yes. Microsoft, Python, no. There is the Python Software Foundation, the PSF.
1:39 They kind of sort of own it and control it. But it's more like that's a legal structure in place
1:43 to be the steward of Python, not in the same sense that you know a commercial entities using it as part of their business.
1:51 Is there a strong base class library, or standard library? Yes, .NET and Python both have incredible base class libraries.
1:58 There's definitely one of those. What about building web apps? Are they good at that? There, I would call that mostly a tie.
2:04 .NET has ASP.NET so not so much variety but its really good at building web apps. And Python, we've already seen. There's so many options
2:12 its very good that Flask cap we built was great. Any work with databases? Yes, both of these have extremely strong support.
2:19 .NET has a new framework. Python has SQLAlchemy. Those are actually very, very similar to each other. And yeah, really great story there.
2:27 Mobile capabilities, .NET is actually extremely strong here. And this is one of the places where Python gets red mark on its record.
2:34 Python is actually very poor at building mobile apps. Its not that its impossible its just very, very immature. And well, lets just say its practically
2:45 not something you would choose. On the other hand .NET has something called Xamerin which allows you to write mobile applications
2:52 in .NET that work both on IOS and Android. And that's what we use for our mobile apps. Desktop applications, can you build those in .NET?
2:58 Yeah, there's a couple good options there. WPF, its good at it I just don't love the technology that much.
3:04 There's also Windows Forms that which is, pretty good. Python it has Tkinter built in that's kind of a old out of date mode. Probably the best is Qt
3:14 that's a really great way to build apps. But its not as well supported as .NET. Get to its rank, this one Python definitely shines.
3:23 .NET is number 4 of the languages on Stack Overflow. That's that graph I showed you the incredible growth of Python.
3:30 At the beginning .NET is 4, Python number 1. And, leaving the others in the dust. TIOBE, another way that ranks the usage of languages.
3:39 I believe this one has kind of a longer tale affect in the sense that stuff that was written 15 years ago happen to be written in a language
3:46 that still counts towards this rank. So its got a much slower leading edge to to pick up the changes. Anyway on the TIOBE programming language rank
3:56 we have 5 for .NET and 3 for Python. And Python is going up there. I believe .NET is, actually, as well. Price, both of these are free.
4:04 You don't have to pay anybody, anything for them. You can use .NET and the associated tooling like Visual Studio Code or
4:10 Visual Studio Community edition for free. Same thing, Python obviously depending on the tools you pick you might buy a pay tool or not but yeah.
4:18 Python itself is absolutely free. Another important distinction is is this a general purpose programming language?
4:24 Some things, like R and Julia, Matlab they are not general purposes languages. You would never go and build YouTube in R.
4:33 But in this case .NET and Python are both very much on par here and they are absolutely general purpose programming languages.
4:39 Finally, the computing significa putting level. This is the, Jupyter Notebook type of work that we just explored earlier in the data science section.
4:47 Until very recently .NET would of gotten a fail here I've got a poor. And Python, would of course very, very strong as it, continues to be.
4:55 But .NET now, recently added the capability to have C# and F# type of code. In Jupyter Notebooks, so in that, in my world
5:04 that brings them up a little bit. But that does not bring in all these incredible libraries. Like Astropy and 800 Biology libraries that we found on
5:14 PyPi that is still, I would believe mostly missing in the .NET side. So Python definitely wins here but .NET is not as bad as some others.