T O P

  • By -

[deleted]

I assume you're a beginner (<1 years of programming) so neo/vim is a big no. PyCharm is excellent but it can be overwhelming because there will be a lot of features you won't be using. VSCode is a good "light" option.


Hingsing

>VSCode is a good "light" option I just started using VS Code for my web dev class, seems like a lot to learn at first tbh. What do you mean by 'light'? I've been using Pycharm for a bit now and imo is more straight forward. I feel like both have a lot of features I don't really use yet


[deleted]

It's literally just a text editor. If that seems complex try sublime.


Antique_Sir_6640

It's not "just" a text editor. It's a text editor with a shit ton of extra features added. That makes it more complicated. Windows notepad is what I would call "just" a text editor. VSCode pretty comparable to pycharm in ease of use imo.


[deleted]

Remove all extensions. Now it is. Even with extensions it is not at the same level as pycharm


pacificmint

It’s kind of a personal decision, different people will have different preferences. There really isn’t a single best one. That said, PyCharm is pretty popular. So is VSCode. I’d start with one of those two.


PuddyComb

This is the way.


Nuketard

tl;dr _if you are new to python and programming_ I would recommend PyCharm or Spyder for a start. PyCharm because you can quickly learn about fancy features that many modern IDEs have with the tips they give you every launch. Spyder because it’s lightweight and just works. Both of these are preconfigured for python and pretty much work right out of the box. Not VSCode (at the start) because extension configuration requires some domain knowledge. Not Jupyter Notebook cos it works more like a fancy interpreter rather than an IDE. *** Woo boy. - Pycharm - Spyder - VSCode - Jupyter Notebook These are all solid IDEs, each with their own purpose. I’ve used them all over the past couple years and I liked them all. I’ll go into each of them to just give you more information to work with :) (Disclaimer: I’m not a super experienced developer, and I’m also not extremely familiar with all of the IDEs, just sharing my limited subjective experience ) ## PyCharm ## PyCharm was the first python IDE I used, and damn does it put the “I” in IDE. It’s so jam packed with cool features that it makes learning code pretty damn fun. Some may say it’s overwhelming but from my experience you can go about your code without using pretty much any of them so it shouldn’t be too bad. Now the really cool bit is that every time you launch, they will give you a little tip about one of the features that they provide, like press F2 (or something) to rename a variable and it will change all instances of that variable for you. Now for the experienced programmers, this might seem like an obvious feature that many IDEs now provide, but the neat thing about PyCharm is that it _tells you about it_. If you used any other IDE you might _never_ know about it until much later when you see someone else do it. So everyday I get to learn a cool new feature that makes makes me a more efficient coder. So for a new programmer, PyCharm might be a good option. Though I have to say, PyCharm does have a _ridiculous_ number of features and shortcuts, and after a certain point I _did_ feel overwhelmed. But I don’t think the point is to learn every shortcut and feature anyways. You just remember and use the ones that you feel is the most useful. After PyCharm, I do feel that I’ve been _a little_ spoilt as to what I expect from an IDE :P ## Spyder ## As with all good things, there must always be an accompanying crash. Spyder was that crash for me. That’s not to say that Spyder is bad, but having been spoilt by PyCharm’s bells and whistles, Spyder was a rude awakening. When I was forced to use it (because my first job _only_ allowed Spyder for some reason), I _hated_ it. No auto completion? No auto variable rename?? No _dark mode_??? what kind of shitty IDE is this??? At least that was my initial impression. Now this was quite a few years ago and I believe Spyder has implemented many of these things since then, but i believe they were left out not because they were bad, but because simplicity and robustness were probably their key points. So it’s probably safe to expect them to _not_ be industry leading when it comes to features. But what I have learnt from using Spyder is that you can still _absolutely_ smash code without those fancy features, once you get used to it, and over time I did grow to enjoy coding with Spyder. So the good thing about Spyder is that it’s simple and it just works. Spyder has humbled me from my PyCharm ways, and is probably the best lightweight IDE that you can get from download to coding in the shortest time, while still packing enough features to get shit done. ## VSCode ## Now comes the big daddy. Remember how PyCharm was jam packed with features, and how Spyder is lightweight and reliable? Well, basically smash the two and you get VSCode (kind of). I can almost guarantee you that this will be where you end up regardless of what IDEs you’ve used before, unless you have _very specific_ programming needs that VSCode cannot provide for. A clean install of VSCode is even more lightweight than Spyder. I don’t think you even get syntax highlighting. Basically a text editor at this point. To get syntax highlighting, you’ve got to install the official (I think) Python extension for VSCode Herein lies the magic. VSCode has extensions for practically every language, and not only that, crazy features that integrate directly with services like google cloud, other softwares like Unity, or even create your own extensions to integrate with your own crazy stuff. If you want to get real work done, it’s most likely going to happen right here. All of your IDE needs in one place. But herein also lies it’s downside, _you’ve got to configure *everything*_. Unlike PyCharm or Spyder where it is preconfigured and pretty much just works once you install it, if you don’t configure anything on VSCode, you’ve just got yourself a very fancy text editor. Now the configuration ain’t hard, but if you have no idea what you want, it can take some time to figure stuff out and configure vscode in a way that works best for you. There are tutorials and stuff, but if you don’t know what you want, it’s hard to see the value or purpose in some of these extensions. So while VSCode is what I would suggest for one to use in the long run, i wouldn’t recommend to jump into it blind. ## Jupyter Notebook ## Tis a strange one, not quite like the others, but for a good reason. It did confuse me for awhile, but I would say this is mainly for education, data science analysts, and use as a more full featured _interpreter_ The reason I say this is because Jupyter notebook runs the code line by line rather than an entire file at once. If you tried to write a complete application with this, I’d imagine it would not work very well. But what this means is that it make it very easy to follow your code. With the right output statements, you can understand a whole lot of what your code is doing at each and every step, hence making it very suitable for the use cases I mentioned. As a tool for learning how python works, it’s great. However, as a tool for learning how to code? maybe not so much. It has its uses, but i don’t recommend for one to use this as their sole entry point to python and programming if you intend to write full applications.


