IDEs Are Dangerous
sokolmichael.com
sokolmichael.com
Your IDE adds metadata to your directory? SVN and git allow you to ignore files and directories.
It's not in the GUI menu so I can't do it! You're doing it wrong.
I can't pipe from my IDE to another program! What? My IDEs create files and these files and their output can be piped wherever. Maybe I'm in the minority but I've never felt the need to pipe directly from vi to anything else. I don't even know how or if that would work. I've piped the file I edited to something else before...which I can still do whether I use an IDE or not.
The whole blog post was just silly.
{range}!command will pipe content from vim to another command and back. Examples:
Sort contents of lines in place
:'<,'>!sort
Replace lines with calculated results (ie, line contains "2+3*5" and gets replaced with "17")
:'<,'>!bc
Today I use VS2010 and can honestly say I am hundreds times more productive.
"This in turns clutters the interface and goes against the simplicity they advertise."
Sure it's a big IDE with lots of options but when you finaly tune it to your tastes, it fits like a glove and stays out of the way.
Every toolbar and menu can be configured with what you want and made to hide and fly out when commanded.
I know a good guy who's a lead developer on one of MSFT's very large and visible projects.
I was stunned to learn that he uses vim - in his words, "the best development environment on earth." Very recently, he gave it up and succumbed to VS, because he found that for programming on Azure, he couldn't get by without it any more.
However I think that the author is absolutely right about two points:
* IDEs should integrated more tightly with the environment they are in, like VIM. The One-Tool-To-Rule-Them-All thinking ends up handicapping IDEs: something that would be simple to do via some other tool becomes a copy-paste-exec-copy-paste exercise in frustration.
* IDEs are generally too heavyweight. IntelliJ, the best IDE in the history of all possible universes, grinds like hell opening up a significant project the first time, building up the caches that allow its refactoring and lightening fast find-usages to work. And it demands a project file/project dir. It's bad enough that I end up using TextMate (which I hate) simply because it gives me a browsable tree on the side and decent syntax highlighting whenever I just want to look around in a project.
I think there is a middle ground here: an IDE that is designed with an 80/20 mindset: no caches, no project files, no state, instant open. Offer code completion (which shouldn't require a disk cache, just a parse), jump to definition (same) and then offer a find-usages that is really a grep-then-parse. Not as fast as IntelliJ, but still better than just a grep. And, addressing the first point above, very tight integration with the command line.
I think that's going to be my 40's project.
I haven't used many IDEs lately by when I was learning Java, netbeans was my best friend.
Aside from that, maybe the easy access to debugging. Although tests have made debugging less necessary for me.
Since that's got a 2005 date, can we agree that there's a trend here?
Also, Java "best practices" involve shitting all over your directory structure with singleton directories like "com"-- because "no one actually uses the Unix command line anymore"-- and putting tests in a separate directory tree ("src" vs "test").
If you have a Repl, you usually don't need an IDE. If you have no Repl, you're working with stone knives anyway and should just give up. http://michaelochurch.wordpress.com/2012/02/07/repl-or-fail/
What I do like is the idea of a read-only IDE available through the web. Google has something like this (Codesearch) and it's great for large codebases.