2
$\begingroup$

With a bunch of colleagues we will start learning Python together. I'm a programmer, but I'm new to python. Most of my colleagues know some VBA, but are generally new to programming.

What IDE do you suggests? Features I'm looking for: simple interface, some debugging features, autocomplete, inline help, intlisense.

Thonny IDE looks promising, super simple to install with bundled Python interpreter, it does have autocomplete, but is nowhere near Visual Studio levels of inline help (like intellisense or pupup tooltips etc.).

Any recommendations?

$\endgroup$
  • $\begingroup$ Keep it simple: intellisense and the equivalent in Eclipse, push my students in the wrong direction, a lot of their mistakes are because the tool told them to. e.g.It does not promote test-driven / test-first. $\endgroup$ – ctrl-alt-delor Jun 27 at 14:51
  • $\begingroup$ I do like Thonny. Simple debugging, and your audience has some experience. I like how Thonny opens up a new window for a function when you step into it. $\endgroup$ – TooManyCooks Jul 9 at 2:13
3
$\begingroup$

I'm not a fan of full IDEs for beginners. A few years ago I switched my first year students (Java) from NetBeans to an online tool without any autocomplete or helpers for most assignments and found that they've gotten way stronger at writing code. I think the automatic stuff that helps out while programming becomes a crutch for newbies.

Our intro teacher, who teaches Python, really likes Idle for his first year students because it's so simple.

I've also used PyCharm with second and third year students, and really like it. It's what I personally use when I'm writing Python code. The free community edition is plenty for classroom use, but they've also got free licenses for students, teachers and classroom labs if you wanted to use the pro version.

a lot of their mistakes are because the tool told them to

So much this. When NetBeans highlights something in yellow, students feel that they have to click on it and follow the programs advice even when they have no clue what it's saying.

$\endgroup$
  • $\begingroup$ Regarding the last paragraph: wouldn't it be better to raise general awareness and have a few lessons about common error messages and hints than prohibiting students to use tools that are used almost everywhere in real life? Of course you have to try to change the trained mindset of your students, but they will benefit from this their whole life! $\endgroup$ – csabinho Oct 12 at 0:46
  • $\begingroup$ I'm okay with it highlighting error messages. That's not what I'm talking about here. It's when NetBeans suggests another way of writing a loop or condition, or something else. But it's usually a loop or condition. Usually, when it does that the suggestion is out of scope for the course I'm teaching or whatever it suggests confuses the student. Sometimes it's something we just haven't gotten to yet. They go with it because it works, but have no clue why. $\endgroup$ – Ryan Nutt Oct 12 at 18:24
  • $\begingroup$ "They go with it because it works, but have no clue why." Nobody should EVER do this when learning to code. Maybe you'll have to stress this a bit more. Or let the students explain their submitted code, if the size of your class allows it. $\endgroup$ – csabinho Oct 12 at 18:59
  • $\begingroup$ Agreed. That's why I prefer to not use an IDE that drops hints with my intro students whenever possible. I want to see their solution, not the editor's solution. $\endgroup$ – Ryan Nutt Oct 13 at 2:22
3
$\begingroup$

Visual Studio Code. Easy to set up and designed to be simple. I used to use PyCharm and PyScripter with good results. VSC is more versatile. Eclipse is a management pig for beginners. You have to learn Eclipse along with learning Python. Eclipse is great for pros.

$\endgroup$
2
$\begingroup$

My preference might be different from most, but some of the things you seem to be asking for are inconsistent. For me, an "IDE for beginners" is one that doesn't need to be abandoned for a different language. Once you spend the time to learn it, you can adapt it to anything. For me, also, that means a professional level IDE like Eclipse, which I now use for everything.

But Eclipse isn't, technically, just and IDE, but a plug-in platform. You can plug in just about any language, but you can also plug in UI elements that can tailor it to beginners, say, showing fewer elements - or more. But anyone who can handle Visual Studio won't be put off by Eclipse.

It supports just about anything you could want as a programmer, including unit testing. And, like riding a bicycle, once you know it, you know it.

Note: I'm not affiliated with Eclipse. Just a long-time user.

$\endgroup$
1
$\begingroup$

Why would you use an IDE anyway ? You can go directly with command line, either with Linux or Windows, you'll just need a text editor and a command line terminal and here you go. (I recommend Sublim Text)

$\endgroup$
1
$\begingroup$

If you’re interested in developing algorithms, I’ve found Jupyter Notebook to be a great way to develop Python (or R).

It lets you develop in a “web page” and everything displays in a browser.

$\endgroup$
1
$\begingroup$

I would really recommend Pyzo(formerly known as IEP) especially because of these three reasons:

  • it's lightweight, so it works with any laptop if it is fast enough for the operating system
  • it's simple and NOT too packed with features
  • it includes an IPython console which uses the major advantage of interpreted languages that they are, Hello Captain Obvious, interpreted on the fly
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.