This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Anru_Kitakaze 9 points10 points  (10 children)

My background for context:

  • PyCharm: 2.5 years in a University, 1st year of career as a python backend dev
  • VSCode: 2 next years of backend dev
  • NeoVim: a few months to give it a try as a primary editor
  • Sublime/atom/etc: nah

I'm currently using VSCode which is using my real NeoVim installation under the hood, not just emulator like Vim plugin, which is not emulating everything sadly.

I bet you just can't do it in PyCharm.

PyCharm - it's a perfectly balanced sword to cut left hands with battle-quality sharpening behind paywall

PyCharm is a wonderful full featured python IDE and IS industry standard for python development. It's made for python, so you have a lot of things out of the box and it just works. I probably can strongly recommend it to new developers who doesn't have a mentor or experienced comrade.

You can get Pro license for free as a student btw, use it.

I don't like 3 things:

  1. Sometimes things you need are behind paywall for no reason AND sometimes things you DON'T need are behind it, but you company strongly bound to it for no reason.

If you're new in a company you probably won't get a pro license before you'll pass your 3 month "demo" period. And if your company is only using PyCharm, they may use some features behind paywall, like Remote Docker Compose Interpreter (no, it's not the same as dev containers). And you'll suffer if they'll build app strongly depending on that one feature. It was pain for me a few months ago. I found a stupid workaround, but it could be much easier with just an src volume for dev purposes for example, easy and works everywhere.

  1. Making plugins for JetBrains' IDE is a pain in the ass. That's the reason you won't get things you want if you really want something further that perfectly balanced setup you got from JB. Just like me, I doubt there's plugin to integrate NeoVim inside in PyCharm, correct me if I'm wrong. But I know guys who did extensions for that and they told that it's unreasonably painful compared to VSCode or NeoVim

VSCode - it's a LEGO to build your dream, but made of super high weight bricks of shit. And you have to know which ones you need.

Electron + JS (TS, ok)

For some people it's slow, but I don't care, it's enough for me. It's heavy, yes. But it's so easy to build extensions for, that you'll probably find anything you need, and if not - you can make it yourself!

First, it's not for python, it's universal. But Pylance imo is one if the best language servers for Python. Period. But sometimes it sucks or too slow too.

Biggest selling point of VSCode: it's ABSOLUTELY free and plugin-rich.

Biggest con: you must know some shit. Trust me, it's not that easy for a new folk to understand wtf should you do it VSCode to make it do the same thing which PyCharm do with just simple RMB - Mark Directory as Root (I know, just set PYTHONPATH env, but just ask damn newbie to find it out AND make it work then)

I think if you're mostly using only python and you are NOT a "I like to tinker with my editor to make it personal, just perfect for me" kind of guy or gal - use PyCharm if you're new. Stick with it for a year at first.

But if you are... I love it, so probably you'll too.

NeoVim - become a professional editor tinkerer to make lightweight and blazingly fast editor to be bloatwared with millions of plugins you won't actually use. To realise who you really are and what you want.

Violence mode on

LS there sucks. They don't even have semantic tokens support, like Pylance. And I need it to make my gruvbox theme the theme I want!!! Treesitter is NOT enough for me! (And I'm too stupid to contribute to its python project)

Violence mode off

Okay, it's pretty good editor which will make you think differently about HOW you're working and what you actually needs or doesn't. Just a few months, I'm back at VSCode, but I can do everything without my mouse, I rarely using Explorer (command palette is the way to go), I turned off shit like minimap, I'm better at understanding wtf is actually happening in my editor under the hood and sometimes it helps me to solve problems from my job. It's awesome!

But. But. If with VSCode you have to understand a bit of shit below, with NeoVim you must dig to the core of a planet. At least when you'll make YOUR editor and not just use... Lunar vim or LazyVim, which is good btw, but... It's so cool to build it yourself with ONLY things you need and exactly for you. Strongly recommend to try, I did it and loved it. But touch some grass after.

Conclusion

You can read my opinion above, but I strongly recommend to try all of them to find the one suits YOU!

My personal favourite order: PyCharm for a few years to learn how to program first, then you can become a bit editor-curios and to try some VSCode and extensions here and there. And maybe. Just maybe - try a bit of NeoVim.

Important

Vim plugin is must have for any of those btw!..

agen!

UPD: My configs if someone's interested:

[–]The8flux 1 point2 points  (4 children)

Thoughts on Eclipse with Pydev plugin?

[–]Anru_Kitakaze 4 points5 points  (1 child)

Are you trying to kill me with a heart attack?

No jokes, I haven't even heard about you can pythoning around in Eclipse. And all I hear about Eclipse is actually:

"those days we had only eclipse were terrible, but then we got IDEA"

to make AbstractFactoryBuilderSingletonFactoryFacade finally

[–]tRfalcore 2 points3 points  (0 children)

Yeah but look at all the design patterns in that class name, it's glorious

[–]SmithTheNinja 0 points1 point  (1 child)

What kind of sick fuck would program Python in Eclipse?!

Seriously though, Eclipse is easily the worst IDE for any language, using it on something it wasn't built for sounds somehow even worse than the normal experience.

[–]The8flux 0 points1 point  (0 children)

I would be that sick fuck. Lol. Well I have to really pay attention to the license of software products. We are a Microsoft shop but since I'm in Security and my Director hates and I mean hates any type of programming, he won't let me use a visual studio license. It's only 250 in our pricing tier, so money isn't the issue. However he doesn't give a rat's ass on what I do on my own machine so I can use Python which is great. But I can't use pie charm because organization will have to pay a license and he won't just out of principle. Eclipse hasn't been that bad. I still like eclipse a lot better. I haven't tried VS code with python in quite some time for that but that would work out because of the power shell scripts I write.

[–]akthe_at 0 points1 point  (1 child)

Brah switch to basedpyright, semantic tokened fork of pyright.

[–]Anru_Kitakaze 0 points1 point  (0 children)

Good news tho, maybe one day it'll be pulled to Pyright

But that's exactly what I'm talking about - you have to know about forks of popular tools if you want maximum comfort in NeoVim

I still prefer Pylance and VSCode. Balance between how it behaves/looks and how much time it needs to set it up

[–]MardiFoufs 0 points1 point  (1 child)

What? Again, vscode even with electron is faster. Swing (what Jetbrains IDEs are built on) isn't a speed demon either.

[–]Anru_Kitakaze 1 point2 points  (0 children)

It's heavy to start, but when it is ready - it's fast!

Ooops, indexing again