Effective PyCharm Transcripts
Chapter: Why PyCharm and IDEs?
Lecture: The spectrum of editors

Login or purchase this course to watch this video and the rest of the course contents.
0:01 Of course, there's an entire spectrum of editors. On one hand, we have things like Emacs or Vim that are super fast to start,
0:10 they can run anywhere because they'll run in a terminal or a command prompt, something like this,
0:16 and you can use them if you're ssh-ed into a server, you can use them wherever, and these are powerful editors, but they're very much focused on,
0:25 "I'm going to edit a single file," and while they are powerful and people who are really master of these things
0:32 can make them sing— they are not as powerful as PyCharm, they do not bring all the tooling together in one place and understand all of the project,
0:42 all the different files and pieces fitting together. For example, if I was working on an HTML file or an HTML template
0:49 that was rendered to a Jinja 2 or Chameleon template, rendering static files that were also being passed
0:58 like some sort of model data from like a web framework, it's unlikely that Emacs is going to be able to understand
1:06 the static file structure, the CSS files, the Javascript files the data being passed from the web server, all those sorts of things.
1:13 It doesn't have a totally great understanding and it's really focused on editing a single file which does lead to certain types of programming styles
1:22 and an organization for Python projects namely putting a lot of code into a single file. Somewhere in the middle of the spectrum
1:30 I would put things like Sublime Text and Atom and to maybe a little lesser degree Visual Studio Code
1:36 these are the more lightweight editors but they are GUIs, as you can see this is a Mac application,
1:42 this Sublime Text right here, but of course it runs on other platforms as well, but this is a GUI application right,
1:49 you wouldn't run this on the server when you are ssh-ed in. So, there are limitations to using it, but it does understand more files,
1:55 it does have this little folder thing on the left, there is lots of plugins, it does a lot of cool things and it's nice,
2:03 I would say this is a little more heavyweight than things like Emacs, a little more restricted in where it runs
2:08 but not as holistically understanding of what you're up to as an IDE. Speaking of which, there's PyCharm,
2:15 and it's one of the various IDEs that we can use for Python. It understands a lots of stuff about our code,
2:23 you can see we've got our project structure, it has a little runner down here, up in the top right it has the database.
2:29 Now this app doesn't actually talk to the database but if it did, it would have a database view, I could generate UML diagrams from my data,
2:37 or I could have a query window with auto completion pop-up. It's more heavyweight, it takes more to start, more to install and things like that,
2:47 but it's definitely worth it in my opinion. What we should be optimizing for is programmer productivity,
2:55 not rapidness of tools or efficiency of memory or something silly like that when memory is cheap and our computers are fast.
3:02 So, I would say you should want to think about where PyCharm lands on the spectrum
3:07 and I would put it at the far right, on the IDE of big heavyweight tool but I think it's also a big, powerful tool that is worth it.


Talk Python's Mastodon Michael Kennedy's Mastodon