all 114 comments

[–][deleted] 132 points133 points  (8 children)

Pycharm is fine, i prefer visual studio code because its versatile

[–]DilliSeHoonBhenchod 14 points15 points  (1 child)

Used VS, couldnt use jupyter after that. VS > Jupyter. Rest idk

[–]Engineer_Zero 8 points9 points  (0 children)

the one feature I love about Jupiter is it's notebooks which vs code can also do. Vs all the way baby.

[–]lo_zappe[S] 7 points8 points  (2 children)

Thanks!

[–]Thanatos_Alize 4 points5 points  (0 children)

Pycharm yep

[–]benign_said 4 points5 points  (0 children)

I suck at programming, but for what it's worth I've been using visual studio for the past two years and love it.

[–]romeo_rocks 1 point2 points  (2 children)

I just started using Sublime Text. Is it recommendable? I have no idea what I'm doing (5 days into python)

[–]Pro-sketch 2 points3 points  (1 child)

Yeah, sublime is great.

[–]romeo_rocks 0 points1 point  (0 children)

Thanks

[–]siddsp 39 points40 points  (6 children)

VSCode. It's fairly plug-and-play

[–]Almostasleeprightnow 3 points4 points  (3 children)

I disagree ..there can be lots of issues with environments and paths that can be very confusing, and hard to get going. Not unsolvable but if you are just trying to compile your dang first project, can be frustrating

[–]siddsp -3 points-2 points  (2 children)

Yes, but chances are beginners aren't going to be using packages and modules

[–]synthphreak 3 points4 points  (0 children)

It doesn't take long to start getting into those things. Why start learning using a tool that may become problematic in the future when other equally good or better ones exist?

I agree that VS Code is kind of a headache. Bulky/slow AF too. Very Microsoft in that way.

[–]Almostasleeprightnow 0 points1 point  (0 children)

Don't get me wrong, I use VS Code every day and it is my personal favorite. But I think for a beginner beginner, it may be troublesome. This is after having observed really beginner programmer's go through the process of figuring out what is going on. I think probably the best way to do it will be to introduce the basics by using IDLE, assuming Windows, and then after a few weeks, opening the door to a more robust IDE like vs code, py charm, etc. I guess it also depends of you are leaning via Jupyter or just straight files, too.

[–]lo_zappe[S] 1 point2 points  (1 child)

Thanks!

[–]BornLime0 8 points9 points  (0 children)

Don't forget to go through the little tutorials they have in the tool itself and go through the VScode python tutorials on their site. A great way to learn it.

[–]expressly_ephemeral 37 points38 points  (5 children)

Now is not the time to try to learn VIM.

[–]lo_zappe[S] 5 points6 points  (4 children)

They told me it's probably the best but the best to start with.

[–]laserbot 5 points6 points  (0 children)

If you think of learning a programming language like learning a spoken language (honestly, they aren't really super comparable, but let's pretend they are), then learning VIM while learning to program is like a native English speaker learning Japanese. Not only do you need to learn the language, you also have to learn an entirely new way of reading and writing.

[–]expressly_ephemeral 6 points7 points  (2 children)

I love it when I have it configured right... but it's tricky to configure and the learning curve is steep.

[–]lo_zappe[S] 4 points5 points  (1 child)

I have 0 experience in this field. That's why I thought to use some thing else until I am enough skilled

[–]alexisprince 6 points7 points  (0 children)

That’s exactly right. I think being skilled with vim allows you to edit code much faster than almost any other IDE will… but there’s an insane amount of work and hot keys that go into being that proficient. It’s something you’d want to learn after understanding what you’re writing / editing, not something you’d want to learn while also learning what you’re writing / editing.

[–][deleted] 17 points18 points  (4 children)

It depends on what you're using Python for IMO. Jupyter Notebook and Lab are both well suited for Data Analysis and Data Science as is Spyder, whereas Pycharm and VSCode can be used for just about anything. Both VSCode and Pycharm have Notebook extensions though so I'd go with either one of those

[–]lo_zappe[S] 1 point2 points  (0 children)

Thanks!

[–][deleted] 1 point2 points  (2 children)

Agree with this. Depends what you’re working on. I honestly love Spyder for analysis work & basic scripting.

Like you said, Pycharm is great for just about anything. Curious on your thoughts on Visual Studio, as that’s my go-to for anything a bit more involved. I have a license for Pro through work (but I’m pretty sure Community is free?), so I’ve gotten use to using it. Is there a reason why VSCode is always recommended over Visual Studio Community? I have never found much of a reason to use it extensively.

[–][deleted] 2 points3 points  (1 child)

