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