<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IDE Archives | Programming Zen</title>
	<atom:link href="https://programmingzen.com/tag/ide/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmingzen.com/tag/ide/</link>
	<description>Meditations on programming, startups, and technology</description>
	<lastBuildDate>Tue, 24 May 2016 08:25:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">1397766</site>	<item>
		<title>Tip #3 for Young Developers: Master an Editor</title>
		<link>https://programmingzen.com/tip-3-for-young-developers/</link>
					<comments>https://programmingzen.com/tip-3-for-young-developers/#comments</comments>
		
		<dc:creator><![CDATA[Antonio Cangiano]]></dc:creator>
		<pubDate>Tue, 10 May 2016 14:00:10 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[how to become a programmer]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[programming advice]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tips for young programmers]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">http://programmingzen.com/?p=1653</guid>

					<description><![CDATA[<p>As a developer, you&#x2019;ll spend a lot of your time writing code. Less than you&#x2019;d think, as we&#x2019;ll see in future tips in the series, but still thousands of hours. It pays dividends to master your code editor. A powerful editor, properly used, will provide a myriad of benefits. Benefits of a code editor The following incomplete list will give you an idea of some of the ways in which an editor can serve you: Speed up the process of writing code by autocompleting parts of the code you write. Highlight and indent your code for readability. Simplify the process </p>
<p>The post <a href="https://programmingzen.com/tip-3-for-young-developers/">Tip #3 for Young Developers: Master an Editor</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As a developer, you’ll spend a lot of your time writing code. Less than you’d think, as we’ll see in future tips in the series, but still thousands of hours.</p>
<p>It pays dividends to master your code editor. A powerful editor, properly used, will provide a myriad of benefits.</p>
<h3 id="benefitsofacodeeditor">Benefits of a code editor</h3>
<p>The following incomplete list will give you an idea of some of the ways in which an editor can serve you:</p>
<ul>
<li>Speed up the process of writing code by autocompleting parts of the code you write.</li>
<li>Highlight and indent your code for readability.</li>
<li>Simplify the process of refactoring code (e.g., consistently change the name of a variable across your program).</li>
<li>Point out obvious typos.</li>
<li>Easily find code within your project (e.g., through finders or through the ability to jump to definitions).</li>
<li>En mass manipulation of text and code, without having to manually perform changes lines per line (e.g., replacing strings, commenting out large sections of code, etc).</li>
<li>Execute code directly without having to step out of the current window.</li>
<li>Folding your code, so that you can focus on the current method or class, and ignore the rest of your code base.</li>
<li>Visually identify files that have changes from your <a href="/2016/05/03/tip-2-for-young-programmers/">git repo</a>.</li>
</ul>
<p>Honestly, this isn’t even scratching the surface. Just take my word for it, being well acquainted with your editor of choice will eliminate a world of frustration from your coding experience.</p>
<h3 id="choosingaprogrammingeditor">Choosing a programming editor</h3>
<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="alignright size-full wp-image-1654" style="float: right;" src="https://i0.wp.com/programmingzen.com/wp-content/uploads/2016/05/atom-editor.png?resize=256%2C256&#038;ssl=1" alt="Github's Atom editor" width="256" height="256" srcset="https://i0.wp.com/programmingzen.com/wp-content/uploads/2016/05/atom-editor.png?w=256&amp;ssl=1 256w, https://i0.wp.com/programmingzen.com/wp-content/uploads/2016/05/atom-editor.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/programmingzen.com/wp-content/uploads/2016/05/atom-editor.png?resize=200%2C200&amp;ssl=1 200w" sizes="(max-width: 256px) 100vw, 256px" />A natural follow-up question to the previous paragraph would be, “Which programming editor should I use?”. Ask ten programmers and you’ll get at least five different answers. It’s a highly personal choice and people get religious about their editor of choice.</p>
<p>I’m going to share my opinion and you can then find out for yourself what works best for you.</p>
<p>I would divide most editors into five categories:</p>
<ol>
<li>Shell-based text editors. These are historic text editors that include such offerings as such as Vi/Vim and Emacs. <a id="fnref:1" class="footnote" title="see footnote" href="#fn:1">[1]</a> They are extremely powerful and customizable but come at the expense of a high learning curve. <a id="fnref:2" class="footnote" title="see footnote" href="#fn:2">[2]</a></li>
<li>WYSIWYG text editors. Examples of this type of text editor are Notepad++, Atom, and Sublime Text. Much less of a learning curve than something like Vim, but still quite powerful.</li>
<li>Integrated Development Environments (IDE) that are specific to a particular <a href="/2016/04/26/tip-1-for-young-programmers/">development stack</a>. Some will argue that these are not code editors, but they certainly include one, among a whole host of other features, often including a way to visually design your application. Examples of IDEs are Android Studio, XCode (for iOS and Mac OS X apps), and Visual Studio (for .NET applications).</li>
<li>Niche specific editors. For example <a href="https://panic.com/coda/">Coda</a> for front end web design.</li>
<li>Cloud editors that enable you to develop directly from your browser. One example of this sort of editor and development environment is <a href="https://c9.io/">Cloud9</a>.</li>
</ol>
<p>Any editor will do (well, don’t use Microsoft Word), but the choice will be very dependent on the kind of development you intend to do.</p>
<p>For example, if you plan to develop for the web:</p>
<ul>
<li>Learn the basics of Vim or Emacs for when you are remotely shelled into a Linux / BSD server.</li>
<li>Master Atom or Sublime Text for your main development.</li>
</ul>
<p>Conversely, if you plan to develop mobile apps:</p>
<ul>
<li>Learn the basics of Atom or Sublime Text for incidental file editing.</li>
<li>Master your app platform IDE (e.g., Android Studio, XCode, Xamarin).</li>
</ul>
<p>In general, I would recommend that you learn the basics of Vim so that you can quickly change files when connected to a remote server via the shell. <a id="fnref:3" class="footnote" title="see footnote" href="#fn:3">[3]</a></p>
<p>Vim or one of its variants is almost always installed on Linux/Unix servers already or can be easily installed if you have admin rights.</p>
<p>If you love it enough to master it, you might even want to stick with it as your main code editor. Many developers do.</p>
<p>Regardless of what you choose or do, spend the time to become proficient in the tool you decide to use to edit your code (including reading a book on the subject if your editor or IDE is quite advanced).</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:1">GUI versions of these editors have been developed. Generally speaking, they don’t make the editors all that much easier to learn. <a class="reversefootnote" title="return to article" href="#fnref:1"> ^</a></li>
<li id="fn:2">Technically, there are shell-based text editors that are easy to use, but they’re not as powerful as Vim or Emacs. Nano is one of them. <a class="reversefootnote" title="return to article" href="#fnref:2"> ^</a></li>
<li id="fn:3">Obviously, if you operate in the Windows world, this doesn’t apply to you. <a class="reversefootnote" title="return to article" href="#fnref:3"> ^</a></li>
</ol>
</div>
<p>The post <a href="https://programmingzen.com/tip-3-for-young-developers/">Tip #3 for Young Developers: Master an Editor</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingzen.com/tip-3-for-young-developers/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1653</post-id>	</item>
	</channel>
</rss>
