It would be good if there was some sort of package you could download that sets up your development environment (Vim + plugins + configuration file) for a particular language.
At the moment it's just a personal preference and I'm finding it difficult to find what's useful or not
For C#, I don't mind VS2010. My laptop handles it just fine, though, yes, it's a bit slow on start-up, but once it starts, I can just leave it open for days and days. I do, however, use the VIM extension.
For all other stuff (Perl, ColdFusion (really), Javascript), I use gVim.
I've never understood that statement (I've programmed Java for 10 years, using a text editor). I think I'm effective.
For better or for worse, most of that tooling is implemented as an IDE command/plugin. Command-line refactoring tools are way rarer. For example, <http://stackoverflow.com/questions/704062/are-there-any-open...; was asked a year ago, but the top answer lists software that, according to it's website, was Last released seven years ago.
So, IMO, that 'require' may not be absolute, but it certainly is pragmatic.
What makes you think you are effective in Java? Do you know what you are missing?
The argument I've heard many times before is that you must use an IDE with Java because Java is overly verbose.
I'm effective in Java in that I achieve what I want to achieve. The bottleneck has never been speed of typing/refactoring etc.
For Java, you can take a function in isolation, search its source file for import statements, and tell me what the variables, statements and expressions are. C# was in the same boat, but with LinQ, I think it gave up that idea. Now,
Nonsense. A very small category of behavior exists where static parsing of Perl 5 cannot determine whether a given program is valid. That's all. It's possible to write a pathological program which has two valid and working parses, but I've never seen it and it's an intellectual game, not a trap waiting to snare an unwary programmer.
(I have no idea what "an identifier or a function name" means, as Perl uses sigils to distinguish between variables and function names.)
See http://www.modernperlbooks.com/mt/2009/08/on-parsing-perl-5.... for details.
I think C# needs an IDE like VS more than Java, if only because it doesn't have a standardized high-quality documentation tool equivalent to javadoc. For many .Net libraries, intellisense is the only source of documentation, and MSDN docs are rarely very helpful.
Personally I do mostly Ruby development, so I use VIM plus a host of plugins that are Ruby-specific. If you develop in another language then there are probably a host of plugins that make that language easier to work with.
In general though you are correct that you will have to tweak more to get VIM or Emacs to work for you - an IDE is essentially an environment that has already been tweaked for you.