4 ms·
You’re working with dynamic languages; it’s a hard problem. The jetbrains tools do a pretty great job with typescript and when you use annotations in pycharm..
by wokwokwok 6y ago
You’re working with dynamic languages; it’s a hard problem.
The jetbrains tools do a pretty great job with typescript and when you use annotations in pycharm.... or anything where the types can be rigorously determined; but, obviously, it’s not perfect when the type system says “anything is fine”.
As for building the project; Python just totally sucks at reproducible builds. I don’t think pycharm can fix the entire packaging ecosystem.
So, fair... it’s not perfect; but compared to what? Have you used tools with better support, better stability? Better tooling?
It’s a pretty high bar to clear to say the editor isn’t completely perfect.
Yeah yeah, it uses Java, it eats your ram and the cpu can go crazy, sometimes you need to reset the cache or delete your entire .idea folder.
Eh.
I also wish it was better at some things, but I still love it; what’s the alternative? Visual studio? Hahaha~~~~
- stephenhuey 6y agoAnd I remember how impressed I was many years ago when I first tried their Rubymine. So magical it made Ruby feel almost like a typed language! :)
- codethief 6y ago> You’re working with dynamic languages; it’s a hard problem. It's not that hard a problem. At least TypeScript is statically typed and in Python we're using type annotations everywhere. Besides, the bugs I was talking about mostly concern imports (I move file.py from A/ to B/ and PyCharm forgets to update `import A.file` to `import B.file`), and renamings (PyCharm suddenly renames some random variable deep inside dependencies like Tensorflow, too, so I end up having to re-setup my entire Python environment afterwards). The thing is: Those auto-suggestions for imports work totally fine and code navigation via Ctrl+click works fine, too. So PyCharm does interpret the import statements correctly and I'm at a loss as to why the refactoring doesn't work then, too. Maybe auto-completion and refactoring are two completely separate systems?
- wokwokwok 6y agoI’m not gonna deny it’s frustrating to see quality of life stuff like “don’t refactor stuff from packages!” unaddressed year after year. ...but I think it is a tricky problem. For example Black[1] is a very carefully crafted project that does an excellent job, but it fails at refactoring files just to apply lints with “inconsistent code generated” on some projects and files; and that’s just apply limiting rules. ...but, I for whatever reason, the JetBrains refactoring for static languages (c#, Java, kotlin) does seem significantly superior. [1] https://github.com/psf/black https://github.com/psf/black