Readit News logoReadit News
mathnode · 9 years ago
From the FAQ:

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."

NotQuantum · 9 years ago
As someone who's written / taught a CS intro class in Python. This is a nice addition to my tool belt. When I taught labs, we used a really crappy Python IDE that consistently froze and would delete student's code.

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).

emodendroket · 9 years ago
Not using an IDE just strikes me as an exercise in pointless masochism.
bayonetz · 9 years ago
Don't tell that to my Vim- and Sublime-loving coworkers...they'll look at you like you're some idiot who must not be able to program very well.
amyjess · 9 years ago
For Java I'd agree, but for Python I've always preferred a good programmer's editor. I tend to use either Vim or Kate, depending on whether I'm in a CLI or a GUI mood.

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).

toomuchtodo · 9 years ago
When I tried to learn Python the first time, it was with vim. I would not recommend that path (VS Code user now).
xapata · 9 years ago
Unfortunately, PyCharm does not (by default) encourage the wonderfully productive development pattern of ``python -i`` -- running the script and breaking into the interactive prompt afterwards. IDLE does this and it's excellent for teaching. Any other technique and the students are much less likely to develop the habit of testing/debugging code interactively in the REPL.

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?

globalgoat · 9 years ago
I think I tend to agree here. I've taught a few terms of the Python courses through @codeclub to primary school children in the UK (aged 10-11) using IDLE and it works well. It's also worth considering that IDLE is a relatively lightweight install and on the network at the school that I teach at, everything is extremely locked down and installing anything causes an amount of pain. That said I think I'll still investigate.....
gmu3 · 9 years ago
This is a bit different but in PyCharm you can set a breakpoint and then in the debugger open up a window where you can evaluate arbitrary expressions with that context before continuing.
xapata · 9 years ago
I like to introduce debuggers/breakpoints after teaching functions and classes. That way I can explain the purpose of a debugger as bringing back the interactivity of the REPL despite hiding variables in local scopes.
pauleveritt · 9 years ago
The run configurations let you check a box that drops you into the interpreter console afterwards. If you install iPython, it will be used. Is that describing what you're looking for?
xapata · 9 years ago
Not quite. If you re-run the script it creates a new console rather than restarting in the current. That leads to an awkward proliferation of consoles with no keyboard shortcut to close them. I encourage my students to run code very frequently.

I'm hoping I simply overlooked something.

bsg75 · 9 years ago
> the wonderfully productive development pattern of ``python -i`` -- running the script and breaking into the interactive prompt afterwards

TIL

Deleted Comment

petra · 9 years ago
AFAIK, PyCharm doesn't have good auto-completion in the REPL, right ? Any decent alternative ?

Deleted Comment

pauleveritt · 9 years ago
If you install iPython into your project interpreter, it will be used.
nxc18 · 9 years ago
I like this a lot. My uni just switched to Python from IDLE a few years ago. While its nicer than IDLE, the complexity of the IDE can be a bit much for novices. Heaven help you if you accidentally select the wrong python interpreter at project startup, for instance.

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.

closeparen · 9 years ago
I disagree. Misspelling symbols and forgetting function names and signatures is a waste of time that distracts from what you're really learning.

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."

xapata · 9 years ago
IDLE has pretty decent auto-complete. I've found that teaching with IDLE first, then switching to PyCharm (or other more full-featured environments) after they've learned the basics produces better programmers.

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.

nxc18 · 9 years ago
I agree. When I'm tutoring students and they have a problem I point out things like 'Find Usages' and the 'go to' menus. Those things are useful.

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.

open-source-ux · 9 years ago
>My uni just switched to Python from IDLE a few years ago

Another option is Thonny - a Python IDE for beginners.

http://thonny.org/

iamcreasy · 9 years ago
This is great. The step by step debugger should be very useful to beginners.
pauleveritt · 9 years ago
(I'm the PyCharm Developer advocate.) You're right, we need to do some thinking regarding a project's "environment". It's something we're talking about now.
ben_jones · 9 years ago
Also jetbrains products are java-based and can bog down low powered machines to a point of frustration.
woof · 9 years ago
PyCharm works fine on my 2013 Macbook Air 11" (1,3GhZ i5 with 4GB RAM and a rather slow 128GB SSD).
rebootthesystem · 9 years ago
JetBrain products user, including PyCharm.

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.

pauleveritt · 9 years ago
FWIW, around a year ago I did the getting started videos: https://www.youtube.com/playlist?list=PLQ176FUIyIUZ1mwB-uImQ...

Can you let me know if this is the kind of thing that you're talking about?

rebootthesystem · 9 years ago
Yes! Looks very nice. I can now point people to an easy set of videos to understand how to use PyCharm to develop Python products. I will watch them all when I have some time.

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!

0x8146 · 9 years ago
I love it. And I will religiously see through the entire course. Thanks JetBrains guys
binarray2000 · 9 years ago
For those of you working on Windows, may I suggest PyScripter:

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.

JohnnyChase · 9 years ago
Along the same lines, there is the awesome Python Tools for Visual Studio plug-in that turns Visual Studio into full fledged Python IDE: https://microsoft.github.io/PTVS/

It supports CPython, IronPython, IPython, IntelliSense, mixed Python/C++ debugging, remote debugging, profiling, etc. And best of all? It's also open source.

woof · 9 years ago
PyCharm is awsome! And I say that as a 20 years+ (and counting) emacs user.

If you program python (especially Django), you should give PyCharm a go!

singularity2001 · 9 years ago
All of jetbrains products are awesome. Everyone I convinced about this thanked me afterwards.