12 ms·
I'm in camp 2, but I used to be in comp 1. Having worked in a large C++/C# project, and with large Java projects, I can say that a good IDE partially makes up
by beatgammit 14y ago
I'm in camp 2, but I used to be in comp 1.
Having worked in a large C++/C# project, and with large Java projects, I can say that a good IDE partially makes up for missing documentation. If there isn't documentation for a library, at least the IDE tells me what the parameters are, from which I can deduce how I can use it.
However, I have found that by not having an IDE, I spend more time documenting and understanding the code I write and less time relying on the IDE to tell me what I meant by a function or a class. I think about implementation details more because it's not as easy to just "refactor it later".
This pays off when my boss calls me when I'm on vacation saying there's a huge bug in the production code on our website. Since I understand the code pretty well, I can just SSH in, find the code in question, and hot-fix it, all without needing an IDE. If it's a compiled thing, ssh in, write a unit-test, apply patch, run and test. If it passes, it can't be any worse than before, so I ship him a binary to verify the problem is gone, and push an update. I can do all of this without needing to bring my work laptop on vacation with me, because I can have my customized vim on the server.
Also, I don't feel that I'm any less productive than someone with an IDE. When I switched to VIM, I was very unproductive. I kept making simple mistakes, because I was so used to the IDE fixing things for me. However, once I got used to it, I was able to write code as efficiently (if not more efficiently) than with an IDE. But there is a noticeable learning curve.
If you can show me an IDE I can use when I ssh in from a beach in Hawaii on my wife's personal laptop, then maybe I'll consider switching. But for now, VIM is enough of an IDE for me.