<?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/"
	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>Programming Land!</title>
	<atom:link href="http://programmingland.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://programmingland.wordpress.com</link>
	<description>Tecnologias, Idéias, Estudos e Devaneios de um Programador...</description>
	<lastBuildDate>Sun, 26 Jul 2009 20:36:55 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='programmingland.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Programming Land!</title>
		<link>http://programmingland.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://programmingland.wordpress.com/osd.xml" title="Programming Land!" />
	<atom:link rel='hub' href='http://programmingland.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Blog de casa nova&#8230; http://blog.programmingland.org/</title>
		<link>http://programmingland.wordpress.com/2009/07/26/blog-de-casa-nova-httpblog-programmingland-org/</link>
		<comments>http://programmingland.wordpress.com/2009/07/26/blog-de-casa-nova-httpblog-programmingland-org/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 20:34:06 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=62</guid>
		<description><![CDATA[E aí pessoal, gostei desse lance de blog e acabei arrumando um host e um domínio próprio, coisa que nunca tive por falta de necessidade. Agora com total flexibilidade vai ser possível deixar o blog com uma cara mais agradável, espero que gostem. http://blog.programmingland.org/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=62&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>E aí pessoal, gostei desse lance de blog e acabei arrumando um host e um domínio próprio, coisa que nunca tive por falta de necessidade.<br />
Agora com total flexibilidade vai ser possível deixar o blog com uma cara mais agradável, espero que gostem.</p>
<p><strong><br />
<h1><a href="http://blog.programmingland.org/">http://blog.programmingland.org/</a></h1>
<p></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=62&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/26/blog-de-casa-nova-httpblog-programmingland-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
		<item>
		<title>C# 3.0 &#8211; Lambda Expressions, vocês sabiam que isso era tão poderoso??</title>
		<link>http://programmingland.wordpress.com/2009/07/20/c-3-0-lambda-expressions-voces-sabiam-que-isso-era-tao-poderoso/</link>
		<comments>http://programmingland.wordpress.com/2009/07/20/c-3-0-lambda-expressions-voces-sabiam-que-isso-era-tao-poderoso/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 23:07:54 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[.net 3.5]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# 3.0]]></category>
		<category><![CDATA[expressions tree]]></category>
		<category><![CDATA[lambda expressions]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=42</guid>
		<description><![CDATA[É, parece que eu substimei o poder das &#8220;expressões lambda&#8220;, não que eu achasse que era um recurso ruim ou dispensável, mas cometi o erro gravíssimo de achar que esse recurso consistia apenas numa forma simplificada de se escrever um &#8220;delegate anônimo&#8220;, recurso que utilizo bastante, muito prático e deixa o código clean quando se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=42&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É, parece que eu substimei o poder das &#8220;<a href="http://msdn.microsoft.com/en-us/library/bb397687.aspx" target="_blank">expressões lambda</a>&#8220;, não que eu achasse que era um recurso ruim ou dispensável, mas cometi o erro gravíssimo de achar que esse recurso consistia apenas numa forma simplificada de se escrever um &#8220;<a href="http://msdn.microsoft.com/en-us/library/0yw3tz5k.aspx" target="_blank">delegate anônimo</a>&#8220;, recurso que utilizo bastante, muito prático e deixa o código clean quando se precisa de algo simples e rápido.</p>
<p>Mas vocês sabiam que existe uma diferença nas duas linhas de codigo abaixo?</p>
<p><code>param1 =&gt; { return param1.someProperty == someValue; }<br />
param1 =&gt; param1.someProperty == someValue</code></p>
<p>Ambas as linhas de código podem ser usadas como um método que recebe um parâmetro e retorna um valor booleano como resultado. E vocês podem estar se perguntando: &#8220;Se as duas podem ser usadas da mesma forma, então o que esse maluco está falando tanto em poder das lambda expressions?&#8221;, a resposta é simples e está debaixo do nasmepace <strong>System.Linq.Expressions</strong>, a primeira linha mostrada acima <strong>não</strong> pode virar uma <strong>Expression Tree</strong>, e o que isso quer dizer? Simples, uma Expression é uma classe que possui todas as informações disponíveis sobre a expressão que você montou, ou seja, olhando nós sabemos que a expressão exemplo do exemplo que dei é uma operação binária de igualdade senda aplicada sobre 2 operandos, o da esquerda (param1.someProperty) e o da direita (someValue). Vocês podem falar: &#8220;Tá, olhando é fácil deduzir isso, quero ver mostrar o código retornando essas informações&#8221;:</p>
<p><code>Expression&lt;Func&lt;SomeClass, Boolean&gt;&gt; a = <code> param1 =&gt; param1.someProperty == someValue</code>;<br />
Console.WriteLine((a.Body as BinaryExpression).Left);<br />
Console.WriteLine((a.Body as BinaryExpression).Method);<br />
Console.WriteLine((a.Body as BinaryExpression).Right);</code></p>
<p>Com isso eu só deduzo uma coisa, esse recurso é EXTREMAMENTE flexível. É possível inventar basicamente o que quiser onde o uso de expressões sejam o forte, e com essas informações detalhadas sobre cada expressão é possível traduzir isso para qualquer outra coisa, não é à toa que o Linq é baseado nesse recurso das <strong>Expressions Trees</strong>, o Lambda torna o código muito sucinto e com todas as vantagens das checagens em compile time.</p>
<p>Agora fiquei eufórico de estudar isso a fundo e fazer um artigo sobre Expressions Trees, mas vou primeiro pesquisar na web para ver se já não tem muito material por aí, se eu achar que vale a pena fazer podem esperar.</p>
<p>Vou deixar só uma pergunta no ar: &#8220;Se de uma Lambda Expression é possível pegar a Expression Tree, o que vocês achariam de gerar um Lambda através de Expressões?&#8221;</p>
<p>Que isso mané? esse C# tá demais, só me surpreende&#8230;</p>
<br /> Tagged: .net, .net 3.5, c#, c# 3.0, expressions tree, lambda expressions <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=42&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/20/c-3-0-lambda-expressions-voces-sabiam-que-isso-era-tao-poderoso/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
		<item>
		<title>C# 3.0 &#8211; Extension Methods possibilitando um código mais agradável para se ler</title>
		<link>http://programmingland.wordpress.com/2009/07/18/c-3-0-extension-methods-possibilitando-um-codigo-mais-agradavel-para-se-ler/</link>
		<comments>http://programmingland.wordpress.com/2009/07/18/c-3-0-extension-methods-possibilitando-um-codigo-mais-agradavel-para-se-ler/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 19:46:39 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[.net 3.5]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# 3.0]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=25</guid>
		<description><![CDATA[Olá, a intenção desse post não é explicar em detalhes como manipular esse recurso que foi incluso na versão 3.0 do C#, mas sim tentar mostrar, com alguns pequenos exemplos, as possíveis maravilhas que o mesmo nos permite fazer. Em algum momento, programando, você já deve ter precisado de algum método simples que não existe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=25&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá, a intenção desse post não é explicar em detalhes como manipular esse recurso que foi incluso na versão 3.0 do C#, mas sim tentar mostrar, com alguns pequenos exemplos, as possíveis maravilhas que o mesmo nos permite fazer. Em algum momento, programando, você já deve ter precisado de algum método simples que não existe naquela classe que você está utilizando, e o pior, essa classe é de terceiros e você não possui permissão de alteração ou o fonte para isso, e aí qual a solução? Vamos a um exemplo:</p>
<pre>protected void btnOk_Click(Object sender, EventArgs e) {
	pessoa.Altura = Decimal.Parse(txtAltura.Text);
	pessoa.Peso = Decimal.Parse(txtPeso.Text);
	//... more code ...
}</pre>
<p>De cara nós já vemos na primeira linha uma possibilidade de erro caso o conteúdo do txtAltura ou txtPeso não seja um número válido, que tal checarmos se o valor está em um formato numérico válido para conversão?? Bom, infelizmente nós não temos um método unica e exclusivamente para esta finalidade, mas temos um outro que &#8220;quebraria nosso galho&#8221; e poderíamos recorrer da seguinte forma:</p>
<pre>protected void btnOk_Click(Object sender, EventArgs e) {
	decimal altura;
	decimal peso;
	if(Decimal.TryParse(txtAltura.Text, out altura) &amp;&amp; Decimal.TryParse(txtPeso.Text, out peso)) {
		pessoa.Altura = altura;
		pessoa.Peso = peso;
	}
	//... more code ...
}</pre>
<p>Bom, estamos garantindo que nosso código não falhará no caso de uma entrada inválida. Mas convenhamos, não está mais tão bonito de se ler, eu fui forçado a criar 2 variáveis por não existir nenhum método que apenas cheque se uma string está em um formato númerico válido, tanto em String como em Decimal, com isso já estamos aí com 5 linhas de código.</p>
<p>Mas o que vocês acham se pudéssemos fazer da forma abaixo?</p>
<pre>protected void btnOk_Click(Object sender, EventArgs e) {
	if(txtAltura.Text.Is&lt;Decimal&gt;() &amp;&amp; txtPeso.Text.Is&lt;Decimal&gt;()) {
		pessoa.Altura = txtAltura.Text.To&lt;Decimal&gt;();
		pessoa.Peso = txtPeso.Text.To&lt;Decimal&gt;();
	}
	//... more code ...
}</pre>
<p>Bom, eu achei que ficou bem fácil de ler tudo que está acontecendo aí, vocês também não acham? A questão é, como nós vamos escrever assim se a classe String não possui os métodos <strong>Is&lt;T&gt;()</strong> e o método <strong>To&lt;T&gt;()</strong>?? Extension Methods eu respondo <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Você mesmo implementa esses métodos e diz que eles afetam a classe String, feito isso será possível fazer construções do tipo:<strong> &#8220;12&#8243;.Is&lt;int&gt;()</strong> mesmo não tendo o código fonte da classe String e isso é possível para qualquer classe. Quem é curioso já deve ter visto que o Linq utiliza bastante deste recurso de Extension Methods, todas as coleções no .net 3.5 estão recheadas de facilidades como <strong>Sum</strong>, <strong>Average</strong>, <strong>Any</strong>, <strong>All</strong> e muitos outros que foram implementados através do recurso aqui apresentado, ou seja, não foi preciso meter a mão no código das coleções para adicionar estes novos comportamentos, isso é demais.<br />
Com um recurso assim, podemos tornar nosso código muito simples para quem está lendo, e para quem estava acostumado com classes Helper pode repensar em como usar esse recurso no lugar dos Helpers, pois a finalidade é bem parecida sendo o Extesion Methods mais poderoso <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Para quem quiser se aprofundar no recurso nada melhor do que o site oficial: <a href="http://msdn.microsoft.com/en-us/library/bb383977.aspx">http://msdn.microsoft.com/en-us/library/bb383977.aspx</a></p>
<br /> Tagged: .net, .net 3.5, c#, c# 3.0 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=25&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/18/c-3-0-extension-methods-possibilitando-um-codigo-mais-agradavel-para-se-ler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
		<item>
		<title>C# 4.0 &#8211; Dynamic, qual sua opnião?</title>
		<link>http://programmingland.wordpress.com/2009/07/16/c-4-0-dynamic-qual-sua-opniao/</link>
		<comments>http://programmingland.wordpress.com/2009/07/16/c-4-0-dynamic-qual-sua-opniao/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:07:02 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[.net 4.0]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# 4.0]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=13</guid>
		<description><![CDATA[Hoje o assunto é sobre um novo recurso implantado no C# 4.0, o dinamismo. Conheço desenvolvedores que não gostam dessa idéia, afirmam que é um retrocesso abandonar a tipagem estática para deixar toda a checagem em tempo de execução. Eu como defensor de novos recursos nas linguagens gostei da novidade e de saber que posso [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=13&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoje o assunto é sobre um novo recurso implantado no C# 4.0, o dinamismo. Conheço desenvolvedores que não gostam dessa idéia, afirmam que é um retrocesso abandonar a tipagem estática para deixar toda a checagem em tempo de execução. Eu como defensor de novos recursos nas linguagens gostei da novidade e de saber que posso contar com esse recurso caso o julgue necessário, pode até ser perigoso, mas todo recurso pode ser perigoso se não for utilizado de forma adequada, e não é privando o desenvolvedor de recursos que vamos evitar os códigos ruins.<br />
Na minha opnião, o grande lance de se ter o recurso do dinamismo no C# é que o C# por natureza é tipado estaticamente e o meu pensamento foi: &#8220;Maravilha, eles vão juntar o melhor dos 2 mundos que é a checagem em tempo de compilação dos trechos tipados estaticamente associado ao poder da inferência de tipos que o C# já possui, e também vamos poder usufruir da checagem somente em runtime nos objetos tipados como <strong>dynamic</strong>. Isso vai ficar muito interessante.&#8221;, quando de repente me deparei com a seguinte situação ao acompanhar o seguinte <a href="http://unplugged.giggio.net/unplugged/post/C4-Nem-tanto-dinamismo-assim.aspx" target="_blank">post</a> no <a href="http://unplugged.giggio.net/unplugged/" target="_blank">.NET Unplugged</a>,</p>
<p><code><br />
static int Funcao(int z) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1;<br />
}</code></p>
<p><code><br />
static void Main() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;dynamic x = 3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;DateTime y = Funcao(x);<br />
}</code></p>
<p>como assim a DLR passa por cima da tipagem estática e trata toda a chamada de um método tipado estáticamente como se fosse dinâmico? Pois este trecho de código retirado do blog citado acima só dá erro em runtime. Eu achava que o recurso dynamic fosse mais inteligente, e nesse caso por exemplo o compilador tinha toda a informação necessária para dar erro em tempo de compilação, a única checagem em runtime que deveria haver na minha opnião é se a variável x pode ser tratada como um <strong>int</strong>, pois é o tipo de dado que a <strong>Funcao</strong> espera.<br />
Bom, mesmo não concordando com este comportamento em específico citado acima, ainda acho interessante ter acesso ao recurso dynamic na linguagem, apenas teremos que utilizar com muito cuidado.<br />
E vocês, o que acham deste novo recurso que foi disponibilizado nessa nova versão do C#?</p>
<br /> Tagged: .net, .net 4.0, c#, c# 4.0 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=13&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/16/c-4-0-dynamic-qual-sua-opniao/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Chrome OS vem aí&#8230;</title>
		<link>http://programmingland.wordpress.com/2009/07/15/google-chrome-os-vem-ai/</link>
		<comments>http://programmingland.wordpress.com/2009/07/15/google-chrome-os-vem-ai/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 01:40:57 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[general tech]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[sistemas operacionais]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=8</guid>
		<description><![CDATA[É, depois de muitos boatos no passado, parece que a Google resolveu finalmente criar o seu próprio sistema operacional. E aí? Quais são suas apostas? Será que vai pegar? Bom, a Google é grande e não está aí para brincar,  mas também não há como prever a aceitação do mercado em relação a esse novo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=8&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É, depois de muitos boatos no passado, parece que a Google resolveu finalmente criar o seu próprio sistema operacional. E aí? Quais são suas apostas? Será que vai pegar? Bom, a Google é grande e não está aí para brincar,  mas também não há como prever a aceitação do mercado em relação a esse novo S.O.</p>
<p>Pelo que deu para saber com esse anúncio oficial é que o alvo inicial serão os notebooks e o Chrome OS pretende focar na facilidade de integração entre a web e o computador, disponibilizando um sistema leve. Parece que eles vão basear o sistema deles no já conhecido kernel do Linux.</p>
<p>Agora especulando um pouquinho, acredito que eles consigam algumas vantagens se aproveitarem as tantas ferramentas na web que eles já possuem, poderiam poupar o usuário de bastante configuração ou instalação de programas salvando parte do perfil do usuário na web, sendo assim o usuário ganharia tempo até mesmo se fosse preciso migrar de equipamento recuperando grande parte de suas configurações, seria no mínimo interessante. Eu até consigo ver uma desvantagem nisso, pois o usuário precisaria estar on line &#8220;full time&#8221;, a questão é que a seguinte: &#8220;De que serve um computador hoje em dia se ele não estiver conectado??&#8221; Eu já tentei mexer no meu computador offline, quando meu modem queimou e na boa, não tem como, parece um monte de sucata que não serve para nada. Estar conectado hoje em dia é uma necessidade, e talvez seja aí o Google OS veja oportunidade e consiga inovar de alguma forma. Um amigo sempre me disse: &#8220;O sistema operacional está no browser&#8221; se referindo ao fato de que tudo em breve estaria na web, talvez o pessoal da Google consiga trazer a web para a máquina aproveitando boa parte do processamento local e não só processamento nos servidores <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ou talvez isso tudo seja somente especulação e esse novo OS não faça nada além da barulho como foi o caso do browser Chrome, que na minha opnião é o mais rápido do mercado, porém não conseguiu bater a concorrência, eu continuei no meu Firefox com todas as extensões que eu utilizo.</p>
<p>Bom, o jeito é esperar para ver. Que venha o Chrome OS para aumentar essa competitividade entre sistemas operacionais, pois quem sai ganhando com isso são os usuários com mais opções e as empresas pesquisando novas tecnologias para derrubar as concorrentes <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /> Tagged: chrome, google, sistemas operacionais <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=8&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/15/google-chrome-os-vem-ai/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
		<item>
		<title>Welcome to Programming Land!</title>
		<link>http://programmingland.wordpress.com/2009/07/15/welcome-to-programming-land/</link>
		<comments>http://programmingland.wordpress.com/2009/07/15/welcome-to-programming-land/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 22:33:13 +0000</pubDate>
		<dc:creator>KeitaroSan</dc:creator>
				<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://programmingland.wordpress.com/?p=3</guid>
		<description><![CDATA[Welcome to Programming Land, aqui nasce mais um blog sobre tecnologia. Espero poder trazer um bom conteúdo a todos os interessados neste assunto, além de colocar em pauta alguns assuntos que possam ser polêmicos e discutí-los com o pessoal afim de conhecer seus pensamentos sobre tal assunto. Como sou programador geralmente o assunto será relacionado [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=3&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to Programming Land, aqui nasce mais um blog sobre tecnologia. Espero poder trazer um bom conteúdo a todos os interessados neste assunto, além de colocar em pauta alguns assuntos que possam ser polêmicos e discutí-los com o pessoal afim de conhecer seus pensamentos sobre tal assunto. Como sou programador geralmente o assunto será relacionado à algum recurso específico de uma plataforma ou linguagem de programação, porém nada impede que eu escreva sobre algum assunto tecnológico como o lançamento de algum browser, S.O. e etc.</p>
<p>Minha maior motivação para esse blog no momento é tentar centralizar o conhecimento dos assuntos que tenho estudado além de compartilhá-los com todos e também colocar minhas idéias sobre determinados assuntos que tenho discutido em blogs alheios.</p>
<p>É isso aí, vamos ver no que isso vai dar <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programmingland.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programmingland.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programmingland.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programmingland.wordpress.com&amp;blog=8577026&amp;post=3&amp;subd=programmingland&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programmingland.wordpress.com/2009/07/15/welcome-to-programming-land/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b3e040e4022818ab696a1357e212792a?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">KeitaroSan</media:title>
		</media:content>
	</item>
	</channel>
</rss>
