<story><title>How I&apos;m still not using GUIs in 2019: A guide to the terminal</title><url>https://www.lucasfcosta.com/2019/02/10/terminal-guide-2019.html</url></story><parent_chain><item><author>olig15</author><text>I&amp;#x27;m a game developer mainly writing&amp;#x2F;reading&amp;#x2F;debugging C++ on a codebase that&amp;#x27;s well over a million lines of code. As with most game-dev I&amp;#x27;m developing almost entirely using Visual Studio, and I can&amp;#x27;t imagine trying to navigate code using a terminal based editor.&lt;p&gt;Maybe it&amp;#x27;s just because this is what I&amp;#x27;m used to, however I just don&amp;#x27;t see how some of the tools would even be displayed in a terminal (parallel stacks window, for example) without some horrible ascii node graph.&lt;p&gt;GUI&amp;#x27;s are definitely more than just bloat. Possibly not for what the author us developing, but there is definitely a use for IDEs&amp;#x2F;GUIs.</text></item></parent_chain><comment><author>gpderetta</author><text>On the other hand I have worked on code bases in the 50M lines of code that would bring VS on its knees; people ended up just using it as a glorified text editor.&lt;p&gt;Note I&amp;#x27;m not knocking down on IDEs; as an Emacs user I would love reliable semantic indexing and navigation, but all the solutions that I have tried (rtags was the best) consume a lot of time and CPU indexing and switching branches often forces a rebuild. Currently, on a 1M lines  code base I get around with projectile (which uses the project git as a file index) for file discovery and ag for brute force search, which at least on linux can search the codebase quickly.</text></comment>
<story><title>How I&apos;m still not using GUIs in 2019: A guide to the terminal</title><url>https://www.lucasfcosta.com/2019/02/10/terminal-guide-2019.html</url></story><parent_chain><item><author>olig15</author><text>I&amp;#x27;m a game developer mainly writing&amp;#x2F;reading&amp;#x2F;debugging C++ on a codebase that&amp;#x27;s well over a million lines of code. As with most game-dev I&amp;#x27;m developing almost entirely using Visual Studio, and I can&amp;#x27;t imagine trying to navigate code using a terminal based editor.&lt;p&gt;Maybe it&amp;#x27;s just because this is what I&amp;#x27;m used to, however I just don&amp;#x27;t see how some of the tools would even be displayed in a terminal (parallel stacks window, for example) without some horrible ascii node graph.&lt;p&gt;GUI&amp;#x27;s are definitely more than just bloat. Possibly not for what the author us developing, but there is definitely a use for IDEs&amp;#x2F;GUIs.</text></item></parent_chain><comment><author>dan00</author><text>&amp;gt; I&amp;#x27;m a game developer mainly writing&amp;#x2F;reading&amp;#x2F;debugging C++ on a codebase that&amp;#x27;s well over a million lines of code. As with most game-dev I&amp;#x27;m developing almost entirely using Visual Studio, and I can&amp;#x27;t imagine trying to navigate code using a terminal based editor.&lt;p&gt;I&amp;#x27;m working with vim on a ~5 million line C++ code base. Thanks to
rtags[1] I&amp;#x27;ve all I need: auto completion, goto definition, even
semantically correct renaming or finding all locations in code calling
a certain function.&lt;p&gt;I&amp;#x27;m certainly not saying that it&amp;#x27;s as polished as &amp;#x27;Visual Studio&amp;#x27;, but
it works pretty well.&lt;p&gt;If tooling isn&amp;#x27;t baked into an IDE - which unfortunately is often the case
- then pretty much every editor with some kind of extension
mechanism can take advantage of it.&lt;p&gt;&amp;gt; Maybe it&amp;#x27;s just because this is what I&amp;#x27;m used to, however I just don&amp;#x27;t see how some of the tools would even be displayed in a terminal (parallel stacks window, for example) without some horrible ascii node graph.&lt;p&gt;Yes, most visualization are text based. E.g. for showing the references
for a function rtags uses the Quickfix-window of vim, which pretty much is
just a list with one entry for every reference. I can now jump to every
occurence in the list or even execute an operation on every reference,
like I&amp;#x27;ve removed the last parameter of the function call, and now I&amp;#x27;m
defining a vim substitution command for removing the last parameter 
and execute it on very item of the Quickfix-window.&lt;p&gt;Sometimes visualizations are certainly helpful, but I never
found them particular useful for software, because the more complex an
application gets, the less useful the visualizations become. At some point
you&amp;#x27;re less interested on the class level and more on the system level,
but tools can&amp;#x27;t that easily detect what are the systems in an application.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;Andersbakken&amp;#x2F;rtags&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;Andersbakken&amp;#x2F;rtags&lt;/a&gt;</text></comment>