Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do developers actually use vim to write code (Java) on a Windows OS? [closed]

Tags:

java

vim

vi

eclipse

...or is vi/vim only used when developing on a non-Windows OS?

If not, what feature(s) does vim provide that modern IDEs such as Eclipse do not? Why would one elect to use vim over Eclipse (or IntelliJ, Websphere, or other feature-rich IDEs) when developing on a Windows workstation? Note that I'm referring to Java development and to some degree compiled languages, not shell scripting or other forms of scripting.

like image 525
Manius Avatar asked Sep 30 '10 05:09

Manius


People also ask

Do people use Vim for Java?

Unfortunately, for most of that long time, Vim was not a viable option for Java (or Scala) development. But something has changed in the last year or two: the Language Server Protocol (LSP) has become really good. Honestly though, for most people, I still wouldn't recommend using Vim for Java development.

Do programmers still use Vim?

Vim was a visionary product at that time and remains highly relevant today because it remains true to what its users need most: a simple but powerful way to input and manipulate text. Vim listened to and understood what programmers needed and what key benefits were required to get the job done.

What percentage of developers use Vim?

If we look at the StackOverflow survey for 2019 about the most popular development environments, Vim is still there on the 5th place, with around 25% of Web Developers using it.

Why do so many programmers use Vim?

Vim has a small footprint, low latency, fast startup, allows for more screen space, customizable and most importantly, once the muscle-memory has been ingrained, it's nearly impossible to switch to something else.


2 Answers

Java is a ridiculously complicated language and I can't think of a single person who has memorized all the method parameters and return types of even the builtin classes in the JDK. Being that Java is self-documenting via JavaDoc comments and turning those into manual pages to be paged through seems pointless when you have an IDE like Eclipse that will call up the specific documentation for a particular method or class.

In short, when you're using (g)Vim, unless you're using some heavy extensions, you're flying blind most of the time and have most of the logic figured out in your head (or, you're using screen(1) and have the man page opened on the other terminal).

I'm a big fan of Vim, but for larger, more library-heavy languages like Java, I wouldn't use anything other than Eclipse. A friend of mine once conjectured that Java development was nearly impossible without an intelligent IDE and I agree.

like image 176
amphetamachine Avatar answered Oct 19 '22 14:10

amphetamachine


When you are used to a powerful "text editor", be it vim or Emacs (no flamewars here), it can be at time very difficult to use a "lesser" text editor, like the ones provided by default by the various IDEs.

What I do is simple: sometimes I do need to do things in my .java source file that are simply done fastly under Emacs. So what do I do? I switch from my IDE to Emacs (it's one shortcut away, on another virtual desktop), do my stuff, and switch back to IntelliJ IDEA (my Java IDE of choice).

Problem is, as amphetachine pointed out: using only vim or Emacs to do Java development feels like living in the stone age.

In the best of both world the "text editor" at the center of my IDE would be Emacs (or vim) and yet feature all the shiny real-time errors/warning, code-completion, code traversal and whatnots that good Java IDEs have.

P.S: here's a +7 upvote, +4 favorites question I asked as to how to always sync .java (or other files for that matter) between Emacs and IntelliJ IDEA:

Emacs: Often switching between Emacs and my IDE's editor, how to automatically 'synch' the files?

like image 32
SyntaxT3rr0r Avatar answered Oct 19 '22 13:10

SyntaxT3rr0r