00:0.04 When you think about the type of application you're going to use the right code,
00:3.94 You gotta understand there's an entire spectrum of choices out there. On the simplistic,
00:9.08 quick, simple side. There's things like Emacs and Vim,
00:13.44 Here's Emacs running over in the terminal in my Mac,
00:16.66 I could be SSH into a server and just editing code right there
00:20.58 by the way, don't do that.
00:22.48 Use source control, use continuous deployment.
00:25.44 But I could I could, I'm not a big fan of working with Emacs or
00:29.62 Vim or those types of applications.
00:31.45 Let me tell you why. First,
00:33.32 they don't really focus on projects or applications that are consisting of many,
00:38.15 many files. They're focused on working on one file. Here,
00:41.5 We're focused on working on this program '.py' file and we're gonna go do stuff
00:45.88 with that. Often in real professional applications,
00:49.1 we have many files that link together and if it's a web app,
00:51.77 you have many, many files that link together.
00:54.23 CSS,minified.css, Javascript,
00:56.42 html templates and the views and the data access layers and so on What I find
01:1.76 them. People work in these tools there very often build applications that are maybe one
01:6.42 particular file just like one huge 3000 line Python file because it's easy to navigate within
01:12.03 files, but it's painful to navigate across files.
01:15.54 So things like Refactoring across the entire application,
01:18.36 they don't work really well and auto complete for things that are not contained within that
01:22.44 file don't work that well and so on.
01:24.96 I see this as let's run the lowest common denominator thing that I can run everywhere
01:29.64 and if I might have to run,
01:31.16 say ssh into a server, I'd still like to build.
01:34.73 It is the same tool. Well,
01:35.92 that's great. It's cool that you use the same tool,
01:38.5 but the drawback is you're choosing the least set of functionality,
01:42.56 the lowest common denominator for your day to day work,
01:46.0 just so that you have this opportunity to maybe edit over eternal,
01:48.78 which I think is not the right way to do it.
01:50.79 So I'm not a big fan of doing this.
01:52.84 I think it leads to patterns of really large single file apps and it doesn't give
01:56.96 you all the functionality that is honestly out there in other apps.
02:1.14 Another option in the spectrum, somewhere in the middle is V.S code
02:4.09  V.S code is very popular with python developers these days
02:6.88 no doubt. And it is a good application.
02:9.44 I use V.S code myself.
02:10.8 When I'm working on simple little projects,
02:12.49  Just want to open this file or maybe change a few things here and there
02:15.23 really quick. But to me,
02:17.46 even though V.S code has a ton of features and it adds a lot
02:20.65 of things, it just doesn't quite do it as seamlessly imperfectly as PyCharm.
02:25.73 For example, it has auto complete for certain things,
02:28.46 my experiences when I use it,
02:30.0 it just not quite as complete and it's not always understanding how things are going.
02:34.38 So it's a good thing to use V.S code
02:35.9  But I find it's not quite as polished for working on python apps
02:39.81 as PyCharm. Speaking of PyCharm there it is,
02:42.71 You can see we've got our project there on the left,
02:45.07 there's all sorts of files. There's actually a sub folder under that wizard '07_wizard_battle'
02:49.75  called final. And those two things are being treated as a single application.
02:54.14 All sorts of cool stuff. You can do the organize your code in the bottom
02:58.16 or running the code. This little wizard game that we built on the right,
03:1.4 you can see there's a database in a scientific view.
03:4.24 If this app use the database we could go look at the database diagrams and we'd
03:7.88 actually get auto complete inside of our code that understands that database,
03:12.9 all sorts of cool stuff that you can do in there and that's what we're going
03:15.77 to dive into. But the thing I want you really take away is specially 
03:19.76 PyCharm but V. S. Code to some degree as well allows you to work
03:22.58 with sets of files as an application which is a really important aspect.
03:27.31 And you'll see that the tools that PyCharm uses. It brings them back in the PyCharm better than any other apps.
