3 ms·
I'm somewhat surprised this is still controversial. The value of an IDE is entirely commercial: instead of spending company (or school, or personal) time and do
by Jach 14y ago
I'm somewhat surprised this is still controversial. The value of an IDE is entirely commercial: instead of spending company (or school, or personal) time and dollars taking the time to learn a language and its common libraries, or taking the time to understand the structure of a large project, the IDE lets me jump in and start coding and will happily do code-completion and doc-displaying on request.
My first language was PHP, I can still type out in vim most things with few trips to php.net because when I first learned it I just used a basic text editor that didn't even do syntax highlighting, and so I had to memorize most of the standard functions because it was too annoying/time-consuming to keep referencing php.net. Some years ago I learned Flex and to this day I can still only get things done with the Flash Builder IDE, coding with just a text editor is strenuous and Adobe's docs aren't as good for quick reference as PHP's. Could I do it without Flash Builder if I tried harder? Sure. But the point the author gets at is that for some languages the first suggestion is an IDE, and that says something about the language and its common libraries (and programs written in it). There's also an interesting (to me) difference in the way *nix C programs are written and the way Windows C programs are written; the presence of an IDE can't be the single determinant of a language's complexity.
Among other programmers I know I'm one of the few who doesn't use Visual Studio for C or C++, nor do I use Eclipse or Other for Java. I think this is due to my fortune of learning the languages in similar fashion to PHP, whereas with Flex I learned on-the-job. I use those IDEs only when I have to, i.e. for a school project. I have nothing good to say about Visual Studio after using it some dozens of times, though I hear it's nice from C# people who have embraced Microsoft's offerings completely (which are admittedly nice so long as you don't try to do things differently). The only thing I sort of like about Eclipse is the environment around the Java debugger--oddly I like gdb but not jdb. Though I only use it when judiciously placed print statements aren't helpful enough (such as in projects so complex I can't understand the control flow without stepping through with a debugger).
Anyway, the tradeoffs are known. I wouldn't tell companies to jettison their IDEs, I'd just say let me use vim+Linux if I happen to work there and am already familiar with the language (I bet I'll be more productive than IDE users) or else get me the best IDE money can buy if I'm not.
- pacala 14y agoThe value of refactoring IDEs is that they give you a cheap way to reorganize your designs as the code evolves. I see no data based evidence of your coding being faster than IDE coding. In my experience of comparing me with myself, I am an order of magnitude faster in accommodating reviewer comments and changing the code design when using a good refactoring IDE, as opposed to menially updating 10s of code reference points manually. I'm also significantly faster in identifying problems in unknown code using an IDE, especially if the IDE has tracing support. Tracing being exactly what printf debugging gives you, except that it's faster to setup and easier to cleanup when the debug fest is done.
- Evbn 14y agoEclipse makes refactoring a breeze on large projects, but when I factor in time spent working around Eclipse internal breakage in loading large projects, the advantage is less obvious.