PyCharm Edu: Python IDE to Learn Programming Quickly and Efficiently
jetbrains.com
jetbrains.com
Q: "How does PyCharm Edu differ from PyCharm Professional Edition or PyCharm Community Edition?"
A: "PyCharm Edu is based on the Community Edition and comprises all of its functionality. Additionally, it installs and detects Python during installation. It has a simpler UI (adjustable in settings) and adds a new "Educational" project type.
PyCharm Professional Edition additionally supports different web development technologies, has remote development capabilities and additional languages, and supports working with databases."
I'm pretty partial to the VS Code and command line approach, myself. It teaches you basic command line stuff, which is good for anyone learning CS in the long run, and it teaches you how to NOT rely on an IDE for most of your syntax and semantics which is enormously helpful for those starting out (even though the learning curve is a bit steep).
IDEs are so bulky and heavyweight, they just feel like they'd get in the way for Python. Especially JetBrains IDEs... they're just so slow and bloated (back when I did Java, I always preferred NetBeans over IntelliJ).
Some people try to turn vim into an IDE. Personally I like to use a real IDE when I feel like I need it (when I'm working in an unfamiliar codebase or when I need to debug).
I love vim for writing small programs (command line utilities and client side JavaScript) and editing code (such as HTML, CSS, LaTeX). For single page web applications the best IDE for me is the browser in combination with a simple text editor.
I'm also not convinced that depriving new programmers of real-time syntax checking actually helps them learn. Wouldn't immediate feedback help them memorize the correct syntax?
Even if you do invoke the interactive mode in PyCharm, each execution creates a separate prompt, causing confusion. I'll admit I'm not the most skilled PyCharm-user. Perhaps there's a way to make it work like IDLE?
I'm hoping I simply overlooked something.
TIL
The other thing I'd like to see is more intelligent defaults for project location. On Windows, it defaults to the C drive, which is fine except for when students don't know where their documents folder is buried. Putting a git repo in a system folder breaks git because of permissions, but the UI will never tell you that.
I was dismayed to see the amount of time my first-time-programmer CS classmates had to spend navigating directories to locate functions and dealing with typo-based compile errors that would have been fixed immediately with an IDE. We should not be teaching new programmers that this is normal. Language and type aware autocomplete, inline syntax error and undefined symbol highlighing, and go-to-definition are things you should always expect from your programming environment.
Sure you can set up an editor to do these things, but that's a project in itself, and the results tend not to be nearly as good as "just use the JetBrains product."
Python also has the built-in ``help`` and ``dir`` for reminding yourself about features. No need to rely on the IDE when the language has you covered.
Unfortunately with Python, for to the nature of the language, there are often things pycharm can't call out. There are other times where pycharm says it won't work, but in fact it will (happens a lot with turtle, but imports in general are challenging). This isn't a criticism of pycharm so much as a challenge for any IDE with Python; VS Code gets it wrong more often than not as well.
Another option is Thonny - a Python IDE for beginners.
I wouldn't have bought an i5 with 4 GB of RAM and 128 SSD for my sw development job in 2013. I had a Core Duo 2 with that much RAM from 2006 at the time (well past its end of life). That was still pretty ok CPU wise but the memory became really tight. I could make it faster with a SSD but it wasn't worth it.
I bought an i7, 16 GB (up to 32 GB) laptop at the beginning of 2014, with a 750 HDD that I swapped with a 1 TB SSD an year later.
I had a MacBook Pro 15" (far better spec'd) at the time, but left it at home/work due to size and weight. The 11" Air fits "everywhere" and still has a full size keyboard and a good trackpad.
My Late 2013 MacBook Pro (bought early 2014) is a 2,3GhZ i7, 16GB memory and 500GB SSD. Compiling, VirtualBox/Parallels and Docker is less painful, but 99% of the time the old 11" Air is good enough.
PyCharm, Django and PostgreSQL runs ok, but it's too slow for docker.
Anything slower is useless for (modern) development and if you're a student on a budget there's loads of used or refurbished PCs on ebay costing $100 or even less.
I have a lot of respect for the iterative improvements they make on all their products (I've use nearly all of them).
What JetBrains needs to do is create a good series of instructional videos to show how they intend these products to be used. They are excellent and very powerful but you are left to peek and poke around to figure out how they intended you to use and configure them. The various videos available, last time I looked, are seriously outdated. For example, there are a bunch of different ways to work with PyCharm and Django.
The other thing they need to do is improve their customer service. The couple of times I needed an answer not found on sites like SO it took something like 3 to 5 days to get an answer from them.
Can you let me know if this is the kind of thing that you're talking about?
Do you cover Django integration at all?
Subjects such as remote development (You sit at your windows machine while developing and running code on a Linux server elsewhere or on a local VM) and deployment under various scenarios would be useful (for example, best way to deal with deployment to separate application and database servers).
In general terms, a bunch of IDE's can provide a project tree on the left and code completion. In the course of easy-to-follow tutorials it would be great to highlight and teach how to use benefits PyCharm offers that add value to the product.
Without this guidance people are left to poke around and sometimes fail to get it.
A few years ago I had a situation where I wanted a client to switch from SublimeText (an excellent product) to PyCharm. Probably a hundred seats or more. A lot of resistance to IDE's in general. Three hour videos from PyCon are deal-breakers, nobody but the most interested are going to watch them. And JetBrains didn't have anything I could use. It looks like things might be different now.
Thanks!
https://sourceforge.net/projects/pyscripter/
(not affiliated but I want to support it by bringing it to your awareness)
It's a native IDE, it's fast, doesn't crash, there is a portable version as well. I use it for the last four or five years when developing in Python.
It supports CPython, IronPython, IPython, IntelliSense, mixed Python/C++ debugging, remote debugging, profiling, etc. And best of all? It's also open source.
If you program python (especially Django), you should give PyCharm a go!
I dug around the site a bit and found the quote above, but didn't find a link to the source. Anyone find one?
https://github.com/JetBrains/intellij-community/tree/master/...