<?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/"
		>
<channel>
	<title>Comments on: Ruby e o duck typing</title>
	<atom:link href="http://simplesideias.com.br/ruby-e-o-duck-typing/feed/" rel="self" type="application/rss+xml" />
	<link>http://simplesideias.com.br/ruby-e-o-duck-typing/</link>
	<description></description>
	<lastBuildDate>Wed, 16 May 2012 00:52:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Jonathan</title>
		<link>http://simplesideias.com.br/ruby-e-o-duck-typing/#comment-132363</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Fri, 06 Jan 2012 00:52:59 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/?p=726#comment-132363</guid>
		<description>Muito bom o texto
Sou iniciante no Ruby e essa abordagem foi explicativa.

Parabéns

PS: curti o lance da musica do post, haha</description>
		<content:encoded><![CDATA[<p>Muito bom o texto<br />
Sou iniciante no Ruby e essa abordagem foi explicativa.</p>
<p>Parabéns</p>
<p>PS: curti o lance da musica do post, haha</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RoaHouse</title>
		<link>http://simplesideias.com.br/ruby-e-o-duck-typing/#comment-132304</link>
		<dc:creator>RoaHouse</dc:creator>
		<pubDate>Tue, 03 Jan 2012 03:55:03 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/?p=726#comment-132304</guid>
		<description>Pra mim duck typing sempre vai te induzir a pensar em design by contract uma vez que o tipo é &quot;irrelevante&quot;, claro que isso pode acabar causando coisas como um tipo tipo Inteiro com um metodo .get_google_search, mas acredito que no geral ao se programar usando o duck typing você acaba naturalmente pensando mais em abstraçoes... e como um dos pilares da OOP são abstrações, imagino que esse seja uma boa ferramenta para designs melhores. imho

#my2cents</description>
		<content:encoded><![CDATA[<p>Pra mim duck typing sempre vai te induzir a pensar em design by contract uma vez que o tipo é "irrelevante", claro que isso pode acabar causando coisas como um tipo tipo Inteiro com um metodo .get_google_search, mas acredito que no geral ao se programar usando o duck typing você acaba naturalmente pensando mais em abstraçoes... e como um dos pilares da OOP são abstrações, imagino que esse seja uma boa ferramenta para designs melhores. imho</p>
<p>#my2cents</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nando Vieira</title>
		<link>http://simplesideias.com.br/ruby-e-o-duck-typing/#comment-132301</link>
		<dc:creator>Nando Vieira</dc:creator>
		<pubDate>Tue, 03 Jan 2012 00:12:32 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/?p=726#comment-132301</guid>
		<description>Eu não publiquei isso neste artigo, mas antes de falar de Duck Typing no e-book, eu falo sobre Tipagem. Valeu pelo super-duper comentário! \m/</description>
		<content:encoded><![CDATA[<p>Eu não publiquei isso neste artigo, mas antes de falar de Duck Typing no e-book, eu falo sobre Tipagem. Valeu pelo super-duper comentário! \m/</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucas Húngaro</title>
		<link>http://simplesideias.com.br/ruby-e-o-duck-typing/#comment-132300</link>
		<dc:creator>Lucas Húngaro</dc:creator>
		<pubDate>Mon, 02 Jan 2012 23:07:37 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/?p=726#comment-132300</guid>
		<description>Uma coisa importante a notar é que Ruby é uma linguagem dinâmica e *fortemente* tipada. Muita gente (não é o seu caso) confunde as duas coisas e fica com aquele &quot;medo&quot; de que algo vá dar muito errado em produção porque o compilador não checa tipos. Isso é praticamente impossível de ocorrer já que Ruby tem tipos fortes, embora não exija tipos na passagem de mensagens.

Outra curiosidade à notar é que o duck typing é o ápice do role-based programming, algo essencial para OOP de verdade. Quando você define suas classes deve definir papéis (roles) e não ficar perseguindo representações de coisas do mundo real. Duck typing te dá todo o poder para fazer isso, já que o que realmente interessa na comunicação entre as entidades é o papel de cada uma, e não sua &quot;linhagem&quot; (tipo). Por exemplo: se, ao fazer um cálculo, uma entidade precisa logar a operação, basta que passemos a ela uma entidade que representa o papel de um logger (isso é definido pela sua interface), independente de ser um FileLogger ou um EmailLogger ou qualquer outra coisa. Basta respeitarmos os contratos de comunicação (aka interface, aka protocolo), que estamos mais do que seguros.

Agora que já fiz meu papel de chatão da programação, parabéns pelo texto, tá muito bom. :)</description>
		<content:encoded><![CDATA[<p>Uma coisa importante a notar é que Ruby é uma linguagem dinâmica e *fortemente* tipada. Muita gente (não é o seu caso) confunde as duas coisas e fica com aquele "medo" de que algo vá dar muito errado em produção porque o compilador não checa tipos. Isso é praticamente impossível de ocorrer já que Ruby tem tipos fortes, embora não exija tipos na passagem de mensagens.</p>
<p>Outra curiosidade à notar é que o duck typing é o ápice do role-based programming, algo essencial para OOP de verdade. Quando você define suas classes deve definir papéis (roles) e não ficar perseguindo representações de coisas do mundo real. Duck typing te dá todo o poder para fazer isso, já que o que realmente interessa na comunicação entre as entidades é o papel de cada uma, e não sua "linhagem" (tipo). Por exemplo: se, ao fazer um cálculo, uma entidade precisa logar a operação, basta que passemos a ela uma entidade que representa o papel de um logger (isso é definido pela sua interface), independente de ser um FileLogger ou um EmailLogger ou qualquer outra coisa. Basta respeitarmos os contratos de comunicação (aka interface, aka protocolo), que estamos mais do que seguros.</p>
<p>Agora que já fiz meu papel de chatão da programação, parabéns pelo texto, tá muito bom. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: devGabriel</title>
		<link>http://simplesideias.com.br/ruby-e-o-duck-typing/#comment-132299</link>
		<dc:creator>devGabriel</dc:creator>
		<pubDate>Mon, 02 Jan 2012 22:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://simplesideias.com.br/?p=726#comment-132299</guid>
		<description>Pra quem está engatinhando no Ruby(como eu) essa explicação foi muito boa.

Obrigado (:</description>
		<content:encoded><![CDATA[<p>Pra quem está engatinhando no Ruby(como eu) essa explicação foi muito boa.</p>
<p>Obrigado (:</p>
]]></content:encoded>
	</item>
</channel>
</rss>

