I am working on next year’s courses already. Programming is an elective so I have to sell the course to the students. I want something ready now to convince them to sign up. I have six freshmen and one sophomore coming up but I want some upper classmen to jump in. I need to find some Juniors and some more Sophomores that are looking at STEM for college and would therefore be good candidates for a Python course. I teach a dual-credit Python course and the college credit is only available to Juniors and Seniors. I do not offer Python to Freshmen and Sophomores for that reason. Many of these Juniors and Seniors will be first time programmers so I need things to initially go smoothly. Things like having the installation instructions for Python and the IDE of choice laid out. The Python IDE or editor of choice also has to be simple enough to be easy to use for a beginner but not so limited that it restricts what we want to do. My programming courses are BYOD so whatever editor I use has to work on whatever is carried through the door. Even a Mac. So the digging begins.
Previously I used PyScripter with Python 3.4. Python is now 3.6 (or 2.7 depending on the version you want to go with) and PyScripter has not been updated to work with newer versions, and it looks like it is not going to be updated. (This is a major issue with free stuff. Updates can be few and far between.) So I was off to Googleland looking for something new. It has to be simple to use, simple to install and/or set up and free. Right now I am just Googling and trying editors. How many are there? Lots and lots (just Google “Python editor”) but that simple to setup criterion can be a killer. It killed Eclipse right off the bat. Sublime Text 3 went down in flames. Visual Studio was not bad if you found the right website that gave the correct instructions. I did and it worked but it sort of misses the simple to use thing. File management with VS is a bit of a pain. Visual Studio Code (a simplified version of VS) does not seem to do anything when I run my simple little draw a polygon test program. It fails the simple to use test. I tinkered with IDLE for a while. It is nice that it is the native Python editor but I am lazy and like the auto complete feature other editors have built in. Supposedly IDLE has autocomplete (I have the feature turned on) but it seems to have a minor issue, it does not work. Things that do not work are bad. I try not to use bad things in my classes. It seems to frustrate the students. PyCharm. Easy to install, has a little green arrow to run the code, console is there by default, not a large number of never to be looked at options, autocomplete works, simple as a brick. Folks, I think we have a winner. Of course PyCharm sort of cheats. It was written to be an editor for Python exclusively. The other editors I looked at (other than IDLE) are multi-language so of course there are going to be setup issues. I want something that is initially brick simple. A professional programmer is maybe going to want more features than PyCharm offers but we are not professional programmers. Brick simple wins.
When teaching beginners the more distractions, frustrations or simple confusion the uglier it can get. Frustrate new programmers early and they are pretty much done for the semester. If their first experience is a messy setup with an editor then there is going to be trouble.
The same can be said about beginning programming teachers. I help teachers that have no programming background. They have been asked to get a CS/programming curriculum started in their school. That first language/IDE/editor has to be brick simple. Eventually that beginning teacher has to leave Scratch and Small Basic to step up to a college level language. Python with a good simple editor is an obvious step.