Python for Decision Makers and Business Leaders Transcripts
Chapter: What is Python?
Lecture: Python is a full spectrum language
0:00 We've already seen the incredible growth of Python. We've seen how popular it is. But you have to ask yourself, why?
0:08 Yeah, I talked about data scientists moving into Python and then actually bringing a whole nother group of not just data scientists
0:14 but all the computational folks in all sorts of sciences and other disciplines such as economics. But that's a result. That's not why it's so popular.
0:26 That's other people coming along and finding it valuable. I've been thinking a lot about this. And the reason I believe Python is so popular
0:33 is it fills a pretty unique space in the realm of software development in programming languages. I've been a professional C++ developer
0:50 And as I go through these different languages I found a special and that it's what I'm calling a full spectrum language. Let me define that for you.
0:58 There are some programming languages that are really easy to get started with they're extremely productive for doing simple things.
1:07 At the very, very low end, we have things like the blocky Sketch programming languages they use to teach kids how to programme
1:14 some of these visual programming languages. But we also have things maybe like Visual Basic you know Visual Basic, it's kind of, can go pretty far
1:23 but it's really easy to get started with. But nobody would ever want to build an operating system with the Visual Basic.
1:31 So there are upper bounds what you might build with it they would never build YouTube or Instagram with Visual Basic.
1:37 There's these languages that are easy to get started with. They're very appealing to people that are not really wanting to be full on programmers
1:45 they just need to do a little bit of programming to get their job done. You know, the computational side things like MATLAB definitely fill this role
1:52 like I'm not a programmer but I need to make this stuff work so I need to visualize this graph or whatever
1:58 so I'm going to do this little bit of programming in MATLAB and make that happen. Again, MATLAB, you can't build YouTube you can't build desktop apps.
2:06 Right, you can just build simple visualization and analysis programs. On the other end of the spectrum
2:12 there are languages that are hard right from the beginning. They're meant to build huge professional applications
2:19 like C++ and C, or say, building Windows or Linux or Java or .NET, which are meant for building enterprise scale applications.
2:30 But how do you get started? You get started by addressing all of the complexity and all the structures put into those languages
2:37 from the beginning, just to do the simple things as well. How do you get started in C#? Well, you have a namespace, you have a class
2:46 and you have all these qualifiers and all kinds of stuff just to get the thing off the ground and going and it's built that way 'cause it's meant for
2:54 high end large scale software development but there's not like a simple cut down version of it. Python on the other hand, is all about starting simple
3:04 but for whatever reason, it's really well designed or its evolved this way. There's not really a strong upper bound or a strong lower bound.
3:12 You've already seen two full Python programs. The first one was at Hello, World thing where we passed the name that was three lines.
3:19 And even if you're not a programmer I suspect those probably made a lot of sense to you. There's not a bunch of craziness
3:25 and we haven't even talked about compiling and linking and all that weirdness. The other one was the Flask web app. And that was five lines.
3:33 There's probably one or two lines it was a little funky that you have to do in there but it was pretty simple.
3:38 Right, so you can get started incredibly easy as a scientist, as an economist I can look at this language and say
3:44 actually, those five lines right there that's understandable, and that solves my problem incredibly, that, that is what I need.
3:51 And you don't have to learn all this computer science stuff to get started. And yet, you don't grow out of Python, not usually anyway
3:59 there's a few cases where maybe but just generally, you don't grow out of Python. Python can scale up to build incredibly
4:06 huge applications and infrastructures. Much of the machine learning is done in Python. YouTube is written in Python
4:13 and it gets millions of requests per second millions of requests per second and it's implemented in Python.
4:20 Instagram, there's all these different things that are built in Python and these are large scale, serious applications maybe outside of the web space.
4:29 JPMorgan Chase has 35 million lines of Python running a lot of their internal important banking systems and software. So you don't grow out of Python
4:39 the same way you do some of these simple languages. And yet, it's easy to get started. And that's very appealing for a huge range of folks.
4:46 You have all the cool computer science techniques and infrastructure that you need to write real programs but you get to opt into it as you need.
4:55 That's what a full spectrum languages in my definition and Python is a standout among all of them for it.