<?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>Dérico Filho &#187; Raymond</title>
	<atom:link href="http://blog.cirello.org/tag/raymond/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cirello.org</link>
	<description>Future - Technology - Programming</description>
	<lastBuildDate>Sat, 04 Sep 2010 20:46:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Eric Raymond&#8217;s How to Become a Hacker.</title>
		<link>http://blog.cirello.org/2008/02/27/eric-raymonds-how-to-become-a-hacker/</link>
		<comments>http://blog.cirello.org/2008/02/27/eric-raymonds-how-to-become-a-hacker/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 03:25:19 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[DBDesigner2CakePHP]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Become]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Deprecate]]></category>
		<category><![CDATA[Eric]]></category>
		<category><![CDATA[Hacker]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Letter]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Raymond]]></category>
		<category><![CDATA[RubyOnRails]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2008/02/27/eric-raymonds-how-to-become-a-hacker/</guid>
		<description><![CDATA[This is an open letter to Raymond about his essay named &#8220;How to Become a Hacker&#8221;. Hi Raymond, I have read your howto about becoming a hacker. First off, according to your definitions of hacker, I am not a hacker &#8230; <a href="http://blog.cirello.org/2008/02/27/eric-raymonds-how-to-become-a-hacker/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>This is an open letter to Raymond about his essay named <a title="How to become a hacker." href="http://http://catb.org/~esr/faqs/hacker-howto.html" target="_blank">&#8220;How to Become a Hacker&#8221;</a>.</em></p>
<p>Hi Raymond,</p>
<p>I have read your howto about becoming a hacker. First off, according to your definitions of hacker, I am not a hacker &#8211; and also I do not consider myself as hacker. Therefore, as not being a hacker I do not know how great is my allowance to send this letter to you. I do not want to challenge your ideas, nor I have desire to enhance your thoughts.</p>
<p>However, I feel I should share a thought I had: &#8220;Rails-like framework considered harmful in early stages&#8221;.</p>
<p>RubyOnRails, CakePHP, DJango and many more. Are they wonderful tools that does a lot of auto-magic for us? Yes, they are indeed. They offer us <a title="Don't repeat yourself" href="http://en.wikipedia.org/wiki/DRY_code">DRY</a>, <a title="Model View Controller" href="http://en.wikipedia.org/wiki/Model-view-controller">MVC </a>and force unto us <a title="Object-Oriented Programming" href="http://en.wikipedia.org/wiki/Object-oriented">OO</a> thinking.</p>
<p>I think this auto-magic is a double-handed feature of them, because as it facilitates for us the day-by-day dirty work, they also hide from us relevant knowledge on how things are done. Therefore, beginners tend trying fit their needs into the framework boundaries. &#8220;Well, I need ABC feature to use in this XYZ system I am developing &#8211; let me check if there is a component that does it for me. Alas! There is not, what am I going to do?&#8221;, perhaps a lazy beginner would say. Develop the ABC feature may not ever come across his mind. (&#8220;It is reinventing the wheel&#8221; some would say, but trying to reproduce things is a very good way to gain knowledge).</p>
<p>Understanding the laying logic beneath the whole magic is very significant &#8211; it is a very special kind of logic, because it enlightens us about the real limits of what things can or cannot be done and how they could or should be done.</p>
<p>Concluding, I would like to ask you to put in this essay of yours the following paragraph by the end of the second one in &#8220;1. Learn to Program&#8221; session:</p>
<p><em>&#8220;[...]you have to know what the components actually</em> <span class="emphasis"><em>do</em></span><em>. The same goes for the Rails-like framework (RubyOnRails, CakePHP, DJango &amp;c), although they are magical on getting things done, they hide from you significant knowledge of how they perform their magic. Now I think it is probably best to learn C[...]&#8220;</em></p>
<p>I have written a web log post further developing this point of view of mine. I pray you read, if you will, at</p>
<p>http://blog.cirello.org/2007/09/24/imho-cakephp-made-php-bondage-and-discipline/</p>
<p>Yours sincerely,</p>
<p>Dérico Filho</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2008/02/27/eric-raymonds-how-to-become-a-hacker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
