IT lingo breakdown: What do I need an IDE for?

A bold question mark written with crayon on a blackboard
Published: Jan 24, 2021
Last edit: Jan 24, 2021

In this post, we’ll be looking at one thing that I wondered a lot when I started getting into Python. I was writing simple programs in IDLE like we did in this introductory article and I kept reading the advice that I need a good IDE with this, this, and that feature. And looking back now, a good IDE is something really essential once you start coding a bit more than simple toy problems.

IDE features

In here, we’ll look at what an IDE is, which important features it should have and I’ll name a few examples for you to use. In short, an IDE is a tool that helps you write your code. It stands for integrated development environment and – in the case of python – it at least consists of a source code editor and debugging tools. The IDLE program that ships with python is a very basic IDE. You can edit your source code, you can execute your program, and you have a debugger available. It even comes with syntax highlighting to help you write correct code.

There is one more feature you would definitely want from an IDE and that is code completion. For me, this is the most essential feature I am looking for in an IDE, not only because it save me a lot of typing but even more because it helps me find the correct method/attribute/etc. when I am not sure which one I need or how it was called. Now IDLE does come with basic code completion features, but it just does not live up to the more powerful IDEs.

Since my main emphasis here is enabling you to quickly choose a good solution, I will recommend only two tools that should be suitable for the 95 percent you. If you feel like these are not what you need, I mention three more IDEs at the bottom of this article.

My first recommendation, and the one I am personally using, is PyCharm. It is a popular IDE that is specifically made for Python but can deal with some other things like JavaScript and CSS (If you wonder what you would ever need those for, wait until you try to write a web app in Python). I mainly chose it for the high-quality auto-completion but in addition, I like the design, the ability to view arrays and dataframes in debugging (very useful to find mistakes without issuing print statements all over), the git integration (for version control) and to a lesser extent the many plugins. Here is what it looks like:

Pycharm image

On the downside, PyCharm is not totally free. It does have a free “community” version and that version has so many features that I can still without a doubt recommend it to you. Plus, if you happen to have a university email address, you can sign up for their educational account and get the professional version for free.

Now, recommendation number two is for everyone who would rather use an open-source product and might even be better than PyCharm for some scientists.

Spyder is a free, open-source, IDE and has a strong standing among the scientific community. It is shipped with the Anaconda distribution of Python (we’ll take a closer look at Anaconda in the future) which certainly adds to its popularity and it is specifically geared toward scientific development by providing a good integration of common data analysis (NumPy, Pandas) and plotting (Matplotlib) tools. As long as you stay in the realm of using plain Python or IPython, it is at least on par with PyCharm and other “big” IDEs. I never really warmed up to it as I dislike the design but I do agree that it makes working with and plotting data a bit easier.

Take a look below:)

Spyder image

There are many more IDEs out there and if none of the above are what you are looking for, I particularly recommend you review Atom, Sublime Text, or Microsoft’s Visual Studio Code, all of which are popular, versatile, and free IDEs.

Found that interesting?

Share your experiences with me!

Contact