<story><title>Unix as IDE</title><url>http://blog.sanctum.geek.nz/series/unix-as-ide/</url></story><parent_chain><item><author>skrebbel</author><text>If UNIX gets language-aware tools that allow me to search-replace methods of a particular name (and not other identifiers with the same name), and if Vim gets autocomplete* that understands which packages/libraries/headers/assemblies I&apos;m importing, then I&apos;ll seriously consider moving to UNIX as an IDE.&lt;p&gt;Until then, I fully agree with you.&lt;p&gt;* To be ahead of the haters: autocomplete isn&apos;t a trick for avoiding having to type some extra characters. It&apos;s a way for exploring an API you&apos;re only vaguely familiar with. I guess you need to be at least &lt;i&gt;somewhat&lt;/i&gt; familiar with statically typed languages in a decent IDE to really appreciate what this can do to your productivity. I seldom need to refer to the API docs of libraries I use.</text></item><item><author>geophile</author><text>grepping for &quot;foobar&quot; is very different from finding invocations of the function named &quot;foobar&quot;. Cross-file search and replace, which is doable from emacs, is different from refactoring. I love emacs and unix, but sorry, it&apos;s not an IDE. Intellij, now that&apos;s an IDE.</text></item></parent_chain><comment><author>tikhonj</author><text>The thing is that UNIX already has those tools--they just naturally depend on language. So, for example, Emacs has js2-mode and js2-refactor which are about as good as you can expect for JavaScript. There are also similarly capable modes for Lisp.&lt;p&gt;There are also editor-independent tools like Ensime for Scala which is basically a server that provides IDE-like tools that can be used from Emacs or Vim. Scion provides something similar for Haskell.&lt;p&gt;There are also things like CEDET for C/C++ which add very IDE-like capability to Emacs. In fact, CEDET is basically just a framework for parsing languages and using that information for things like auto-complete.&lt;p&gt;Of course, there are some languages conspicuously missing--Java and C# for example. I tried using JDEE for Java a while back and it was really bad; I&apos;ve never used C# but I don&apos;t think it&apos;s well-supported either. Ironically, these are two of the languages that need an IDE the most in my experience. (And the language that needs it least--Haskell--has some support.)&lt;p&gt;So if you&apos;re doing serious Java/C# development, then you have a valid point. If you&apos;re using another language, chances are that Emacs or maybe several editors can actually support it intelligently. (Also, maybe there are options for C#/Java that I am not aware of. If so, I would appreciate being enlightened.)</text></comment>
<story><title>Unix as IDE</title><url>http://blog.sanctum.geek.nz/series/unix-as-ide/</url></story><parent_chain><item><author>skrebbel</author><text>If UNIX gets language-aware tools that allow me to search-replace methods of a particular name (and not other identifiers with the same name), and if Vim gets autocomplete* that understands which packages/libraries/headers/assemblies I&apos;m importing, then I&apos;ll seriously consider moving to UNIX as an IDE.&lt;p&gt;Until then, I fully agree with you.&lt;p&gt;* To be ahead of the haters: autocomplete isn&apos;t a trick for avoiding having to type some extra characters. It&apos;s a way for exploring an API you&apos;re only vaguely familiar with. I guess you need to be at least &lt;i&gt;somewhat&lt;/i&gt; familiar with statically typed languages in a decent IDE to really appreciate what this can do to your productivity. I seldom need to refer to the API docs of libraries I use.</text></item><item><author>geophile</author><text>grepping for &quot;foobar&quot; is very different from finding invocations of the function named &quot;foobar&quot;. Cross-file search and replace, which is doable from emacs, is different from refactoring. I love emacs and unix, but sorry, it&apos;s not an IDE. Intellij, now that&apos;s an IDE.</text></item></parent_chain><comment><author>gizzlon</author><text>Get what your saying about autocomplete, but the &quot;avoid having to type extra characters&quot; kind of autocomplete is very useful as well. I use it to complete things like long variable names and English text. Its main strength is that you can use it to autocomplete &lt;i&gt;everything&lt;/i&gt;, not just the stuff your IDE is aware of.</text></comment>