Python Jumpstart by Building 10 Apps Transcripts
Chapter: Welcome to the course
Lecture: Python 2 or Python 3 and editors

Login or purchase this course to watch this video and the rest of the course contents.
0:00 Before we get to the actual apps that we are going to build, let's talk a little bit about the tools we are going to use,
0:06 how you use them up, and even just a little bit of history. The first question that you get a lot of times
0:12 when you start talking about Python, Python apps, Python course, is... what version of Python is it going to run on?
0:19 It turns out this is kind of a big question, so let's talk about that first. To appreciate this, let's look at the history of Python.
0:26 In the beginning, it came into existence as a concept in 1989, it was released in 1991, had a couple of major releases,
0:36 version 2 came out in 2003, today it's 2016. So, development started, version 1 was released, version 2 was released,
0:46 and then version 3 actually was a major breaking change to the Python code. The developers look back over the 17 years of experience
0:56 and said, what was good about Python and what things kind of gave people trouble, what would be a nice way to clean up the language,
1:03 so that it's solid going forward, and they made these breaking changes to Python 3 and expected people to move along pretty quickly.
1:11 Well, it's today, sometime in 2016 when this was recorded, and there is still a debate, should people be using Python 2
1:20 or should they be using Python 3, there is a lot of large code bases still running on Python 2,
1:24 the majority of large commercial applications are probably using Python 2, even though it's been 8 years Python 3 has been out.
1:31 However, there is something on horizon coming in 2020, they are going to make this a much simpler choice between the two languages.
1:39 First of all, the changes between Python 3 and Python 2 are not that major, if you write code in Python 3 chances are,
1:47 unless it's one of the advanced features "asyncio" or something like this, chances are it's going to work fine in Python 2,
1:53 but there are older ways in Python 2 that are not forward compatible, and I think that's actually the bigger problem.
2:00 So, if you learn Python 3 I feel like you have more well rounded ability to jump into either type of project,
2:06 but that said, in 2020, just 4 short years from now, Python 2 is going to be end of life. No more bug fixes, not sure about security fixes,
2:17 but definitely no more support, and to drive that point home, at PyCon, Guido Van Rossum, the guy who invented Python,
2:25 started out his keynote with this saying... "there will not be an extension to this policy",
2:31 this is it, only 4 years away before this being an absolutely clear choice, Python 3 is the future,
2:37 and that's why this course is designed with Python 3 in mind. So, in order to do this course, you are going to need to install Python 3.
2:46 And, we are going to talk about how to do that for each of the various operating systems. One question, is maybe you already have Python 3,
2:53 maybe there is nothing to do, so just knowing where Python is available, that's kind of good background knowledge.
2:58 Before we get into details to set it up each on these operating systems, let's answer the question- If I have Windows, do I have Python?
3:05 No, you have no version of Python, Windows does not ship with Python. Unfortunately, it just doesn't.
3:11 So, if you have Windows, you have users who are using Windows, you need to get them Python somehow, right?
3:18 On Linux, chances are at least on Ubuntu, you have both versions of Python, that's pretty awesome, maybe it's not the absolute latest,
3:25 maybe it's 3.4 and 3.5, but still, pretty darn good. OS X is somewhere in the middle, typically you have Python 2, but you don't have Python 3.
3:36 A little like the choice between Python 2 and Python 3 is somewhat contentious in the Python community, so as the editor you choose.
3:43 On one end of the spectrum you have people that use VI and Vim and Emacs, and these very light weight sort of shell friendly, ssh friendly editors,
3:53 and that's actually a very large percentage of the professional programmer's population for Python devs, and on the other end,
4:01 you have IDEs rich, full featured, large applications that bring all of your development tools together.
4:08 Sort of the premiere one of those, is the one I have here, and the one I am recommending for the course is PyCharm,
4:13 but we'll see a few other options as well. So, in editors like PyCharm you can edit of course and run your code, you can run unit tests, code coverage,
4:22 look, you have a graphical visualizations of your git history and commit changes, there is all sorts of stuff you can do here.
4:30 So I recommend to use PyCharm, when we get to the particular operating systems we'll talk more about that.
4:35 But if for some reason you don't want to use PyCharm, there are other options.
4:39 PyCharm has a free option for the community edition, but if you are on Windows,
4:44 you can also use Visual Studio and then plug in the Python tools for Visual Studio,
4:49 that's a nice free option, Microsoft has the community edition of Visual Studio and then the Python tools are open source and free,
4:56 so that's a really good choice actually, just a bare notch under PyCharm, but really good, if you are into the IDEs, if you are not into the IDEs,
5:06 choose something like Sublime text or Atom by GitHub.

Talk Python's Mastodon Michael Kennedy's Mastodon