9 ms·
When I graduated college in the '00s I thought Vim was the most amazing thing I'd ever learned. Then a colleague at my first job showed me what happend when you
by noveltyaccount 4y ago
When I graduated college in the '00s I thought Vim was the most amazing thing I'd ever learned. Then a colleague at my first job showed me what happend when you typed . after a variable name in Visual Studio. Code completion, inline documentation...my mind was blown, and I never looked back. When I meet a young chap extolling the benefits of Vim or Emacs or really anything that doesn't have stepped debugging and code competition...well, there are no bonus points for doing things the hard way.
- maxbond 4y agoJust so you know, you can do those things in vim now (I do), and the whippersnappers may well be.
- czx4f4bd 4y agoBoth Vim and Emacs have plugins for intelligent code completion and viewing inline documentation. I personally prefer to use VS Code or Jetbrains IDEs with Vim emulation, but I've seen setups for both Vim and Emacs that basically made them into full-fledged IDEs.
- SAI_Peregrinus 4y agoFull-fledged Plugin-based development environments. An IDE is an Integrated Development Environment; it comes with the features necessary for efficient development built-in.
- tsimionescu 4y agoNote that Emacs had these features and more for Lisp since about the 1990s or even earlier, while being free. Now, for C or Java or most other popular languages, you're absolutely right.
- constantcrying 4y agoVim is not really an editor. It is a way to edit text, you can use vim in almost any environment. You are also totally wrong about vim or emacs not having code completion, that is just nonsense. I use (a version of) visual studio, the first thing that I did was installing a vim extension. Also vim itself already supports almost any of these features with some basic plugins for the completion logic. If I type "." in my vim I get the same thing I would in visual studio. If you are saying "vim is bad because it lacks X IDE feature" you are missing the point.
- Our_Benefactors 4y agoVim: I can do that too, I swear! Just configure some plugins, can’t tell you what they might be though. But I’m turing complete, and I’m the best! VScode: Of course I can do autocomplete bud. Here, search my package repo, I’ll tell you which plug-ins are the most popular and handle the entire download and install process for you. There’s no comparison.
- constantcrying 4y agoWhy do you even reply to a post that you didn't bother to read? VScode is a neovim frontend. >There’s no comparison. Read the first line of my post. There literally is no comparison, because there is a category error.
- Our_Benefactors 4y ago> Why do you even reply to a post that you didn't bother to read? VScode is a neovim frontend. I did read your post Mr. snark. > There literally is no comparison, because there is a category error. Pure pedantry. VScode takes far less effort to get a high quality feature set when compared to vim. That’s the only point of debate that matters for most people.
- za3faran 4y agoI think OP wanted to make a categorical difference between vim-the-editor vs vim-motions. The latter of which are supported in all major IDEs as plugins/extensions.
- constantcrying 4y ago
- idontpost 4y ago
- yellowapple 4y ago
- sidlls 4y agoemacs has plenty of plug-ins that turn it into an IDE. For people who are already comfortable with it, these tools are great. I’m more productive in it than with “modern” tools. For newcomers the learning curve is going to be steeper. I’d recommend learning at least either vim or emacs (or perhaps other text-based editors with similar features, if they exist) though, as it does provide versatility for oneself. Those GUI IDEs aren’t available in every environment where one might want to code or debug.
- rleigh 4y ago> I’m more productive in it than with “modern” tools. Are you objectively more productive, or do you perceive yourself to be more productive? I was an Emacs diehard for nearly two decades. Then I got introduced to CLion. In retrospect, Emacs was an inferior tool. While it's certainly true that Emacs can be configured and extended to do all sorts of interesting things, I do suspect many of its users are deluding themselves when it comes to the sheer breadth and depth of functionality offered by a modern IDE. It also doesn't help that its maintainers are living several decades in the past, and haven't kept up with what the "competition" are doing. I'm certainly not implying that Emacs is a poor editor. Very few IDEs have text editing capabilities on par with that. But its integration with other tools doesn't hold a candle to today's IDEs.
- pcthrowaway 4y agoFor the people responding to you who are saying you can get all the same things in vim, they're right of course, but a lot of this modern functionality is now built on top of the Language Server Protocol[1], which is an open standard created by microsoft for VS Code. Kudos on the people who have ported this to Vim[2], but I suspect the support for LSP features will still be better in VS Code [1] https://microsoft.github.io/language-server-protocol/ https://microsoft.github.io/language-server-protocol/ [2] https://github.com/prabirshrestha/vim-lsp https://github.com/prabirshrestha/vim-lsp
- jrumbut 4y agoCode completion, search, cross referencing, and all sorts of other features in vim, emacs, and all kinds of other editors (including Visual Studio) predate LSP by decades. LSP is cool though, an advancement certainly, but it is not a completely new thing. https://en.m.wikipedia.org/wiki/Ctags https://en.m.wikipedia.org/wiki/Ctags
- jcelerier 4y agoIf you think ctags or rtags are even remotely comparable to what an actual IDE brings you you have absolutely never used more than 10% of what an IDE with semantic understanding of your code can do
- jrumbut 4y agoThe post I replied to brought up a very narrow set of features that had been available in vim for a long time.
- jcelerier 4y agoit brings up "Code completion, search, cross referencing, and all sorts of other feature" and again, those work much less well in ctags / rtags than with a proper IDE
- abraxas 4y ago
- _qua 4y agoWhen I was a kid learning to code, programming books recommended stridently against even using syntax highlighting. It's funny how helpful things get rejected by people who "did it the hard way."
- jlarocco 4y ago> When I meet a young chap extolling the benefits of Vim or Emacs or really anything that doesn't have stepped debugging and code competition...well, there are no bonus points for doing things the hard way. I can't speak for Vim, but Emacs has stepped debugging, code completion, etc. Part of the reason I use Emacs is that I get those features and (and a ton more) with the same light weight interface across multiple languages and platforms. At the same time, it's usually very easy to make Emacs work with third-party tools. On Linux I can step through code using GDB through Emacs, but at work I spend most of my time in Emacs, but have it bring up the MSVC++ debugger when I need it. It's the best of everything. Meanwhile, I get to listen to my coworkers celebrate new features in VSCode that I've used in Emacs for years... There are no bonus points for learning a new IDE for every project, either.
- throwaway2037 4y agoYou wrote: <<There are no bonus points for learning a new IDE for every project, either.>> I'm confused. The point of uber-IDEs (IntelliJ, Eclipse, NetBeans, VSCode): You only need to learn one IDE. Each language is just another plug-in.
- titzer 4y agoWait until you learn about these 2002 technologies called "extract method", "inline method", "encapsulate fields", "extract interface", "extract local", "inline local", "rename", plus about 200 code inspections...
- christophilus 4y agoI remember using Visual Studio in college (back in 1999, 2000) and coding circles around folks who were using text editors. These days, I use Neovim + LSP for a pretty decent approximation of an IDE-- it's quite good. Still not as good as Visual Studio + C#, but I'm on Linux now, and not writing C# anymore, and I definitely prefer an open-source, general purpose, light-weight, customizable editor.
- yellowapple 4y agoEmacs (with e.g. company) can do much of the same, without my laptop making a fighter jet sound quiet in comparison :)
- outworlder 4y ago> When I meet a young chap extolling the benefits of Vim or Emacs or really anything that doesn't have stepped debugging and code competition...well, there are no bonus points for doing things the hard way. Why do you think they are doing things "the hard way"? Emacs can have all the things you have described. And it can do that for languages that are not part of the .NET Framework, they just have to have a language server implementation. The problem with "IDEs" was placing all your eggs into a single basket. You are on Visual Studio and then you need to do some Java(or Scala, or whatever). And now you have to get another IDE. Some tried to be one IDE to rule them all (Eclipse, Netbeans), didn't work all that well. You need a good editor - most IDEs don't have one. You need integration with your language of choice. You need compilers and linters and a bunch of other things. Better to glue components that do one thing and do it well, than having one IDE trying to do everything. And those components can fell just as integrated.
- MrJohz 4y agoIntelliJ and VSCode have both worked pretty well with anything I've thrown at them, I'd consider them both fairly successful as IDEs "to rule them all". Obviously they're both very different ends of the IDE spectrum, but they've both had intellisense, debugging, type revealing, and refactoring features for all the mainstream languages I've tried with them. VSCode particularly tends to integrate well with LSPs.
- closeparen 4y ago>Why do you think they are doing things "the hard way"? Emacs can have all the things you have described In the first few years of my career I would try every few months to get these things actually installed and working in emacs. It was definitely the hard way. >The problem with "IDEs" was placing all your eggs into a single basket Eclipse is a uniquely terrible piece of software and I understand why it might polarize people against IDEs for life. The JetBrains products are pretty good and, importantly, modular and consistent enough across languages that I don't mind.
- aidos 4y agoI believe they’re talking about a different “hard way” in that they’re suggesting you can’t have those features in vim / eMacs etc and have to do something else instead. You’re not wrong, configuring these editors is 100% the hard way (that doesn’t stop me from doing it though).
- aidos 4y agoEverything is pretty much just language servers behind the scenes these days anyway. Neovim supports those natively, so those young chaps aren’t talking about your vim of yesteryear.
- flippinburgers 4y agoI am older than you and use neovim. It has code completion thank you very much.
- Viliam1234 4y ago> there are no bonus points for doing things the hard way Perhaps not from the technical perspective, but there are social advantages if you are a member of a clique that does things the hard way and considers it a sign of competence. ("Any idiot can write a code that compiles using autocomplete and syntax highlighting, but it takes a true master to achieve the same result using a decades-old Linux equivalent of Notepad.") They don't seem to understand that the ancient masters did things the hard way not as a pointless exercise, but simply because the easy way was not available back then.