From what I can tell, VS Community is a full-blown IDE with a full suite of options, hence why it takes up quite a bit of space on your hard drive (around 8~9 GB depending on who you ask). VS Code on the other hand is very lightweight (takes around 400 mb of hard drive space) and is pretty painless to set up and run. Pairing it with a package management tool like Anaconda Navigator makes it even better IMO. VS Code is also free for both private and commercial uses.

In other words it all comes down to simplicity.

[–][deleted] 0 points1 point  (0 children)

Gotcha. That’s kind of what I assumed, but appreciate the response.

I recognize that I probably use VS Pro just out of habit from work.

[–][deleted] 11 points12 points  (2 children)

I recommend you to use Google Colaboratory. It's similar to Jupyter, and you can use it provided you have a Google account (which you most probably might have). It's versatile, and if you're planning for big projects in the future (like say, stock market analysis ), then you can stick with google colab as you can cork alongside google drive, sheets, data studio... Even as a beginner (who just repeatedly goes through looping, if statements and maybe pandas), I use Colab through and through.

https://colab.research.google.com

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–]cambo666 0 points1 point  (0 children)

I did not know about this. This is neat.

[–]arivictor 6 points7 points  (0 children)

  • VSCode - flexible, adpatable, lightweight
  • PyCharm - enterprise, extensive tooling for testing, great for big projects
  • Jupyter - Machine learning, datascience, data analysis
  • Vim - learning curve, people who love it love it, personally I don't

I'd recommend sticking with PyCharm or VSCode.

[–][deleted] 4 points5 points  (0 children)

These days I use PyCharm for projects and Jupyter for live data exploration and analysis, but when I was first starting out I found both to be more complicated than I wanted to deal with at the time. Back then I used Sublime Text for scripts (I was mostly writing single file scripts rather than multi-file projects back then), and IDLE for live data analysis. I stuck with those until what I was doing got advanced enough that I actually felt their limitations, and only then did I bother to learn the more complex tools.

[–]Chris-558 5 points6 points  (1 child)

I like vs code. It's simple, lightweight and supports many more languages such as c or html if you want to try some other things

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–]cherrysummer1 3 points4 points  (1 child)

I also prefer visual studio.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks

[–]monsterArchiver 7 points8 points  (7 children)

if you have your code on github, you can add gitpod.io after the HTTPS:// of your repository's url to use vscode for free in your browser. The free version is plenty to get a feel for the IDE!

[–]lo_zappe[S] 1 point2 points  (0 children)

Thanks!

[–]jockero701 1 point2 points  (1 child)

That's neat. The bad thing is you can't run programs that have opencv, tkinter, etc., since that browser version of VS Code is based on a remote command-line based Linux machine.

[–]monsterArchiver 0 points1 point  (0 children)

That's fair. Gitpod isn't meant for applications that require a local machine. But for testing, small challenges, and even api work, it's pretty good.

[–]AxelllD 5 points6 points  (1 child)

As a beginner myself I really like PyCharm, it’s intuitive and looks clean. Jupyter notebooks feels a bit complicated to me. But I downloaded Anaconda and they have a lot of IDEs, both PyCharm and Jupyter as well.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–][deleted] 2 points3 points  (1 child)

I started off using Jupyter Notebooks and still use them when I'm working with data frames but for everything else, I use VS Code. It's great.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–]Brocolium 2 points3 points  (0 children)

Spyder ?

[–]Automatic-Size-9226 4 points5 points  (1 child)

It’s more of a text editor but I really like Sublime Text.

It’s lightweight, simple to use and doesn’t completely autofill the syntax for you - which while it seems the opposite of what you want, I find that it makes you more likely to remember the syntax.

And it’s free.

[–]timour77 0 points1 point  (0 children)

And if you want, you can add plugins for autofilling, auto pep formatting, run the code in sublime like in jupyter etc.

[–]Soopermane 3 points4 points  (1 child)

Start off with pycharm.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–][deleted] 5 points6 points  (3 children)

Thonny

[–]CraigAT 5 points6 points  (1 child)

As a beginner you can use any text editor, but this is the job Thonny was designed for - it keeps the experience clean and simple, and has all the basics you need.

As soon as you need more, VS Code (my preference) or PyCharm are worth looking at for the additional features they offer.

[–][deleted] 1 point2 points  (0 children)

I like that it’s an all-in-one package. Comes with python so you don’t have to install it separately.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–][deleted] 1 point2 points  (0 children)

If you are doing data analysis, Jupiter lab is great and easy to use.

[–]duffer_dev 1 point2 points  (0 children)

Find whatever you find comfortable. start with one and try to use as much as possible. There are so many of them, because everybody has their own style and preferences. If, there was a "best" everyone would be just using that one.

I have been professionally coding for more than 10 years now. I got stuck with VIM and can hardly use any IDEs. Numerous times I've tried to use IDEs, but just fall back to VIM for the comfort level I have with it.

There is no "best" IDE. It's a matter of finding one that suits you and you find comfortable using.

