Effective PyCharm (2021 edition) Transcripts
Chapter: Why PyCharm and IDEs?
Lecture: The spectrum of editors
0:00 When you think about the type of application you're going to use the right code,
0:03 You gotta understand there's an entire spectrum of choices out there. On the simplistic,
0:09 quick, simple side. There's things like Emacs and Vim,
0:13 Here's Emacs running over in the terminal in my Mac,
0:16 I could be SSH into a server and just editing code right there
0:20 by the way, don't do that.
0:22 Use source control, use continuous deployment.
0:25 But I could I could, I'm not a big fan of working with Emacs or
0:29 Vim or those types of applications.
0:31 Let me tell you why. First,
0:33 they don't really focus on projects or applications that are consisting of many,
0:38 many files. They're focused on working on one file. Here,
0:41 We're focused on working on this program '.py' file and we're gonna go do stuff
0:45 with that. Often in real professional applications,
0:49 we have many files that link together and if it's a web app,
0:51 you have many, many files that link together.
0:56 html templates and the views and the data access layers and so on What I find
1:01 them. People work in these tools there very often build applications that are maybe one
1:06 particular file just like one huge 3000 line Python file because it's easy to navigate within
1:12 files, but it's painful to navigate across files.
1:15 So things like Refactoring across the entire application,
1:18 they don't work really well and auto complete for things that are not contained within that
1:22 file don't work that well and so on.
1:24 I see this as let's run the lowest common denominator thing that I can run everywhere
1:29 and if I might have to run,
1:31 say ssh into a server, I'd still like to build.
1:34 It is the same tool. Well,
1:35 that's great. It's cool that you use the same tool,
1:38 but the drawback is you're choosing the least set of functionality,
1:42 the lowest common denominator for your day to day work,
1:46 just so that you have this opportunity to maybe edit over eternal,
1:48 which I think is not the right way to do it.
1:50 So I'm not a big fan of doing this.
1:52 I think it leads to patterns of really large single file apps and it doesn't give
1:56 you all the functionality that is honestly out there in other apps.
2:01 Another option in the spectrum, somewhere in the middle is V.S code
2:04 V.S code is very popular with python developers these days
2:06 no doubt. And it is a good application.
2:09 I use V.S code myself.
2:10 When I'm working on simple little projects,
2:12 Just want to open this file or maybe change a few things here and there
2:15 really quick. But to me,
2:17 even though V.S code has a ton of features and it adds a lot
2:20 of things, it just doesn't quite do it as seamlessly imperfectly as PyCharm.
2:25 For example, it has auto complete for certain things,
2:28 my experiences when I use it,
2:30 it just not quite as complete and it's not always understanding how things are going.
2:34 So it's a good thing to use V.S code
2:35 But I find it's not quite as polished for working on python apps
2:39 as PyCharm. Speaking of PyCharm there it is,
2:42 You can see we've got our project there on the left,
2:45 there's all sorts of files. There's actually a sub folder under that wizard '07_wizard_battle'
2:49 called final. And those two things are being treated as a single application.
2:54 All sorts of cool stuff. You can do the organize your code in the bottom
2:58 or running the code. This little wizard game that we built on the right,
3:01 you can see there's a database in a scientific view.
3:04 If this app use the database we could go look at the database diagrams and we'd
3:07 actually get auto complete inside of our code that understands that database,
3:12 all sorts of cool stuff that you can do in there and that's what we're going
3:15 to dive into. But the thing I want you really take away is specially
3:19 PyCharm but V. S. Code to some degree as well allows you to work
3:22 with sets of files as an application which is a really important aspect.
3:27 And you'll see that the tools that PyCharm uses. It brings them back in the PyCharm better than any other apps.