DEV Community

Discussion on: Who said that VIM cannot compete with IDEs?

 
redsofaforeveryone profile image
RedSofaForEveryone • Edited

You crushed him, Gerard.

Registered just to say that. Thank you.

Thread Thread
 
erebos-manannan profile image
Erebos Manannán

Hardly. There's simply a point where an argument becomes pointless.

Thread Thread
 
gnu profile image
Gnu's Not Unix

Good morning, Duke Lietu.

If you had an argument, you would explain it.

As I can see, you think that an IDE has some "magic" or secret algorithms, and you think these algorithms are not allowed to be implemented into any other program/plugin. It's ridiculous.

That said, if you need an IDE to do refactoring and extraction to fix «stupid shit that you just shouldn't be doing» (I'm quoting you, here), then you should get more experience into programming, because these actions are implemented to help new programmers without experience or to fix code written by programmers without experience. And if you need to change text recursively in the full project, with grep, sed, awk, ag (Unix tools) you should have enough, because they are better, and you can use them into the terminal, into Vim, into Emacs. But not into Sublime Text 3, not into Atom, not into any IDE.

In essence, Vim is a Unix tool and you can use all the Unix tools into Vim.

An IDE has tools to debug, tools to check syntax and tools to build software fast and quickly. Most of the times, these tools are subjective implementations by the IDE developers, so these tools are not the official ones.

For example, you can check the Perl syntax using the command "perl -c " from the terminal, using the official package, or into Vim using the command ":!perl -c %". Why would you use an IDE with its own Perl syntax implementation, just because it has unified tools organized into drop-down menus? It's ridiculous.

You can debug a project using the gdb package from any Unix terminal, or into Vim using the command ":!gdb", or using one of dozens of plugins that integrate gdb in Vim with added features, like conque-gdb, lldb, pygdb, clewn, pyclewn, vim-debug or vimgdb to step through the source code. There are dozens of tools to do one thing, you can choose the best to fits your needs or even you can modify them because they are open source. Try to do this in an IDE.

You can compile C/C++ using gcc from the terminal using the command "gcc ", or you can use it into Vim with the command ":!gcc %". Moreover, you build fast and quickly customizing a Makefile, then you would use the command ":make", or simply configure a shortcut to build faster, for example "nnoremap ii :make". Then you can compile faster after editing the code by pressing «,ii» (sic), without needing to get the mouse and point&click.

I can do things in Vim that you can not even imagine.

You said before, the following text:

«JetBrains alone makes IDEs for C/C++, C#, F#, Go, Groovy, Java, JavaScript, TypeScript, Kotlin, Objective-C, PHP, Python, Ruby, Scala, and Swift. They also support all the companion languages like HTML, CSS, SASS, SQL, JSX, BASH, YAML, JSON, etc. that you frequently use when developing your applications.»

You can use all of these languages in Vim (excepting proprietary languages, such C#), using the official tools to check syntax, compile, build, etc, from a Unix environment; it's better than using subjective implementations. To program in C#, use Visual Studio or VSCode. Of course.

Do you really think Vim does not support, for example, Ruby, JSON, Bash, Go, TypeScript or Swift? You are very funny.

With Vim and Unix tools ecosystem, you have the maximum control of a project. Of course I wouldn't recommend Vim on Windows, where Unix tools are missing. Since you can use all of them in Vim and pass the data into it, there's nothing better than Vim running on a Unix-like system, like GNU/Linux, FreeBSD, macOS, etc. Also, one can mix these tools to do new functions/tasks into the editor. As you can see, Vim is not only an editor with plugins, it's also the code editor of Unix. I can say the same for Emacs.

Have a good day.

PD: Thank you, RedSofaForEveryone for your kind words.

Thread Thread
 
erebos-manannan profile image
Erebos Manannán

If you had an argument, you would explain it.

No, and that's a stupid expectation.

I've said everything that needs to be said on the subject of Vim, and nothing worth commenting on has been added to the conversation.

then you should get more experience into programming, because these actions are implemented to help new programmers without experience or to fix code written by programmers without experience

This really shows your ignorance. You sound like you've got a couple of years of experience behind your back and now feel like you know everything. Everyone makes mistakes, nobody's code is perfect, ever, as in the real world requirements change over time. Code needs frequent refactoring, and the better your tools are for that the better you will be at your job - making the best software you can in the amount of time you have.

And if you need to change text recursively in the full project, with grep, sed, awk, ag (Unix tools) you should have enough

Just, lol. Good luck with that.

I can do things in Vim that you can not even imagine.

That really states just how intentionally ignorant you are being. I know what Vim can do, and no me listing various IDEs JetBrains makes does not mean that I think you can't get some support for them on Vim.

... now goodbye.

Thread Thread
 
gnu profile image
Gnu's Not Unix

Definitely, your code needs to be refactored, so you are the ignorant here. I've been programming since 1999, when I started programming in C++ using an IDE (yes, an IDE). You clearly don't know Unix so you talk from the ignorance, mainly when you say you know Vim. You can't know Vim if you even don't know Unix tools. You are really funny. Heh.

I had to refactor when I was learning Java, too verbose language, having to modify a lot of files requiring a parser. Nowadays there's a parser for Vim, as well. However, I'm not interested on Java anymore because other languages fit better on my needs: C/C++, Perl and Python (my general purpose tools), Go (concurrency), Rust (interop), RoR (web-dev), JS (web interactivity), Bash (system config)... All the languages I mentioned are perfectly usable in Vim, and you would change your opinion if you were more open.

I think you are in the same point I was a lot of years ago, requiring an IDE because you think it's the best, as I did at some moment of my life until I discovered Vim.

Let me say you won't have benefits of using Vim if you don't configure it. Of course, Vim without plugins and without Unix tools is a simple code editor, just a bit better than nano. Vim with plugins can do the same as any other code editor, and Vim with Unix tools using the official syntax checkers, the official debuggers and the official compilers is better than any IDE using subjective implementations.

If you can't understand this, then there's nothing to do with you. Good luck :D

Thread Thread
 
erebos-manannan profile image
Erebos Manannán

Dude, nobody cares how long you've been programming, or with what languages. Your random outbursts are just making your argument less interesting. Your random bashing of Java is also completely irrelevant to the discussion.

I think you are in the same point I was a lot of years ago, requiring an IDE because you think it's the best

Nice try with the combined strawman & ad hominem -fallacies.

Thread Thread
 
gnu profile image
Gnu's Not Unix

You say «nobody cares how long you've been programming» after I answered this because of allusions, when you said «you sound like you've got a couple of years of experience behind your back and now feel like you know everything», so when you then say «Nice try with the combined strawman & ad hominem -fallacies.», apply this to yourself, because I said this going down to your level. ;)

Thread Thread
 
johnpt profile image
john-pt

Thanks Gerard, I didn't know many of the things you listed could be done with Vim + Plugins.

PS. And yes, you crushed him.

Thread Thread
 
pianocomposer321 profile image
pianocomposer321

This was one of the most interesting things I've read in a long time. Thx Gerard.

P.S.
A little less harsh language and cursing would be better though. It really doesn't add anything to your argument.