Is it time to change your IDE?
Maybe I’m a bit behind the curve, or maybe because JetBrains have such a big hold on the Python IDE market, it became clear to me in a previous post that a lot more Python coders are using VSCode than I was expecting.
Now I’ve used a combination of PyCharm and Notebooks for a while and I’m super happy with it. I love that if I have some data I want to explore then Notebooks is pretty easy to navigate, keep track of my work and also visualise data. On the other hand, PyCharm is just a pure machine when it comes to production: it’s never let me down and helps me churn through most tasks.
I also like the fact that the makers of PyCharm (JetBrains) are not some big American Goliath (like Microsoft), but comes from a much more humble region.
Either way, Visual Studio Code (or VSCode for short) is Microsofts open-source IDE. Its initial release was in 2015 and since then (according to Stack Overflow) it’s become the most in-demand IDE.
Given the fact that I’ve never really spent much time using VSCode and what it offers, I’ve decided to put it next to PyCharm try to figure out which is better, and which should I use?
PyCharm > VSCode
One would expect that developing code would feel more natural in a purpose built IDE and as PyCharm was created with the sole purpose of coding in Python. Does that make a difference?
Let’s take the example of autocomplete support. VSCode struggles at times with autocomplete support whereas when using PyCharm, it works nearly perfectly in every instance. My personal experience of VSCode was that the autocomplete can at times work great and other times not. It’s not just me though, people on reddit complain about the same thing: it’s oddly temperamental.
Further, VSCode struggles to load extensions at times and I thought it may have been me, however, this seems to be a bit of a recurring theme as its been reported multiple times: here, and here, and here, and here, and here, and here, and the issue is still present.
Now at first, you’re thinking “Oh awesome, I can customise my VSCode to be exactly how I want” but in reality, it never works that well and you end up having to spend a lot more time trying to fix the bug and less time developing, which is something you just don’t need to worry about in PyCharm.
So for those reasons, PyCharm being native to Python and built to really capitalise on that gives it a huge edge over VSCode. However, VSCode has a lot to offer as well.
VSCode > PyCharm
First and most importantly, VSCode is free. Yup, completely. The pure editor is pretty simple and you can expand its capabilities by installing plugins. PyCharm Professional, on the other hand, isn’t exactly cheap.
There is a free version of PyCharm (called the Community Edition) but it has fewer functionalities: it doesn’t include tools for developing databases or web related things, nor does it include advanced features such as performance profiling and remote debugging. VSCode has way more functionality than the free PyCharm Community edition, so let’s keep our focus on PyCharm Professional.
Now, something that PyCharm users are aware of is how big its memory footprint is. At the upper limit, it can take up to 1.5gb in disk space and that does have a knock on effect on your coding experience. If your computer can’t handle that then it’ll take ages to load up and sometimes it’ll take a bit longer to get through basic tasks: no one likes that!
Visual Studio Code has a much smaller footprint for memory consumption and physical disk space, about 30% that of PyCharm. So as VSCode is relatively light weight, it’s a particularly good editor for smaller projects or applications, and when performing quick edits to one or more files.
Finally, people generally seem OK with having to build a custom IDE in VSCode, as compared to PyCharm which works great out of the box and you don’t really need to do much more to it. However with VSCode, you have to build it from the beginning with plugins to even get Python working on it, so users are already comfortable with upgrading its functionality with plugins. This means that these users are also thinking about further enhancements which over time, leads to more development and a better coding experience, whereas with PyCharm, it’s mostly left to JetBrains.
Which is best?
Both PyCharm and VSCode allow the community to create plugins to enhance their user experience. Both have full-blown IDE’s and really do tick all the boxes in terms of what you need and want, although, neither are entirely perfect. Both have a strong community behind them and despite VSCode not being around for as long as PyCharm, both do have fairly mature systems in terms of technical capability.
I think it ultimately comes down to you. Do you want to pay for PyCharm professional and have a more specialised experience, or, would you rather have the free VSCode experience with a little bit less specialism, but, potentially more extensibility?
So what does my gut say?
Stick to PyCharm if you only code in Python. If not, VSCode.
The decision is ultimately up to you but the IDE you use can really alter your perception and experience in a coding language. I would expect advanced programmers to be using a variety of IDE’s depending on the project in hand (not to mention to the number of languages coders jump between) so being flexible with your tools definitely makes life easier.
Despite all that: I’ll probably stick to my Jupyter Notebooks and PyCharm combination, but I’d be interested to hear from any full-time VSCode users as to why they won’t be switching any time soon!
Thanks for reading again!! Let me know if you have any questions and I’ll be happy to help.
Keep up to date with my latest work here!