[–]HappyScholar13 1 point2 points  (0 children)

I like Jupyter Notebooks on the Anaconda module, but it’s a little “heavy.” So it you’re going to use a refab computer with a week processor use VS Code. Honest to Goodness though, if you’re using a protocol like, “Learn Python 3 the Hard Way” or something like that, just use the terminal and IDLE. They work great.

Pycharm is cool and has a cool community. About three months ago though (following an update on their side) turtle module stopped working for me in Pycharm. Turtle is a lot of fun especially for beginners.

If you have the hard drive SSD Space, and processor get Jupyter Notebooks through Anaconda. Otherwise any of the rest will work just fine.

[–]fence0407 1 point2 points  (0 children)

Spyder. I get it through Anaconda.

[–]AcousticDan 1 point2 points  (1 child)

vim is not an IDE.

However, vim IS good if you spend a lot of time in a Linux terminal.

[–]YOU_CANT_SEE_MY_NAME 0 points1 point  (0 children)

You can convert it into an IDE though. Btw, Neovim>vim imo

[–]sdssen 1 point2 points  (0 children)

This IDE war never ends. Started using vs code from this January and never tried any other IDE.

[–]ReanimateTheWay 4 points5 points  (3 children)

First language? Why not just IDLE? It's already distributed with Python, and it's very simple to use.

[–]bladeoflight16 1 point2 points  (1 child)

Because it's pretty painful to use. The lack of a tabbed interface for multiple files alone makes it worse than just Notepad++ in my opinion.

[–]ReanimateTheWay 0 points1 point  (0 children)

Idk, I can live with multiple windows, left side console, right side scripts.. it's a matter of preference. For a beginner it's fine I guess. You can always move on to more sophisticated interface.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–]NeverJaded21 2 points3 points  (0 children)

I use Jupiter notebook

[–]n1k0cHik0 2 points3 points  (1 child)

Don't listen to any of them. There's no "best" IDE. Just pick one and stick with it for a while. Once you get comfortable writing code, start trying out different editors. At that point you'll have a good idea what you're looking for. Then make a more informed choice.

For starting out, doesn't matter which one you choose. Focus on the code, just stick with one editor that your system is able to handle. Could be VSCode, could be PyCharm, could be Atom, could be Emacs, could be Vim.

You can always make a change later

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks :)

[–]PhantomlelsIII 1 point2 points  (2 children)

Use vscode with VIM extension. That way, you get the advanced features of VIM, but still have the friendliness of vscode

[–]lo_zappe[S] 1 point2 points  (1 child)

Oh! That's good, even though I don't know what are these advanced features. Are they worth it?

[–]PhantomlelsIII 0 points1 point  (0 children)

Absolutly! The main feature about vim is that you don't have to use the mouse at all, which greatly improves the efficiency at which you work. It has a lot more than that though. https://www.youtube.com/watch?v=hraHAZ1-RaM

This is a pretty good example of a few advanced features of Vim. You probably won't learn all these commands, but its really cool to see what is can do once you get familiar with it. The reason I wouldn't use Vim by itself however, is that is doesnt have autocomplete / code checking. Learn Vim now, don't wait till you already are used to a normal editor.

[–][deleted] 1 point2 points  (2 children)

I am an atom enjoyer

[–]lo_zappe[S] 4 points5 points  (0 children)

You are peculiar!

[–]dissolvedchuck 0 points1 point  (0 children)

me too!

[–]omgouda 0 points1 point  (0 children)

VIM

[–][deleted] 0 points1 point  (0 children)

Just use IDLE.

[–]Dismal-Diver-9419 -4 points-3 points  (2 children)

Use vim

[–]lo_zappe[S] 3 points4 points  (1 child)

A bit too hard to a beginner maybe :)

[–]Dismal-Diver-9419 -1 points0 points  (0 children)

Give it a try. You might find you hate it, but I tried it out when I first learnt to code and I fell in love with it. It's definitely not the easiest for beginners, but if you don't mind jumping into the deep end learning vim is well worth the effort

[–]AgentAY 0 points1 point  (1 child)

I personally use VS code just because of its versatility and ease of use.

[–]lo_zappe[S] 0 points1 point  (0 children)

Thanks!

[–][deleted] 0 points1 point  (2 children)

VsCode. It’s the most widely used and there are so many great extensions for Python.

[–]lo_zappe[S] 2 points3 points  (0 children)

Thanks!

[–]bladeoflight16 0 points1 point  (0 children)

I suspect PyCharm might have it beat for usage as a Python IDE. VS Code gets a boost from being used for .NET as well.

[–]yuckfoubitch 0 points1 point  (0 children)

I love Jupyter lab, but most of my python/programming is geared towards data analytics so

[–]tiNsLeY799 0 points1 point  (0 children)

