Editing text is a solved problem: vim or emacs. Pick one and get back to work.
Editing text is a solved problem: vim or emacs. Pick one and get back to work.
An argument I hear a lot is: 'vim is fine for editing files on a remote server, but not suitable for everyday work'. I believe it is a common belief outside of the HN crowd.
Seriously, it's a language sufficiently verbose and inexpressive to effectively require an IDE. If you're just going to be generating 70% of your code from your IDE, why is it there in the first place?
Unless you're planning to stay at your current company forever, this is as good a time as any to try something new. Put some excitement into your life :).
It's the Java that would really drive me off the wall. Even in enterprise business applications (which aren't fun as is), Java is exceptionally annoying. But it is easy to hire for!
Unless I'm missing something, specialized non-VIM IDEs tend to be much better at auto completion (especially in C++), jump-to-definition, refactoring, etc. IDE users (who typically are ignorant to VIM) can use these features with extreme productivity. On the other hand, VIM users tend to be rather ignorant of how incredibly productive you can be and how nice it feels to have these powerful context-sensitive tools at your fingertips (and sorry, but CTAGS is useless). Regardless of what IDE you use, nobody can deny IMO that having an editor look up APIs and function lists for you in a context-relevant manner is productivity-boosting versus the alternate of scanning headers manually.
So in this sense I think both VIM/EMACS and IDE users are ignorant to other editor paradigms. What I don't like is how each party tries to claim that their method is the best, without having truly tried both.
I've used both extensively (used VIM for years) and I prefer IDEs by far, but that's just my personal preference.
I may be crazy about Emacs, but I'd probably still use an IDE if I had to do significant Java development. This says far less about IDEs and editors than it does about Java: I'm going to try very hard not to do any significant Java development in the future, thank you very much!
And that's really the entire point of my earlier post: it was not in favor of editors or IDEs, it was in favor of not using Java. Java is a poor language cursed with a good implementation: it's too good to die but not good enough to use.
A common argument I hear from people defending Java is that their IDE can generate half their code for them. And that was what I was really responding to: if you can use a tool to automatically generate all that code, it should just not be there in the first place!
Your experiences using an IDE for Java say as little about the relative merits of an IDE or text editor as experiences using Emacs on some Lisp: they're both extreme cases. And, more importantly, the reason normal editors are poor for Java, and the reason that SCdF is not touching a normal editor, are endemic to Java and not to the other tools.
You can also see it as a "problem" of the language if you cannot create an IDE that improve your productivity over a text editor.
I'm trying to tell you that it's probably a waste of your time to agonize over text editors, when there are two very powerful editors available to you, with decades of development and refinement, millions of active users, hundreds or thousands of contributions of plugins and scripts and support tools, copious documentation and examples, and the tools you need to embark on any text editor task you may have without ever feeling limited by the editor (assuming you have learned your editor).
Do you want to work on your software, or do you want to work on text editor scripts? Sure, sometimes you need to write a macro or script or something...but, I can count the lines of vim code I've written in my entire 20+ years of programming on my fingers and toes (if I count vimrc stuff, it'll require a few other people's fingers and toes, but it's still statistically zero compared the amount of code and docs I've written in that time).
I'll leave it to Bram Moollenaar figure out how to improve vim. He's added Python support to vim years ago. Is Python really insufficient for you? I've never needed it, but if I were making something big for vim, I'd probably look into it. But, again, I'd rather be working on the stuff I'm passionate about. Editing text is not a problem I'm excited about; if it's your bag, that's great. But, for the rest of us, it's just a form of procrastination to fiddle and futz around with new tools when the old ones are more than sufficient (and probably superior, on the whole, to new ones...sure, TextMate is super-badass and awesome; but it's missing tons of capabilities that vim and emacs have, and you'd probably be better off learning how to maximize your efficiency in those more powerful editors, than learning new tools which will come and go).
"Ed is the standard text editor."
And ed doesn't waste space on my Timex Sinclair.What is wrong with sharing them?