|
|
|
|
|
by TeMPOraL
3506 days ago
|
|
Well, I can tell you how - because they're superior at text editing. Modern IDEs are superior at staticly typed lanaguages such as Java or C#, where you also deal with so much boilerplate it's literally faster to tell the editor to write / modify code for you. With those languages, it is also possible to make things like autocomplete/intellisense you can trust is giving you 100% information, so this is a huge win too.[0] I use Java at my $dayjob, and I stick to IDE there too, because of those features. But there is a noticeable (and very low) efficiency ceiling in things like text editing, or doing project lifecycle tasks (like version control). Switch from Java and C# to more flexible and dynamic space, and suddenly, IDEs give you nothing over Vim and Emacs[1]. There you can finally feel the efficiency of a properly internally integrated text editor. I could elaborate much more on this, but in the interest of brevity I'll just mention magit[2] in Emacs as an example. This is probably the single best integration of Git with a development tool. You get to use 90% of git (!) with simple shortcuts and no modal popups to stop your flow (+100 efficiency). I can prepare, review and commit my code in it in the same time it takes IntelliJ to load the version control popup. And I get to use all of the superadvanced text editing and navigation features throughout the entire tool. It's little things like this - extremely powerful editing and navigation, tight internal integration of everything, that makes Vim and Emacs so powerful and worth going over the learning curve. -- [0] - As for why this isn't backintegrated into Vim and Emacs so well, my understanding is that intellisense and semantic refactoring engines are huge piles of complicated code that don't fit the architectures of Vim / Emacs code well and need to be done as external application. Languages that benefit from those features are few and - while popular on the job market - not exactly liked or respected among the hacker crowd. So there's little incentive in making projects like ENSIME actually 100% feature-complete or even easy to set up. [1] - But they still lag and consume insane amount of RAM and CPU power. [2] - https://github.com/magit/magit best to look for screenshots to really see just how much tooling it packs inside. |
|