Development Environments (IDEs) for Python

Development Environments (IDEs) for Python

As someone at the beginning of their journey into Python, I thought now would be a good time to start looking at IDEs (Iteractive Development Environments) for Python.

What We'll Look At

We'll consider IDEs in active development and look at a mix of paid and free / open-source options.

As I'm mostly developing on Windows currently we'll start by looking at 3 IDEs using Windows Platform, most likely Visual Studio, PyCharm and Wingware.

Then we'll follow up with 3 IDEs using Linux, probably IM, VS Code and Notepad++ or Eirc).

What's Wrong with a Plain Text Editor?

You've probably had a discussion before about whether or not to use an IDE or just use an editor such as VIM or Notepad.

I'll point you at the following discusssions on whether or not an IDE is worth it.

Personally I've used Notepad, Visual Studio, Dreamweaver, Notepad++ and RStudio but found editors to be useful on complex projects or once you've invested the time into getting used to a particular one!

How do you Judge an IDE

What makes a good IDE is highly subjective but we'll going to look at the following criteria:

  1. Programming Features. Features that help in creating code such as syntax highlighting, intellisense and code navigation.
  2. Ease of Use. What's the learning curve and complexity of the IDE like. Is it something that is a intuitive and consistent with other IDEs.
  3. Community Support. The availability of tutorials, places to ask questions and places where you can find more information are important when stuck in a rut.
  4. Quality of Plugins. The number, type and variety of third party plugins available for the IDE are important for customising it or filling gaps in functionality from the vanilla install.

We'll play around with the IDEs, working through some tutorials and then starting on an app for random generation related to tabletop gaming.

Other Suggestions

If you'd like to suggest an IDE or other criteria for judging IDEs leave a comment or send a tweet to @DuncanThom

Author

Duncan Thomson

A Remote Software and Database Contractor specialised in Umbraco, Duncan works from wherever he finds himself. He is the co-organiser of the Python Exeter and Data Science Exeter meetup groups and speaks about Remote Working, Umbraco, Python and .NET Outside of work he is keen on travel, random generation, foreign languages and good food.

comments powered by Disqus