For your ordinary average everyday normal well-supported language, stick with the IDE.<p>But suppose you&#x27;re working with some random language that nobody&#x27;s ever heard of. It&#x27;s some tool-, product- or site-specific thing. If you&#x27;re very lucky, there&#x27;s some ropey Scintilla-based text edit widget that lets you work with one file at a time. If you&#x27;re not, there&#x27;s quite literally fuck all. When you search on Google, there&#x27;s 0 useful results (until you get to page 9, and there&#x27;s 1 single post from somebody, on some random forum for general blarney, ranting about how they&#x27;re doing some contract work and using this stupid language and it&#x27;s terrible because there&#x27;s no tools and they&#x27;re stuck using notepad and their life sucks).<p>If you&#x27;ve got an IDE, now you&#x27;re sort of stuck. Maybe you can find a language it supports that&#x27;s a bit like, and then you&#x27;ve got syntax highlighting - sort of - and autoindent - maybe. But you have to do code browsing by grep, effectively, and you&#x27;ve got 0 in the way of code completion.<p>With emacs on the other hand you can relatively easily code up some language-specific support for syntax highlighting (takes 5 minutes) and autoindent (5 minutes for something basic, maybe 1-2 hours if you want to get fancy). Add some imenu regexps (5 minutes) and you&#x27;ve got code browsing from within a file. Put your imenu regexps into Exuberant Ctags (15 minutes), and you&#x27;ve got cross-file code browsing. Code completion... well... yeah... it&#x27;s not perfect, but if you squint a bit, dabbrev (2 minutes if you need to tweak your syntax categories) is fine.<p>I&#x27;ve never failed to turn a time&#x2F;effort&#x2F;hassle profit from doing this.