<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>%w(Akita On Rails) * 2.0 - Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado Comments</title>
  <id>tag:www.akitaonrails.com,2008:/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado/comments</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado/comments.xml" rel="self" type="application/atom+xml"/>
  <link href="/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
  <updated>2008-02-25T17:25:03Z</updated>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Noel Rocha</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2305</id>
    <published>2008-02-25T17:25:03Z</published>
    <updated>2008-02-25T17:25:03Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Noel Rocha</title>
<content type="html">&lt;p&gt;Ola Akita, acompanho seu blog a muito tempo porem nunca postei nada. Vamos la!
Consigo compreender que tipagem dinâmica é uma funcionalidade, brilhante na minha opinião, porem não consigo convencer, principalmente programadores java, que isso não é um defeito e mais ainda, nao consigo achar argumentos para convencer que isso traz benefícios enormes e mais que isso não sei como agabar com o único argumento sempre dito por eles de que tipagem dinâmica em grandes projetos leva a erros e etc que você já deve estar acostumado a escutar.&lt;/p&gt;


	&lt;p&gt;Post como esse defendendo tipagem estática é o que mais se vê aonde trabalho.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Eraldo</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2301</id>
    <published>2008-02-25T01:33:47Z</published>
    <updated>2008-02-25T01:33:47Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Eraldo</title>
<content type="html">&lt;p&gt;A tipagem estática do Object Pascal é que me faz estar segurando o osso até os dias atuais&#8230;&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>AkitaOnRails</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2296</id>
    <published>2008-02-24T21:33:18Z</published>
    <updated>2008-02-24T21:33:18Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by AkitaOnRails</title>
<content type="html">&lt;p&gt;Então, o que o autor do rant (não deste artigo, mas que o autor deste artigo cita no começo) quer dizer: se eu tenho um método com a assinatura metodo(int,int), e eu tentasse chamar como metodo(1,2,3) o compilador já nos avisaria do erro porque a assinatura do método não permite 3 parametros e sim, apenas 2.&lt;/p&gt;


	&lt;p&gt;Agora, o problema é que isso não é um &#8220;defeito&#8221; de tipagem de dinâmica. Isso é uma funcionalidade (muito desejável) de &lt;strong&gt;linguagens&lt;/strong&gt; dinâmicas porque eu não estou &#8220;chamando&#8221; um método, estou despachando um método (que por acaso de parametros) a um objeto. O objeto vai decidir o que fazer com essa mensagens (o default sendo procurar um método com o mesmo nome). Mas uma linguagem dinâmica permite coisas como method_missing, permite injetar um novo método com assinaturas diferentes em runtime, etc. Por isso é &lt;strong&gt;impossível&lt;/strong&gt; a um compilador decidir de ante-mão que a chamada em questão é um &lt;strong&gt;erro&lt;/strong&gt; e é isso que o autor do rant está confundindo e não entendendo e que o autor deste artigo explica.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Daniel Libanori</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2295</id>
    <published>2008-02-24T20:30:31Z</published>
    <updated>2008-02-24T20:30:31Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Daniel Libanori</title>
<content type="html">&lt;p&gt;Akita, o que eu queria dizer é: detectar uma chamada a um método sem a quantidade correta de parâmetros não me parece um problema de tipagem dinâmica.&lt;/p&gt;


	&lt;p&gt;E pelo que eu vi, é exatamente isso que o exemplo Ruby do cara está fazendo.&lt;/p&gt;


	&lt;p&gt;Me corrija se eu estiver falando bobagem.&lt;/p&gt;


	&lt;p&gt;Abraços&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>AkitaOnRails</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2294</id>
    <published>2008-02-24T18:29:06Z</published>
    <updated>2008-02-24T18:29:06Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by AkitaOnRails</title>
<content type="html">&lt;p&gt;@daniel, é o contrário, um exemplo de &#8216;linguagem dinâmica&#8217; seria dynamic method dispatching, por exemplo, chamar um método inexistente e caindo em method_missing. A confusão é justamente essa: &#8216;tipagem dinâmica&#8217; significa que:&lt;/p&gt;


&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td title=&quot;click to toggle&quot; class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;x = &lt;span class=&quot;i&quot;&gt;1&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;x = &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;bla&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;x tem tipagem dinâmica, sendo que em java:&lt;/p&gt;


