<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: IDEs, education and the UNIX philosophy</title>
	<atom:link href="http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/feed/" rel="self" type="application/rss+xml" />
	<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/</link>
	<description>Computer Science isn&#039;t a science and it&#039;s not about computers</description>
	<lastBuildDate>Wed, 23 May 2012 15:01:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: dan</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-254</link>
		<dc:creator><![CDATA[dan]]></dc:creator>
		<pubDate>Tue, 10 Feb 2009 09:38:43 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-254</guid>
		<description><![CDATA[If you think integrating a browser into the OS is crazy well the Linux kernel contained a web server for a while.]]></description>
		<content:encoded><![CDATA[<p>If you think integrating a browser into the OS is crazy well the Linux kernel contained a web server for a while.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-253</link>
		<dc:creator><![CDATA[Richard]]></dc:creator>
		<pubDate>Tue, 10 Feb 2009 08:37:34 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-253</guid>
		<description><![CDATA[grep and ctags FTW!

I&#039;ve tried Eclipse CDT&#039;s indexing, but it always takes ages, then doesn&#039;t actually find anything!

With ctags it takes seconds to create the tags file and always jumps to the right place. cscope is cool too, but I find grep -r (or lately, ack) is usually a faster way to find the places a function is used.

And I *hate* IDEs that change files behind your back. Eclipse is especially guilty of this.]]></description>
		<content:encoded><![CDATA[<p>grep and ctags FTW!</p>
<p>I&#8217;ve tried Eclipse CDT&#8217;s indexing, but it always takes ages, then doesn&#8217;t actually find anything!</p>
<p>With ctags it takes seconds to create the tags file and always jumps to the right place. cscope is cool too, but I find grep -r (or lately, ack) is usually a faster way to find the places a function is used.</p>
<p>And I *hate* IDEs that change files behind your back. Eclipse is especially guilty of this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-252</link>
		<dc:creator><![CDATA[Ken]]></dc:creator>
		<pubDate>Tue, 10 Feb 2009 03:09:57 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-252</guid>
		<description><![CDATA[&quot;Consider Emacs: it is extremely modular and extremely extensible by virtue of it’s embedded Lisp interpreter.&quot;

This is a strange thing to say in a paragraph talking about the Unix Philosophy, since Emacs comes from a completely different culture (MIT/ITS/Lisp vs Bell/PDP/C) and is virtually the antithesis of the Unix Way (everything in one process, communicating by function calls with rich data types).

I love Emacs as much as anybody, but I wouldn&#039;t claim it has anything to do with Unix.  We even had a funny name for the Unix port of Emacs (&quot;Gosmacs&quot;) way back when that wasn&#039;t the common place to run it!

P: &quot;Have you ever tried building a medium-large-scale application (say, a project with 50-60 classes) with emacs and gcc? I’m sure it’s possible, with persistence...&quot;

Yes, I&#039;m working on a large system right now -- not in C, but it has over 600 classes, and I don&#039;t know what an IDE could do for me that Emacs can&#039;t.  find-tag is just as fast with 600 classes as with 6.  Macros make O(n) editing tasks into O(1) editing tasks on any size project.

What specific feature of an IDE helps you here?  Everything I can think of that IDEs brag about, I do in Emacs every day.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Consider Emacs: it is extremely modular and extremely extensible by virtue of it’s embedded Lisp interpreter.&#8221;</p>
<p>This is a strange thing to say in a paragraph talking about the Unix Philosophy, since Emacs comes from a completely different culture (MIT/ITS/Lisp vs Bell/PDP/C) and is virtually the antithesis of the Unix Way (everything in one process, communicating by function calls with rich data types).</p>
<p>I love Emacs as much as anybody, but I wouldn&#8217;t claim it has anything to do with Unix.  We even had a funny name for the Unix port of Emacs (&#8220;Gosmacs&#8221;) way back when that wasn&#8217;t the common place to run it!</p>
<p>P: &#8220;Have you ever tried building a medium-large-scale application (say, a project with 50-60 classes) with emacs and gcc? I’m sure it’s possible, with persistence&#8230;&#8221;</p>
<p>Yes, I&#8217;m working on a large system right now &#8212; not in C, but it has over 600 classes, and I don&#8217;t know what an IDE could do for me that Emacs can&#8217;t.  find-tag is just as fast with 600 classes as with 6.  Macros make O(n) editing tasks into O(1) editing tasks on any size project.</p>
<p>What specific feature of an IDE helps you here?  Everything I can think of that IDEs brag about, I do in Emacs every day.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrutarshi Basu</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-251</link>
		<dc:creator><![CDATA[Shrutarshi Basu]]></dc:creator>
		<pubDate>Tue, 10 Feb 2009 02:42:13 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-251</guid>
		<description><![CDATA[Thanks for all your comments. I&#039;d just like to point out that the to-IDE-or-not-to-IDE debate is still far from settled. Sometimes they are the best tools, but sometimes they&#039;re not. It&#039;s productivity and easy of coding that matters.]]></description>
		<content:encoded><![CDATA[<p>Thanks for all your comments. I&#8217;d just like to point out that the to-IDE-or-not-to-IDE debate is still far from settled. Sometimes they are the best tools, but sometimes they&#8217;re not. It&#8217;s productivity and easy of coding that matters.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: P</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-250</link>
		<dc:creator><![CDATA[P]]></dc:creator>
		<pubDate>Mon, 09 Feb 2009 23:45:03 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-250</guid>
		<description><![CDATA[I somewhat disagree. Have you ever tried building a medium-large-scale application (say, a project with 50-60 classes) with emacs and gcc? I&#039;m sure it&#039;s possible, with persistence, but at some point, I would totally lose track of everything. I tried building Servlet/JSP with emacs and ant and it was terrible.

The one thing I would agree with though is not to rely on the IDE for everything. I use the IDE to help me with remembering dozens of library functions and classes I can&#039;t be bothered to memorize, and to view the overall state of a project--class organization, version control, UML diagrams, use cases, documentation-- and as Byron said I feel I know enough about these tools to benefit from the use of an IDE. Try doing all that with Emacs. It&#039;s simply impossible.

My take on this is that once a programmer gets accustomed to them, tools like emacs and make are best used on an as-needed, fine-tune basis--the bulk of work can be done in an IDE. The IDE doesn&#039;t exist so that people can slack off from learning emacs, vim, or SVN. It just makes the job easier for those of us who have enough experience with those tools.]]></description>
		<content:encoded><![CDATA[<p>I somewhat disagree. Have you ever tried building a medium-large-scale application (say, a project with 50-60 classes) with emacs and gcc? I&#8217;m sure it&#8217;s possible, with persistence, but at some point, I would totally lose track of everything. I tried building Servlet/JSP with emacs and ant and it was terrible.</p>
<p>The one thing I would agree with though is not to rely on the IDE for everything. I use the IDE to help me with remembering dozens of library functions and classes I can&#8217;t be bothered to memorize, and to view the overall state of a project&#8211;class organization, version control, UML diagrams, use cases, documentation&#8211; and as Byron said I feel I know enough about these tools to benefit from the use of an IDE. Try doing all that with Emacs. It&#8217;s simply impossible.</p>
<p>My take on this is that once a programmer gets accustomed to them, tools like emacs and make are best used on an as-needed, fine-tune basis&#8211;the bulk of work can be done in an IDE. The IDE doesn&#8217;t exist so that people can slack off from learning emacs, vim, or SVN. It just makes the job easier for those of us who have enough experience with those tools.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terry</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-249</link>
		<dc:creator><![CDATA[Terry]]></dc:creator>
		<pubDate>Mon, 09 Feb 2009 23:36:23 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-249</guid>
		<description><![CDATA[Hmm... so you want strong integration huh? You could try gasp Microsoft Visual Studio for development. :-) Microsoft is the king of integration yep these guys even integrated a web browser into the OS. I know...I know sacrilege you are only l33t if you use tools with a decades old user interface design.]]></description>
		<content:encoded><![CDATA[<p>Hmm&#8230; so you want strong integration huh? You could try gasp Microsoft Visual Studio for development. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Microsoft is the king of integration yep these guys even integrated a web browser into the OS. I know&#8230;I know sacrilege you are only l33t if you use tools with a decades old user interface design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Byron</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-248</link>
		<dc:creator><![CDATA[Byron]]></dc:creator>
		<pubDate>Mon, 09 Feb 2009 21:40:39 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-248</guid>
		<description><![CDATA[I feel the same way. I am an emacs+console user and have tried multiple times to use IDE&#039;s to do my job. &quot;Integrated everything&quot; is really nice for things like prototyping etc, but it shields the user of the IDE from what is really going on in all the steps of the development cycle. That IMHO hurts the user as they may not fully understand what is happening across programs and processes. For me, giving a dev the use of an IDE means trusting they understand CVS, MySQL, html, php, javascript etc on their own and most importantly how to work with the pieces outside the context of a web page. (debugging, rolling backs, benchmarking etc)

&quot;I have some doubts about the text streams part&quot; - Not sure why. (http://en.wikipedia.org/wiki/Pipeline_(Unix)). The man who coined the phrase you quoted (Doug McIlroy) based pipelining on &quot;Standard Streams&quot; which equaled the connection between the program being run and its environment. Standard streams (std{in,out,err}) are texual.

&quot;I have some doubts about the text streams part&quot; - Not sure why. (http://en.wikipedia.org/wiki/Pipeline_(Unix)). The man who coined the phrase you quoted (Doug McIlroy) based pipelining on &quot;Standard Streams&quot; which equaled the connection between the program being run and its environment.]]></description>
		<content:encoded><![CDATA[<p>I feel the same way. I am an emacs+console user and have tried multiple times to use IDE&#8217;s to do my job. &#8220;Integrated everything&#8221; is really nice for things like prototyping etc, but it shields the user of the IDE from what is really going on in all the steps of the development cycle. That IMHO hurts the user as they may not fully understand what is happening across programs and processes. For me, giving a dev the use of an IDE means trusting they understand CVS, MySQL, html, php, javascript etc on their own and most importantly how to work with the pieces outside the context of a web page. (debugging, rolling backs, benchmarking etc)</p>
<p>&#8220;I have some doubts about the text streams part&#8221; &#8211; Not sure why. (<a href="http://en.wikipedia.org/wiki/Pipeline_(Unix)" rel="nofollow">http://en.wikipedia.org/wiki/Pipeline_(Unix)</a>). The man who coined the phrase you quoted (Doug McIlroy) based pipelining on &#8220;Standard Streams&#8221; which equaled the connection between the program being run and its environment. Standard streams (std{in,out,err}) are texual.</p>
<p>&#8220;I have some doubts about the text streams part&#8221; &#8211; Not sure why. (<a href="http://en.wikipedia.org/wiki/Pipeline_(Unix)" rel="nofollow">http://en.wikipedia.org/wiki/Pipeline_(Unix)</a>). The man who coined the phrase you quoted (Doug McIlroy) based pipelining on &#8220;Standard Streams&#8221; which equaled the connection between the program being run and its environment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anon</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-247</link>
		<dc:creator><![CDATA[Anon]]></dc:creator>
		<pubDate>Mon, 09 Feb 2009 21:21:12 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-247</guid>
		<description><![CDATA[@Selinap

&quot;Not because of its weaknesses, but, the long learning curve.&quot;

Or the RSI.]]></description>
		<content:encoded><![CDATA[<p>@Selinap</p>
<p>&#8220;Not because of its weaknesses, but, the long learning curve.&#8221;</p>
<p>Or the RSI.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Selinap</title>
		<link>http://bytebaker.com/2009/02/09/ides-education-and-the-unix-philosophy/#comment-246</link>
		<dc:creator><![CDATA[Selinap]]></dc:creator>
		<pubDate>Mon, 09 Feb 2009 16:14:01 +0000</pubDate>
		<guid isPermaLink="false">http://bytebaker.com/?p=340#comment-246</guid>
		<description><![CDATA[However, not all could appreciate Emacs. Not because of its weaknesses, but, the long learning curve. BTW, IMHO, it doesn&#039;t matter what you use to program, but how you program it.

p/s: Long time ago, no IDE nor Emacs exists, just cards with hole. :P]]></description>
		<content:encoded><![CDATA[<p>However, not all could appreciate Emacs. Not because of its weaknesses, but, the long learning curve. BTW, IMHO, it doesn&#8217;t matter what you use to program, but how you program it.</p>
<p>p/s: Long time ago, no IDE nor Emacs exists, just cards with hole. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