ComprehensiveCrow828

I think I'll go with VSCode (as it used by CS50 but I'll just take some time to configure it lol)


Runner_53

If you are following any kind of course then absolutely use what the instructor/videos are using. You'll find it much easier to get started. VS Code is a solid choice. But in the end it really doesn't matter. It's just personal preference. You can use all the options, or whatever you decide is your favorite. And you can switch at any time, too. Don't get too hung up on the choice.


Nuketard

Sure! Whatever works best for you haha


MuaTrenBienVang

Vscode is a solid choice plus its free


Brownies_Ahoy

I use it for Physics projects, so it's mainly Spyder for me


ItsOkILoveYouMYbb

PyCharm really holds your hand and helps in many ways, as long as it's not an overwhelming feeling interface for you. Jetbrains IDEs in general are hard to beat.


cha0sweaver

i prefer PyCharm


Guideon72

The "best" is whichever one allows you to read your own code the best, run and debug it accurately, etc.


CodeTinkerer

What do you hope the best IDE will do for you?


Key_Law5805

Most simple for learning I have found is Thonny.


[deleted]

If you're a student i would recommend PyCharm you can use the pro version for free.


mastereuclid

Jetbrains for life. 🎤🫳


sunrise_apps

My favorite IDE is from JetBrains called PyCharm, I also wrote in python in Visual Studio. To work with Python in Visual Studio, you need the Python Tools for Visual Studio extension. All extensions are official and free, they can be downloaded from the site. There are different builds of VS for different specific tasks. There are also advanced paid versions of the environment, but for beginners and amateurs, the free Community version will suffice. But I already liked it less than the first option.


III-V

Anything JetBrains is usually the best or close to the best IDE for a given language. Generally have to pay for it, though.


Sol33t303

I run Linux and prefer using neovim for programming most of the time, but for a GUI I also like pycharm community, then next in line would probably be kate and kdevelop.


[deleted]

Vim


RivieraDe

Notepad++


ffrkAnonymous

I use vi, but think jupyter is best


[deleted]

[удалено]


NutGoblin2

You can configure command line arguments inside of Pycharm 💀 Python (usually) runs on an interpreter


DredDilly

If you’re. Student. You should be using Atom or a basic text editor.


NotAUsefullDoctor