&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td title=&quot;click to toggle&quot; class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;int x = 1;&lt;tt&gt;
&lt;/tt&gt;int x = &amp;quot;1&amp;quot;;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;A segunda daria problema em tipagem estática porque, obviamente, o tipo é estático: um int não pode receber um String.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Daniel Libanori</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2292</id>
    <published>2008-02-24T05:57:43Z</published>
    <updated>2008-02-24T05:57:43Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Daniel Libanori</title>
<content type="html">&lt;p&gt;Posso estar falando bobagem, mas na minha opnião o exemplo de Ruby não demostra nada em relação a tipagem dinâmica e sim de linguagem dinâmica.&lt;/p&gt;


	&lt;p&gt;Para mim, um problema de tipagem dinâmica seria chamar um método inexistente.&lt;/p&gt;


	&lt;p&gt;E paragens pela tradução.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Daniel Luz</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2290</id>
    <published>2008-02-23T22:46:09Z</published>
    <updated>2008-02-23T22:46:09Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Daniel Luz</title>
<content type="html">&lt;p&gt;O site original complica tanto pra comentários que vou me limitar a comentar aqui&#8230;&lt;/p&gt;


	&lt;p&gt;A tipagem de Groovy &lt;em&gt;não&lt;/em&gt; é estática; o que foi demonstrado é um exemplo de tipagem manifesta (contrário de &lt;em&gt;tipagem latente&lt;/em&gt;). Compilar código explicitamente inválido também retira o direito a se dizer &#8220;undeniably type safe&#8221; de Groovy. Sinceramente, acho até engraçado o autor pensar que tipagem estática é sinônimo de manifesta, quando as duas linguagens demonstradas no primeiro artigo (Haskell e OCaml) são estáticas e ainda assim latentes.&lt;/p&gt;


	&lt;p&gt;Vale lembrar também que o sistema de tipos da maioria das linguages &#8220;comerciais&#8221; é uma brincadeira perto do de algo como Haskell, então querer usar exemplos de Haskell (tem uns realmente incríveis) pra provar que uma solução em C# é automaticamente melhor que em qualquer linguagem dinâmica é uma falácia ;) Seu sistema em Java realmente não vai dar NoMethodError por chamar um método inexistente&#8230; mas ainda pode ter UnsupportedOperationExceptions, NullPointerExceptions, ArrayIndexOutOfBoundsExceptions, ClassCastExceptions e tantos outros erros da categoria RuntimeException, que nem mesmo as &#8220;checked exceptions&#8221; que alguns defendem tão fervorosamente salvam. No fim, o tipo de problema que a tipagem dessas linguagens detecta durante a compilação é frequentemente bem superficial perto dos problemas reais com os quais um programador decente se depara, independente da linguagem.&lt;/p&gt;


	&lt;p&gt;Uma boa explicação sobre características de sistemas de tipos pode ser vista &lt;a href=&quot;http://reddit.com/r/programming/info/63tnv/comments/c02qx55&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Oz&#233;ias Sant'ana</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2285</id>
    <published>2008-02-23T12:10:09Z</published>
    <updated>2008-02-23T12:10:09Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Oz&#233;ias Sant'ana</title>
<content type="html">&lt;p&gt;Bela tradução Akita, isto vai ser muito útil pra mim. Valeu.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.akitaonrails.com/">
    <author>
      <name>Felipe</name>
    </author>
    <id>tag:www.akitaonrails.com,2008-02-22:2283:2284</id>
    <published>2008-02-23T11:12:46Z</published>
    <updated>2008-02-23T11:12:46Z</updated>
    <category term="Opini&#245;es"/>
    <category term="Tradu&#231;&#245;es"/>
    <link href="http://www.akitaonrails.com/2008/2/22/tradu-o-tipagem-din-mica-vs-linguagem-din-mica-explicado" rel="alternate" type="text/html"/>
    <title>Comment on 'Tradu&#231;&#227;o: Tipagem Din&#226;mica vs Linguagem Din&#226;mica Explicado' by Felipe</title>
<content type="html">&lt;p&gt;Como sempre: encaram tudo preto no branco.&lt;/p&gt;</content>  </entry>
</feed>
