Proper IDE is fine, but then you switch to/embed another language and suffer. Btw, my colleagues often fail to perform simple tasks with proper IDEs, e.g. grepping entire project folder, not only files added to the project. Or moving through sources effectively, leaving interesting checkpoints in splits. Or respecting sw/ts/et settings per-file. Or formatting a table. IDEs are too high-level for these things, because they can refactor-omg-rename for ideally correct static language sources.