<p>If you’re interested in developing algorithms, I’ve found <a href="https://jupyter.org/" rel="nofollow noreferrer">Jupyter Notebook</a> to be a great way to develop Python (or R).</p>

<p>It lets you develop in a “web page” and everything displays in a browser.</p>

CC BY-SA 4.0
2019-07-07T17:46:54.273Z
2019-07-07T17:46:54.273Z
Peter K.
<p>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)</p>

CC BY-SA 4.0
2019-06-27T15:48:41.977Z
2019-06-27T15:48:41.977Z
YCN-
<p>I would really recommend Pyzo(formerly known as IEP) especially because of these three reasons:</p>

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

CC BY-SA 4.0
2019-10-11T23:09:52.737Z
2019-10-11T23:09:52.737Z
csabinho
<p>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. </p>

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

<p>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. </p>

<blockquote>
  <p>a lot of their mistakes are because the tool told them to</p>
</blockquote>

<p>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. </p>

CC BY-SA 4.0
2019-10-12T00:46:55.753Z
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!
csabinho
CC BY-SA 4.0
2019-10-12T18:24:08.920Z
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.
Ryan Nutt
CC BY-SA 4.0
2019-10-12T18:59:50.627Z
"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.
csabinho
CC BY-SA 4.0
2019-10-13T02:22:58.633Z
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.
Ryan Nutt
CC BY-SA 4.0
2019-06-27T16:00:23.067Z
2019-06-27T16:00:23.067Z
Ryan Nutt
<p>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.</p>

CC BY-SA 4.0
2019-06-27T20:09:14.907Z
2019-07-07T14:19:39.420Z
2019-07-07T14:19:39.420Z
Garth Flint
<p>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. </p>

<p>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. </p>

<p>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. </p>

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

CC BY-SA 4.0
2020-08-11T22:24:53.787Z
Is this a myth "it took a long time to lean eclipse, therefore I won't learn a simpler one." However if the IDE is simple then it is quicker to learn 3 of them, than to learn one. Yes, you won't get that accumulation of knowledge. So may be switch to a more powerful one the 2nd time. I used to use `emacs` for the same reason (I can use it for all languages, operating system, and times that I have visited (1991 to 2020 so far). I now mostly program with `sed` ☺.
ctrl-alt-delor
CC BY-SA 4.0
2019-06-27T10:14:21.083Z
2019-06-27T10:14:21.083Z
Buffy
<p>I start my students on <a href="https://blockly.games/" rel="nofollow noreferrer">Blockly</a> for coding, as I find it is really useful to develop some algorithmic thinking.  There is a <a href="https://developers.google.com/blockly/" rel="nofollow noreferrer">developer section</a> where you can create code with blocks (like Scratch) and "see" the equivalent Python/Javascript/Lua/PHP/Dart.</p>

<p>We use NotePad++ for html and css but will swap to Atom.io next year (most like Sublime Text but free). When we start coding in Python, we use the same text editor for this as well, and so the class must use the terminal/shell to navigate to the file location and run their code.</p>

<p>As other answers suggest, there are no supports in Notepad++ such as autocomplete or autoindent.  Learners really have to get used to doing it for themselves.  After a few weeks, I introduce the <a href="http://pep8online.com/" rel="nofollow noreferrer">PEP8 check</a>.  There is also an auto-correct version <a href="https://www.tutorialspoint.com/online_python_formatter.htm" rel="nofollow noreferrer">here</a> but I don't show this until they have worked on fixing some code in class. </p>

<p>We are waiting to have Thonny installed as it looks like the <strong>best IDE for Python Beginners</strong> imho.  I know learners last year struggled with PyCharm, which is my own preferred IDE.  There are many great IDEs out there, but from my evaluation of them all, I have settled on Thonny as a great "beginner" IDE and PyCharm as my preferred "intermediate" IDE, although there is little difference with Eclipse or Visual Studio Code imho.</p>

<p>Hope this helps!</p>

CC BY-SA 4.0
2019-11-01T18:55:13.737Z
2019-11-01T18:55:13.737Z
srattigan
<p>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.</p>

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

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

<p>Any recommendations?</p>

CC BY-SA 4.0
2019-06-27T14:51:17.100Z
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.
ctrl-alt-delor
CC BY-SA 4.0
2019-07-09T02:13:42.723Z
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.
TooManyCooks
<best-practice><python><adult-education><ide>
Python IDE for beginners
# Python IDE for beginners

(Asked by: username_0 on 2019-06-27)

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?

**Tags:** best-practice, python, adult-education, ide

> **Comments:**
> **username_1**: 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.  
> **username_2**: 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.  

---

## 7 answers

### Answer by username_6 on 2019-06-27. Score: 4 | Accepted answer

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.

> **Comments:**
> **username_5**: 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!  
> **username_6**: 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.  
> **username_5**: "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.  
> **username_6**: 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.  

---

### Answer by username_7 on 2019-06-27. Score: 4

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.


---

### Answer by username_8 on 2019-06-27. Score: 2

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.

> **Comments:**
> **username_1**: Is this a myth "it took a long time to lean eclipse, therefore I won't learn a simpler one." However if the IDE is simple then it is quicker to learn 3 of them, than to learn one. Yes, you won't get that accumulation of knowledge. So may be switch to a more powerful one the 2nd time. I used to use `emacs` for the same reason (I can use it for all languages, operating system, and times that I have visited (1991 to 2020 so far). I now mostly program with `sed` ☺.  

---

### Answer by username_9 on 2019-11-01. Score: 2

I start my students on [Blockly](https://blockly.games/) for coding, as I find it is really useful to develop some algorithmic thinking. There is a [developer section](https://developers.google.com/blockly/) where you can create code with blocks (like Scratch) and "see" the equivalent Python/Javascript/Lua/PHP/Dart.

We use NotePad++ for html and css but will swap to Atom.io next year (most like Sublime Text but free). When we start coding in Python, we use the same text editor for this as well, and so the class must use the terminal/shell to navigate to the file location and run their code.

As other answers suggest, there are no supports in Notepad++ such as autocomplete or autoindent. Learners really have to get used to doing it for themselves. After a few weeks, I introduce the [PEP8 check](http://pep8online.com/). There is also an auto-correct version [here](https://www.tutorialspoint.com/online_python_formatter.htm) but I don't show this until they have worked on fixing some code in class.

We are waiting to have Thonny installed as it looks like the **best IDE for Python Beginners** imho. I know learners last year struggled with PyCharm, which is my own preferred IDE. There are many great IDEs out there, but from my evaluation of them all, I have settled on Thonny as a great "beginner" IDE and PyCharm as my preferred "intermediate" IDE, although there is little difference with Eclipse or Visual Studio Code imho.

Hope this helps!


---

### Answer by username_3 on 2019-07-07. Score: 1

If you’re interested in developing algorithms, I’ve found [Jupyter Notebook](https://jupyter.org/) to be a great way to develop Python (or R).

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


---

### Answer by username_4 on 2019-06-27. Score: 1

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)


---

### Answer by username_5 on 2019-10-11. Score: 1

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


---