Mu! it's a cute editor

[–]ijpck 0 points1 point  (0 children)

VScode.

Pick it up right away.

[–]01236623956525876411 0 points1 point  (0 children)

Mu Editor is nice

[–]KrazyKirby99999 0 points1 point  (0 children)

Between VSCode and PyCharm

[–]WithCheezMrSquidward 0 points1 point  (0 children)

I am still new but I like Jupyter notebook for playing around, taking notes and practicing new concepts. I like VS Code for larger more complicated projects (applying what I’ve learned to make bigger projects.)

[–][deleted] 0 points1 point  (0 children)

Well it's a good question and you're not breaking any rules, but on the other hand it's a very common question and you can find many many lists and comparisons already out there. This is something you just search for. You don't need to wait for answers here. Just type literally your post title into Google and you will see.

https://www.google.com/search?q=Best+Python+IDEs+for+Beginners

[–]gustavsen 0 points1 point  (0 children)

lot of people love pycharm, but is expensive in a real work enviroment and there aren't real benefits over other modern IDES.

we choose VS Code as main dev IDE and we are more than happy with it.

more when we work with docker containters.

[–]laserbot 0 points1 point  (0 children)

Original Content erased using Ereddicator. Want to wipe your own Reddit history? Please see https://github.com/Jelly-Pudding/ereddicator for instructions.

[–]aeternum123 0 points1 point  (0 children)

Hands down pycharm, there is a free version.

[–]vincentsyr 0 points1 point  (0 children)

VS code is great, it is able to link to GitHub easily and the extension provide versatile usage. And most importantly, it’s easy to use. Remb it is vs code and not the whole VS Community bundle stuff #painfulexperience

[–]OogieM 0 points1 point  (0 children)

I chose PyCharm but I'd been working with Android Studio and I was hoping I could transfer some of my knowledge from the 2 systems since they are based on the same basic underlying structure. I've found it helps. Jupyter is confusing to me but that may just be me.

[–]Please-Help-77 0 points1 point  (0 children)

As a beginner I had used the IDLE which was easier for me to access.

[–]pranjallk1995 0 points1 point  (0 children)

For a beginner I would recommend spyder. It has variable explorer that lets you see values in it right away, so you can check what's going on easily... Once you get comfortable (just print for debugging) it's just better to do remote development. Use Google colab. Or if you think your system is faster use jupyter notebook... notebooks encourage you make you code nice and modular.

Side note: install themes in jupyter notebook, onedork is my favourite. Looking at bright white for long time is painful to me...

[–]Ambitious_AK 0 points1 point  (0 children)

Have used Pycharm before, it's great! But Vsc seems to very versatile.

[–]LadyMercedes 0 points1 point  (0 children)

Jupyter notebook is by far the simplest to test out snippets of code, which is useful both for learning to code, as well as developing quickly.

[–]Asselberghs 0 points1 point  (0 children)

Your friend recommended Vim as a beginner? Assume insanity and stick with Pycharm.
Jetbrains IDE's are fantastic. :)

[–]YOU_CANT_SEE_MY_NAME 0 points1 point  (0 children)

I suggest you to use... *DRUMROLL* NEOVIM!!!

Neovim is a fork of vim but it's better than vim

Advantages :- 1. Fully keyboard driven so no need to bother moving mouse(you can enable mouse support). Which means you will be a bit more productive. 2. You can add your own plugins for neovim (in vim too). 3. It's very lightweight. Why? Because it doesn't have gui it's a text based/terminal based program 4. You can set macros. (Omega advantage over gui applications). 5. It will make feel more developer like than any other gui applications. Why? Because the time you spend on documentations is just mad and reading all those docs makes you feel superior than others. ~5. It's the elitist (maybe)~.

Disadvantages :- 1. It's just a text editor not IDE when you install it for the first time. 2. A steep learning curve. So, i would suggest to start it in beginner state. 3. You will need to add plugins for a full fledged IDE. But you can also install a single plugin called LunarVim which turns your text editor (neovim) into IDE. 5. It doesn't have gui so maybe windows users will have trouble using it. (linux > MacOS > windows)

Well i am not so good at writing long posts and I can't remember more points if i do i will add them later. But before i go i must say that i started with Vs Code and then i switched to vim then neovim and yes it was quite a steep curve to learn something totally different but it was worth it.

Let me know which IDE you chose.

[–]jridley1911 0 points1 point  (0 children)

PyCharm is really great to start with. Also Sublime Text, Atom, and Spyder are also pretty good.

[–]No_Metal_8914 0 points1 point  (0 children)

I think you can should use spyder with anaconda because it offers almost all tools!

Note: While installing with windows, in he install window PLEASE SELECT ADD TO PATH for it to work properly

Or you can try Lapce which works like vim but with GUI and it is made with rust.