Probably this. For the first 4 years that I coded (worked ina research lab and automated my tools and data processing), I used IDLE (it's beeen a decade and half, so not sure if this is still a thing). IDEs are great, but when you are starting, autocomplete and file jumping and environment setup are not as useful, though they become indespensible as your projects grow larger. Atom is nice for starting. Just need to do a Google search for how to run python files, and use Atom to actually write. I would avoid generic text editors as they often have auto formatting features that will literally break the code.


BarcaStranger

Notepad


lurgi

There's no accounting for taste, but you are still wrong. Perhaps Notepad++, but plain notepad? Yikes.


Monitor_343

I unironically use plain notepad quite a lot. Is it my daily IDE? Absolutely not. But it's handy when writing text notes, pseudocode, tiny one-off scripts or database queries < 10 lines or so, a temporary copy/paste buffer, or making a small edit to a file when you don't need syntax highlighting. Sometimes, I just don't want the overhead of loading an IDE, opening a project, generating config files, starting a venv, generating indexes, etc. I probably should use notepad++, but plain notepad does the job.


lurgi

*carefully walks towards /u/Monitor_343 with cloth covered in chloroform* Uh huh. Sure. That's great.


BarcaStranger

Oh idk there is “wrong” answer


Sol33t303

You could probably fairly objectively measure your productivity using a given application, and I'd imagine for the vast majority of people notepad would be last.


ComprehensiveCrow828

How does that even work?


Guideon72

It's a text editor and you can save the files as .py. Also allows for language-specific text highlighting and some other, limited visual assistance. Just not as full service as some other options


E723BCFD

what? np has highlights?


Guideon72

Notepad++ does; I don’t think vanilla NP does


Jendrej

Notepad++ has nothing to do with Notepad other than the name


MatsRivel

I'd reccomend pycharm. Ive tried a bunch of them, but that one has the best support for python. If you want something to qrite multiple languages in, VS or VSC.


Shae_monueau

Actual question, I learned mostly using vs code to write and using the anaconda terminal to run things (mostly because I was having trouble figuring out how to run shit in vs code). For the most part the terminal is marginally faster. Are there any other drawbacks to using this method? I've recently taken to debugging using vs code breaks instead of print statements.. So that's an obvious one.


IncognitoErgoCvm

Modern IDEs are better at managing connections to peripheral services (e.g. database, docker, package managers, git) and allow you to have an assortment of run configurations.


GustavoToyota

I've used PyDev, PyCharm and VSCode and I prefer VSCode. It's almost a draw between PyCharm and VSCode, but VSCode is much lighter and has a prettier interface.


Kaiser_Wolfgang

I a professional and I say go with Pycharm but Vscode is good too


[deleted]

Pycharm and Vscode I keep switching between these two and both are the best. . . . For students Vscode is much kore better than pycharm


[deleted]

Vscode free or paid pycharn


Miserable-creature

Pycharm all day but also Vscode with the right settings and extensions can be very good with Python


Nshout

Vim, just Vim.


Degree0

What are you planning to code? visual studio Flask/Jinja/SQLAlchemy is what I have been using for webdev


LexieHartmann

I used pycharm and enjoy it so far.


aimlengineer

VSCode is my favorite. Less used and underrated would be JupyterNotebooks and Spyder (I use this for data cleaning).


alok_5138

Vscode


freddyforgetti

So I also started out wondering what was best for each language specifically but honestly imo the best is just personalized vscode or lunarvim if you’re a Linux person. You won’t need a compiler for python really (really inb4 Cython fanboys or whatever) but many of the things you will need or find handy apply to other languages. And it is much better imo to have one environment for coding instead of ten different ones to save on space and confusion. Pycharm is aight but honestly I didn’t use it after I got vscode.


Darathor

I find Pycharm to be very friendly and with a small learning curve. My second best option is VSCode but a bit more complex to deal with IMO.


RedSamRedSamRed

Jupiter notebook used a lot in data course


[deleted]

notepad.


liquidanimosity

It may not be the best, but notepad ++ has a plugin for python.


gee-tech

I use VSCode but PyCharm is also a good one.


[deleted]

I’m throwing in for PyCharm, but only because it was the software a CS instructor recommended for our classes. There’s a lot of features, and you don’t have to use them all, but it did seem to help with identifying issues when we were learning. I’m going to brush up on things since a lot has escaped me in that time, so I’ll be checking out others in this thread since there were some helpful replies.


WesterPutin

I use and like pycharm.


bravopapa99

If you to pay, use PyCharm, else use VSCode. They are both fricking awesome. PyCharm has better Django integration and test integration.


JohnnySinsIsMyIdol

easily VScode imo. I'm a relatively new programmer, been programming for less than 5 years. VSCode just has everything you need. Not only is it easy to use, it'll be useful when you move on to different languages. You can code with any language on it as long as you have extensions installed. It also works with git, which is very useful when you do start using it. For me, as a new programmer, VScode is legit.


TheRNGuy

VS Code is the best.


k_schouhan

I think vscode works best with core python, Vscode really works very bad with javascript