Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why is there such massive nerd-rage when it comes to people using IDEs versus what amounts to text editors with scripting toys?

IDEs are fantastic and I am a more productive programmer for using one. I work with a pretty big codebase and just having excellent cross-file navigation and usage searches are big time-savers. Color coding allows me to establish a visual understanding of more code at a glance which is especially useful when I didn't write it. Integrating with source control directly from your editor gives you fine-grained organization when you are working on multiple changes in parallel. Task managers (ie, Mylyn or Atlassian), in conjunction with source control integration, significantly reduce the overhead time that is required to perform workflow-related management during the day. And despite my hacker pride, I love having good debugging tools around as they are wonderful at aiding in maintenance.

Code completion saves you time and accelerates learning. Maybe I'm in the minority here, but I simply cannot understand why autocomplete makes you so bad. Once your team grows to beyond 4-5 programmers, you're going to be seeing plenty of code you didn't write yourself. A knowledge of naming conventions and design patterns allow you to use autocomplete to help find the behavior you want before turning to documentation or duplicating it yourself. At the very least, it helps me type faster because I am typing less and it helps me avoid spelling mistakes. Autocomplete is a search tool and a typing assistant; it does not create a black hole in your brain that sucks away any memory of what you have seen or done in the code.

If you find a function that is useful, stop and find out what it does. Why are you calling it if you don't know what it does? If you don't remember it after the first time, you probably will have it committed to memory by the third. And who cares if you don't remember it, do we really need to know every API of every library we use? No, we used it as a tool to get the job done. We have precious few brain cells to spend them on memorizing an ever-changing dictionary; let the computers do what they do so well.

I use Textmate and occasionally vim when the situation arises. They are excellent tools for certain types of work. But when I'm working on a feature in a big codebase, there is no place like my IDE. It takes care of all of us average programmers at average companies.



The boring answer is that there is no particular nerd-rage directed against IDEs. There are many nerds who prefer IDEs and there are many nerds who prefer text editors. The modern culture encourages us to self-identify as rebels breaking away from uniformity. Thus your attention focuses on people putting down IDEs, while a vim user's attention focuses on people putting down text editors.

I don't use IDEs, because I find myself somewhat less productive in them. Syntax coloring, to me, is a fantastic feature, and I use it in a text editor. Integration with source control and usage searches are things I like to do in a separate window, because I want them to be deliberate enough - I think they'd break my concentration more easily if I didn't have to context-switch to do them. I dislike autocomplete for a similar reason - it creates the impression of my thought moving in tiny jerks all the time - even if it isn't really true, the impression itself is a nuisance. I don't think that the typing speed gains from autocomplete could really matter to me. The time spent actually typing lines of source code is a very small portion of my most productive days.

All of these things are not true for some programmers I know who feel at home in IDEs, some of them my betters.


Most if not all of the things you counter nerd-rage about here are available in vim and emacs if you want them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: