4 ms·
It doesn't suck, but try Jetbrains IDEs. C++ and other "not JS" language support is vastly superior including refactoring that actually works.
by api 6y ago
It doesn't suck, but try Jetbrains IDEs. C++ and other "not JS" language support is vastly superior including refactoring that actually works.
- nwatson 6y agoJetbrains IDEs (and others for that matter) provide so much more than the glorified text-editors, including extensive debugging support (both in my own code, library code, platform code), code-autocompletion, code navigation, code-formatting, refactoring, linting, static-analysis (works well for Python as well), great syntax highlighting, spell-check, a good plugin ecosystem. I'd never go back to editing code without that support. The Jetbrains ecosystem is real cheap too, I pay US$160/year for the personal-license all-product suite I can install and use anywhere ... and I use PyCharm (Python), IntelliJ IDEA (Java et al), and Datagrip (DB) extensively, dipping into CLion (C++/Rust) as well ... but they have IDEs for many other languages and ecosystems as well. It's definitely a good deal. Jetbrains suite, along with Docker, Atlassian SourceTree, and Homebrew (and connection to AWS/Kubernetes) are my main tools these days.
- Groxx 6y agoI keep periodically re-trying VSCode, but holy cow. It's a massive step down from a Jetbrains IDE, in every single language I've dev'd in. Jetbrains stuff works, VSCode mostly handles the basics if it's possible to configure it correctly. Which is quite the achievement, and it's a very reasonable option and far better than much that came before it. But it's not where I want to spend my time if I can avoid it.
- ninjakeyboard 6y agoYou're working with statically typed compiled languages tho. Once you try using a dynamic language you realize another editor is enough IMO. I use emacs for anything dynamically typed (including compiled languages like elixir) and intellij for scala/java.
- Groxx 6y agoIt's miles better on Python and most javascript that I've touched (VSCode's ecosystem does tend to have more breadth, and if you're working on something that VSCode has plugins for but Intellij does not, yea - VSCode can be noticeably better for most purposes). Most commonly around stuff that requires better understanding of the structure of the language / project, like refactoring and accurately finding usages. But yes, for many dynamic languages a fat IDE is less beneficial, especially for small-ish projects (anything where you can really "know" the whole system).
- thrower123 6y agoWebstorm or PyCharm isn't as good as IntelliJ or ReSharper, but holy hell is it better than just a text editor, even emacs. I really don't understand why so many programmers proudly proclaim that they do things the hard way and wear that as a badge of honor.
- api 6y agoThat's an old, old trope. "Real men" do it the way that takes 3X as long and yields code with more bugs.
- Groxx 6y agoI feel like "tool use" follows roughly the same curve as a Gartner Hype Cycle, but without an upper bound on the right (as it implies a below-peak asymptote). In the very beginning, less is often better, since the tool is prompting you with too many things you don't understand. Then you get past that point and you're massively more productive, since it's catching all your simple mistakes. Then you become disillusioned since it doesn't catch all mistakes, and you start learning in detail how it has failed you, and you just (╯°□°)╯︵ ┻━┻ the whole thing (the "real man" trough). And in the end you go back to sophisticated tools, as you realize a 70% solution can still give you magnitudes more productivity.
- ninjakeyboard 6y ago
- gsich 6y agoVSCode is more editor then IDE.
- fomine3 6y agoThe editor that most closest to IDE.
- shp0ngle 6y agojetbrains stuff is written in java btw, for all languages. (when we talk about “native”/“not native”)
- api 6y agoI don't care what it's written in. Native UIs seem to matter more for small to medium size apps. Huge all-encompassing things like Blender, IDEs, etc. seem benefit from a unified, attractive, easy to use UI but it doesn't seem to matter quite as much that it's native. These things are intrinsically huge too so bloat matters less.
- squiggleblaz 6y agoI don't think I agree with you; but I will accept that a cross platform toolkit is necessary because you cannot write three tools of the quality of one Jetbrains. But I think you could do the same in Qt with ~manual memory management and it would be significantly more efficient. Qt, I think, is less like Java and rather more akin to an alternative native toolkit (in much the same way that you can choose on X, "oh, I will use Gtk; I will use motif; I will use Qt", you can say the same on Windows "oh, I will use winapi; I will use WPF; I will use UWP; I will use Qt" or MacOS "oh, I will use Cocoa; I will use Qt"). It just happens to be provided by a third party so there's no OS lockin. I have no problem getting more ram for a Jetbrains product, because they are cheap at the cost of a new laptop. But it would nice to find a 16 GiB laptop would be able to cope with my codebase, my web browser and my vm.
- jhasse 6y agoCheck out clangd or ccls for VSCode. They have refactoring that actually works (probably still rather basic when compared to Jetbrains IDEs).