💾 Archived View for rawtext.club › ~winter › gemlog › 2023 › 5-13.gmi captured on 2023-06-14 at 14:13:49. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-05-24)
-=-=-=-=-=-=-
Regarding the current IDE-vs-text-editor discourse, not to be cute, but years ago, when I was fresh out of school and working my first programming job outside of an academic setting, I remember talking with a senior dev on my company's kernel team. He was (and probably still is) a huge emacs evangelist. We talked about tooling. And I remember him telling me, "Use the best tools available on your platform. On Windows, that Visual Studio."
He wasn't wrong (though it should be noted, this was in the context of C++ programming). And that was when Visual Studio was a lot more heavyweight. These days, it's a lot more lightweight, updates are quicker, and it's generally just a lot nicer to use. Not to mention, it's also free. I remember having to finangle an academic license for years after I dropped out of grad school - Visual Studio wasn't cheap in those years. But using it now is great.
In particular: the debugger. Visual Studio's debugger is so good and intuitive and gives such a wealth of information. gdb has gotten better over the years. But I remember gdb having issues showing me details in deep/complex data structures, while Visual Studio and its watches allowed me to very quickly inspect and edit data.
Plus there's its lesser known killer feature: the ability to do unity builds for C++, turning my hour+ build times on Linux (without -j8/etc) actual literal seconds. That's a game changer. Even with the -j trick on my Linux VM, it takes a while. Unity builds allow the compiler to take my 1000+ translation units and form a half dozen or so enormous ones. It does this at compile time, which means I don't have to force my project into a certain structure just to make it compile faster given C++'s compilation model. Unity builds aren't perfect - they can introduce subtle bugs between platforms, particular around #include, using, etc. But they're good, they save me an enormous amount of time, and I can fix any Linux/gcc issues before my releases.
So yeah. As people have mentioned, Eclipse sucks hard, and its performance is terrible. But there's a world of difference betweem the big, clunky, free IDEs of the late 90s and early 2000s, and the best-of-class offerings like Visual Studio and the JetBrains language-specific IDEs. If you're not using the best tools, it's not fair to judge the best by what you're fighting with.
CiarcaDian makes a great point about VS Code, and how it's blurred the line between a traditional text editor (as editor-of-text only) and an IDE. And like CircaDian, I like VS Code. A lot. I use it daily for Python development. Its plugin ecosystem is first rate. I wouldn't be surprised if the traditional IDEs eventually get replaced with a similar model. As much as Visual Studio has gotten faster, VS Code is very, very fast, it never crashes, and updates are very quick. It's excellent.