I used to use a text editor (SublimeText) to write my Python code. I briefly explored Eclipse, the then-popular integrated development environment (IDE). But it looked overwhelming, and I saw no reason to adopt it.
Then I joined a development team as an external contractor. The team lead asked me why I wasn’t using an IDE, and I decided to have another look. I landed upon JetBrain’s PyCharm, probably because it was (and still is?) the best.
IDEs today have even more features than 10 years ago, making them even more overwhelming. So why do my coding courses all use an IDE, in particular PyCharm?
A course is a great place to experiment with something new. I briefly take the participants through PyCharm’s key functionality - starting a new project, and creating, editing and running code. I also use it for many of my live coding demonstrations, sometimes whilst explaining features.
Participants use the IDE whilst completing the exercises, with me at hand should they get stuck.
This gives them a gentle introduction to using an IDE, which should be enough to continue with an IDE after the course.
The two most popular IDEs for Python development, by a large margin, are Microsoft Visual Studio Code (VS Code for short) and JetBrain’s PyCharm. PyCharm is around 5 years older than VS Code.
(side notes: For Python development with VS Code, you should also install its Python extension. VS Code and the Python extension are free. PyCharm is free too, although you can pay an annual fee to unlock some additional features.)
A few years ago (around 2023/2024) VS Code overtook PyCharm in popularity.
So it is more popular, but is VS Code better? A few years ago I read multiple comparisons and concluded that PyCharm had a slight edge when it comes to functionality. Popular does not necessarily mean better. Having a larger company behind it probably boosts VS Code’s popularity.
Switching my courses over to VS Code would not mean using a better product. And using a different IDE it would make my live demos clunky.
What I cover of PyCharm is the same or fairly similar in VS Code. If a course participant wants to use VS Code afterwards, the course still prepares them for it. Anyone who is already using VS code is welcome to use it in my courses.
IDEs can make a Python developer more efficient. A course is a great place to experience it. I’ll continue to get my course participants to use PyCharm.