I am primarily a C++ developer.  I used to alternate between emacs and eclipse depending on whether I needed IDE functionality or not (you can argue about whether one &quot;needs&quot; an IDE, but when browsing unfamiliar code, &quot;find where this function is used&quot; or &quot;go to where this function is defined&quot; are incredibly useful, and grep doesn&#x27;t always cut it).<p>Then a coworker introduced me to this thing called &quot;rtags&quot;.  You run a daemon that understands clang and (some set of build tools) and it handles your IDE functionality for C++.  You then get the right rtags plugin for your particular editor, and use that to glue your rtags to whatever editor you use.<p>I still use emacs for this, but I am actively looking at the family of more modern emacs-inspired editors, such as sublime, and atom, that represent newer iterations on the old idea of a simple GUI editor with a rich extensible scripting environment.<p>I am very excited about the idea of a future in which your &quot;IDE&quot; isn&#x27;t a standalone monolithic piece of software, but something you cobble together out good, minimalist, scriptable editor and a grab bag of services and plugins.  I&#x27;m almost wondering whether things like Eclipse and Visual Studio actually look a lot like this concept if one looks &quot;under the hood&quot;<p>I am idly curious, by the way, about things that are like rtags, but for statically-typed languages other than C++.