<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://meiobit.pop.com.br" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Meio Bit - Rapid Application Development - ser ou não ser rápido ? - Comentários</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido</link>
 <description>Comentários para &quot;Rapid Application Development - ser ou não ser rápido ?&quot;</description>
 <language>pt-br</language>
<item>
 <title>Re: Re: Re: Oi, Cafuin !


Quote:
Pois</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159977</link>
 <description>&lt;p&gt;Que necessidade criar um curso de formação para operadores de RAD?&lt;/p&gt;
&lt;p&gt;Cara isso já existe, com cursinhos por ai.&lt;/p&gt;
&lt;p&gt;Um profissional deve ter uma formação boa, aprender bem os conceitos e conhecer as camadas baixas, ir subindo na abstração e depois decide em que vai se especializar.&lt;/p&gt;
&lt;p&gt;Jabá &lt;a href=&quot;http://beernotfoundexception.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;http://beernotfoundexception.blogspot.com/&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 13 Jul 2008 15:23:44 +0000</pubDate>
 <dc:creator>ironman_br</dc:creator>
 <guid isPermaLink="false">comment 159977 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Vou reformular um pouco seu</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159323</link>
 <description>&lt;p&gt;Vou reformular um pouco seu comentário para ver se vc se toca, ok?&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;pra que ver o que o &lt;strong&gt;compilador&lt;/strong&gt; está fazendo por baixo dos panos??!!!...&lt;br /&gt;
Dennes, os &lt;strong&gt;compiladores&lt;/strong&gt; e &lt;strong&gt;editores visuais&lt;/strong&gt; da vida tornam um leigo em um bosta de profissional.&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Você soa exatamente como alguém saído da prehistória da Informática, acostumado a programar assembly em batch ao lidar com os novos e sensacionais Unix da década de 70 e seus compiladores de linguagens de alto nível (C e Pascal, quero dizer) e editores &lt;strong&gt;visuais&lt;/strong&gt; como vi, ex e ed.  &quot;A perda de performance!  O consumo de memória!  O terror por não saber o que está sendo gerado!!&quot;&lt;/p&gt;
&lt;p&gt;Ah, nada como uma boa dose de perspectiva...&lt;/p&gt;
&lt;p&gt;Fora isso, concordo que deve-se aprender a dirigir sem direção hidráulica.&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 19:56:54 +0000</pubDate>
 <dc:creator>garoa</dc:creator>
 <guid isPermaLink="false">comment 159323 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Fala Dennes,
Sem problemas,</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159158</link>
 <description>&lt;p&gt;Fala Dennes,&lt;/p&gt;
&lt;p&gt;Sem problemas, as vezes esqueço da palavra debate, discutir é forte demais mesmo.&lt;/p&gt;
&lt;p&gt;No baixo nível, não sei até onde é OO e passa a ser bytes de dados e instruções. Só quis deixar claro esse tipo de OO no nível alto não gera problemas de desempenho no Python. O que deixa o Python mais lento que Java e C# é a tipagem dinâmica.&lt;/p&gt;
&lt;p&gt;Bom, se quiser debater mais alguma coisa, estou a disposição.&lt;/p&gt;
&lt;p&gt;[]s&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 14:01:25 +0000</pubDate>
 <dc:creator>davidkwast</dc:creator>
 <guid isPermaLink="false">comment 159158 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Oi, David !
Quote:
em vez de</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159147</link>
 <description>&lt;p&gt;Oi, David !&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;&lt;br /&gt;
em vez de tentar usar minhas palavras contra eu mesmo&lt;br /&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Pensei que estivessemos debatendo e não discutindo. Minha intenção não chega nem perto disso.&lt;/p&gt;
&lt;p&gt;Purismo OO em alto nível todas as linguagens mais sérias já possuem. Então quando citou o purismo no tratamento de objetos, pensei estar se referindo ao purismo em baixo nível, do qual a maioria das linguagens fugiu devido a considerável perda de performance, como citei.&lt;/p&gt;
&lt;p&gt;Mas ao falar da separação entre o alto nível e o bytecode, você novamente está falando de purismo de alto nível e isso á é lugar comum entre as linguagens. Por isso simplemente não entendi as afirmações.&lt;/p&gt;
&lt;p&gt;[]&#039;s&lt;/p&gt;
&lt;p&gt;Dennes &lt;/p&gt;
&lt;p&gt;---------------------&lt;br /&gt;
&lt;a href=&quot;http://cidadaocarioca.blogspot.com&quot; rel=&quot;nofollow&quot;&gt;CidadaoCarioca&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.bufaloinfo.com.br&quot; rel=&quot;nofollow&quot;&gt;BufaloInfo&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 13:47:58 +0000</pubDate>
 <dc:creator>Dennes</dc:creator>
 <guid isPermaLink="false">comment 159147 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Prezado,
Se deseja realmente</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159140</link>
 <description>&lt;p&gt;Prezado,&lt;/p&gt;
&lt;p&gt;Se deseja realmente algum tipo de debate construtivo, releia os comentários. 10 vezes se necessário.&lt;/p&gt;
&lt;p&gt;Tenho certeza que ao final conseguirá - enfim - entender o que escrevi e então sim, escrever algo construtivo a respeito.&lt;/p&gt;
&lt;p&gt;Dennes&lt;/p&gt;
&lt;p&gt;---------------------&lt;br /&gt;
&lt;a href=&quot;http://cidadaocarioca.blogspot.com&quot; rel=&quot;nofollow&quot;&gt;CidadaoCarioca&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.bufaloinfo.com.br&quot; rel=&quot;nofollow&quot;&gt;BufaloInfo&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 13:33:29 +0000</pubDate>
 <dc:creator>Dennes</dc:creator>
 <guid isPermaLink="false">comment 159140 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Concordo 100%!
O que o</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159119</link>
 <description>&lt;p&gt;Concordo 100%!&lt;/p&gt;
&lt;p&gt;O que o Dennes tem que entender é que aprender apenas sobre ferramentas é suicício! Como eu já falei em outro post, temos que conhecer primeiro os métodos, depois as técnicas, só então que podemos conhecer as ferramentas!&lt;br /&gt;
Se não for dessa forma, criaremos profissionais medíocres e com pouco conhecimento. É necessário partir dos princípios de algorítmos, ensinar a desenvolver em alguma linguagem de nível mais baixo, nem que seja uma pseudo-linguagem igual ao Portugol.&lt;br /&gt;
Somente quando essas bases estiverem sólidas é que podemos seguir em frente. Se todos aprenderem apenas com uma ferramenta, imagina o dia em que a ferramenta mudar, não vão &lt;em&gt;nem conseguir encontrar os registros do DNS&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Antes de fazer uma pergunta idiota, &lt;a href=&quot;http://meiobit.com/forum/google-the-ultimate-guide-for-ultimate-dummies&quot; rel=&quot;nofollow&quot;&gt;pesquise!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 12:55:53 +0000</pubDate>
 <dc:creator>MaRKauM</dc:creator>
 <guid isPermaLink="false">comment 159119 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Fala Dennes,
Bom, não sei o</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159117</link>
 <description>&lt;p&gt;Fala Dennes,&lt;/p&gt;
&lt;p&gt;Bom, não sei o que você entendeu sobre o modo que o Python faz programação OO. Mas com certeza o que eu faço programando vai ser diferente da estrutura do byte-code e com certeza muito diferente quando chegar no processador.&lt;/p&gt;
&lt;p&gt;Acho melhor você constatar esse tipo de coisa estudando mais sobre outras linguagens, em vez de tentar usar minhas palavras contra eu mesmo. Com certeza não vou ser capaz de falar as coisas no modo que você quer ouvir, e nem o que você quer ouvir. Não quero colocar na sua cabeça que Python é melhor que tudo que você conhece, mas estou aproveitando essa discussão para mostrar que é outra forma de fazer algumas coisas, com suas vantagens e desvantagens.&lt;br /&gt;
&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;Dennes&lt;/em&gt; disse:&lt;/div&gt;Oi, David !&lt;/p&gt;
&lt;p&gt;Não é birra, é só uma constatação em relação a algo que você havia citado antes :&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;&lt;br /&gt;
Porque não deixamos os objetos falarem se podem fazer alguma operação com outro objeto, seu valor booleano, sua capacidade de iterar sobre seus dados e outras coisas que vão muito além de getters e setters?&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Essa coisa de um objeto dizer tudo que ele pode fazer já existe no Python, e não prejudica o desempenho a ponto de invibilizar aplicações comuns de mercado como Web, Desktop e Servidores.&lt;/p&gt;
&lt;p&gt;Se quiser aprender mais sobre esse tipo de coisa:&lt;br /&gt;
Objeto que sabe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;se converter para String: &lt;a href=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__str__&quot; title=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__str__&quot;&gt;http://docs.python.org/dev/reference/datamodel.htm...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;se converter para Bool (util quando usando em IF e WHILE): &lt;a href=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__nonzero__&quot; title=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__nonzero__&quot;&gt;http://docs.python.org/dev/reference/datamodel.htm...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;se comportar como uma função: &lt;a href=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__call__&quot; title=&quot;http://docs.python.org/dev/reference/datamodel.html#object.__call__&quot;&gt;http://docs.python.org/dev/reference/datamodel.htm...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;se comportar como número: &lt;a href=&quot;http://docs.python.org/dev/reference/datamodel.html#emulating-numeric-types&quot; title=&quot;http://docs.python.org/dev/reference/datamodel.html#emulating-numeric-types&quot;&gt;http://docs.python.org/dev/reference/datamodel.htm...&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;p&gt;mais em: &lt;a href=&quot;http://docs.python.org/dev/reference/datamodel.html#special-method-names&quot; title=&quot;http://docs.python.org/dev/reference/datamodel.html#special-method-names&quot;&gt;http://docs.python.org/dev/reference/datamodel.htm...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bom, por hoje chega...&lt;/p&gt;
&lt;p&gt;[]s&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 12:52:57 +0000</pubDate>
 <dc:creator>davidkwast</dc:creator>
 <guid isPermaLink="false">comment 159117 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Com certeza vale! Eu já</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158943</link>
 <description>&lt;p&gt;Com certeza vale! Eu já conhecia o &lt;em&gt;import this&lt;/em&gt;, mas veio bem a calhar... É essa filosofia pythônica que me mantém cada vez mais interessado na linguagem. &lt;img src=&quot;http://meiobit.pop.com.br/sites/meiobit.com/modules/smileys/packs/example/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; class=&quot;smiley-content&quot;/&gt;&lt;/p&gt;
&lt;p&gt;Tem um pequeno adendo no Python Culture (&lt;a href=&quot;http://www.python.org/dev/culture/&quot; title=&quot;http://www.python.org/dev/culture/&quot;&gt;http://www.python.org/dev/culture/&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Don&#039;t take these 19 aphorisms too seriously -- tattooing them on your body is probably a bad idea, for example -- but it&#039;s instructive to contemplate them. Some parallels can be drawn to the guiding principles of extreme programming, most notably the emphasis on &quot;Do the simplest thing that can possibly work&quot;.&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Another principle is &quot;Correctness and clarity before speed.&quot; Most of the code in the Python interpreter and standard library is written in a very straightforward style. The developers aren&#039;t interested in making the interpreter run faster at the expense of unreadable or hard-to-follow tricky code. In the past working patches have been rejected because they would have made the code too difficult to maintain.&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;[sarcasmo=ON]E olha que o Guido não é MVP. É só um BDFL.[/sarcasmo]&lt;/p&gt;
&lt;p&gt;----------&lt;br /&gt;
&lt;em&gt;Não sou elefante mas encomodo muita gente...&lt;/em&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 02:57:50 +0000</pubDate>
 <dc:creator>v1d4l0k4</dc:creator>
 <guid isPermaLink="false">comment 158943 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Dennes disse:
Bem,</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159010</link>
 <description>&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;Dennes&lt;/em&gt; disse:&lt;/div&gt;&lt;br /&gt;
Bem, primeiramente eu suponho o ensino de RAD com uma ferramenta boa. Nesse caso, em termos educacionais, pode significar simplesmente uma ferramente em que o professor acredite&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Bem eu estava me referindo ao Visual Studio 2005, por quê? Ele não é uma boa ferramenta RAD para você não?&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;Dennes&lt;/em&gt; disse:&lt;/div&gt;&lt;br /&gt;
Depois, o ensino com RAD não seria abrir  código auto-gerado para explica-lo. Isso seria o ensino dos conceitos mais básicos, não o ensino com RAD.&lt;/div&gt;&lt;br /&gt;
Tem razão... pra que ver o que o RAD está fazendo por baixo dos panos??!!! É bem melhor clicar em vários botões, abas e links, digitar meia dúzia de palavras e no final de tudo submeter o programa ao Suporte Microsoft para eles dizerem que o programa está correto mas não funciona porque eu tenho que aplicar um patch-sei-lá-qual-versão para funcionar corretamente.&lt;/p&gt;
&lt;p&gt;Dennes, os RAD&#039;s e Wizard&#039;s da vida tornam um leigo em um bosta de profissional. Aqui na minha empresa por exemplo, tem um funcionário que há mais de 15 anos trabalha com windows, sempre soube criar um DNS, um DHCP, etc... Mas no dia que fui falar para ele documentar os registros dos DNS ele me olhou como se eu fosse um alienígena, porque não tinha essa opção no wizard do windows... Ferramentas são boas pra uso, não pra ensino. &quot;Para ensino, gafanhoto-san, você deve carregar as pedras antes de poder quebrá-las&quot;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;Denes&lt;/em&gt; disse:&lt;/div&gt;&lt;br /&gt;
O ensino de algorítimo com RAD seria usar a ferramenta da forma como seria usada comercialmente, mas criar situações de negócio que obriguem o aluno a criar algorítimos sobre o RAD da ferramenta, situações próximas da realidade.&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Novamente você está dizendo que temos que ensinar a usar um produto e não uma tecnologia. O profissional deve aprender a lógica pra poder utilizar qualquer ferramenta, e não aprender a ferramenta e ficar dependente dela eternamente...&lt;/p&gt;
&lt;p&gt;Eu por exemplo, quando fiz o curso preparatório para o MCAD, aprendi sobre .NET na linha de comando, com compilar os programas direto na telinha preta. Depois que nós (a turma) entendemos como funciona é que passamos a aprender &quot;A FERRAMENTA&quot;, porque a funcionalidade da &quot;TECNOLOGIA&quot; nós já tínhamos aprendido.&lt;/p&gt;
&lt;p&gt;Legal você querer fazer merchan da Micro$oft aqui, mas seja coerente com a realidade... Faça posts que nos dêem informação independente, afinal isso aqui não é o MSDN certo?&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 02:37:24 +0000</pubDate>
 <dc:creator>xzerorj</dc:creator>
 <guid isPermaLink="false">comment 159010 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: Re: Re: Re: Não é acusação, é</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-159003</link>
 <description>&lt;p&gt;Concordo com vocês... mas acho sinceramente que os posts do Dennes devem servir de moeda de troca para Microsoft manter um patrocínio no MeioBit.&lt;br /&gt;
Taí! Que tal alguns posts comentando como é a infra do POP, qual a solução de backup deles, seus maravilhosos serviços gratuitos??? Já que é pra puxar sardinha, vamos puxar de quem paga ora essas!!!!&lt;/p&gt;
&lt;p&gt;Mas falando sério, até pagaria os tais R$ 29,99 só pra não ter que ler mais posts do Dennes.&lt;br /&gt;
Há tanta informação sobre tecnologia e ele ainda só consegue enxergar Bill &amp;amp; Cia Foundation...&lt;br /&gt;
Fala sério...&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 02:15:59 +0000</pubDate>
 <dc:creator>xzerorj</dc:creator>
 <guid isPermaLink="false">comment 159003 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Oi, David !
Não é birra,</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158998</link>
 <description>&lt;p&gt;Oi, David !&lt;/p&gt;
&lt;p&gt;Não é birra, é só uma constatação em relação a algo que você havia citado antes :&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;&lt;br /&gt;
Porque não deixamos os objetos falarem se podem fazer alguma operação com outro objeto, seu valor booleano, sua capacidade de iterar sobre seus dados e outras coisas que vão muito além de getters e setters?&lt;br /&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;[]&#039;s&lt;/p&gt;
&lt;p&gt;Dennes&lt;/p&gt;
&lt;p&gt;---------------------&lt;br /&gt;
&lt;a href=&quot;http://cidadaocarioca.blogspot.com&quot; rel=&quot;nofollow&quot;&gt;CidadaoCarioca&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.bufaloinfo.com.br&quot; rel=&quot;nofollow&quot;&gt;BufaloInfo&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 10 Jul 2008 02:01:20 +0000</pubDate>
 <dc:creator>Dennes</dc:creator>
 <guid isPermaLink="false">comment 158998 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Fala Dennes,
Não entendi a</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158830</link>
 <description>&lt;p&gt;Fala Dennes,&lt;/p&gt;
&lt;p&gt;Não entendi a sua birra. Se eu tenho toda a liberdade que a linguagem/framework/VM me dá, o que me importa o tratamento interno desses tipos? Sempre entendi que o conceito de VM nasceu para fazer isso mesmo, esquecer que processador meu programa vai rodar.&lt;/p&gt;
&lt;p&gt;E não sei se há tratamento diferenciado no Python, talvez sim, porque quando um Float se soma com Int ou vice-versa, a VM analisa ambos e faz a operação certa.&lt;/p&gt;
&lt;p&gt;A questão de performance não me preocupa. Já tentei mostrar pelo SPOJ que em alguns casos o Python consegue ser até mais rápido que Java e C#, e muitas vezes consome menos memória e dificilmente é muito mais lento a ponto de invibializar alguma solução. Se isso acontencer, há diversas saídas que aproveitam 99% do código escrito em Python.&lt;/p&gt;
&lt;p&gt;[]s&lt;/p&gt;</description>
 <pubDate>Wed, 09 Jul 2008 22:54:35 +0000</pubDate>
 <dc:creator>davidkwast</dc:creator>
 <guid isPermaLink="false">comment 158830 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: [...] eu brinco dizendo que</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158918</link>
 <description>&lt;p&gt;Um import vale mais do que mil palavras!!!!!&lt;/p&gt;
&amp;gt;&amp;gt; import this&lt;br /&gt;
The Zen of Python, by Tim Peters&lt;/p&gt;
&lt;p&gt;Beautiful is better than ugly.&lt;br /&gt;
Explicit is better than implicit.&lt;br /&gt;
Simple is better than complex.&lt;br /&gt;
Complex is better than complicated.&lt;br /&gt;
Flat is better than nested.&lt;br /&gt;
Sparse is better than dense.&lt;br /&gt;
Readability counts.&lt;br /&gt;
Special cases aren&#039;t special enough to break the rules.&lt;br /&gt;
Although practicality beats purity.&lt;br /&gt;
Errors should never pass silently.&lt;br /&gt;
Unless explicitly silenced.&lt;br /&gt;
In the face of ambiguity, refuse the temptation to guess.&lt;br /&gt;
There should be one-- and preferably only one --obvious way to do it.&lt;br /&gt;
Although that way may not be obvious at first unless you&#039;re Dutch.&lt;br /&gt;
Now is better than never.&lt;br /&gt;
Although never is often better than *right* now.&lt;br /&gt;
If the implementation is hard to explain, it&#039;s a bad idea.&lt;br /&gt;
If the implementation is easy to explain, it may be a good idea.&lt;br /&gt;
Namespaces are one honking great idea -- let&#039;s do more of those!&lt;/p&gt;
&lt;p&gt;[]s&lt;/p&gt;</description>
 <pubDate>Wed, 09 Jul 2008 22:03:09 +0000</pubDate>
 <dc:creator>davidkwast</dc:creator>
 <guid isPermaLink="false">comment 158918 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>*duplicado*</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158878</link>
 <description>&lt;p&gt;*duplicado*&lt;/p&gt;</description>
 <pubDate>Wed, 09 Jul 2008 21:28:43 +0000</pubDate>
 <dc:creator>garoa</dc:creator>
 <guid isPermaLink="false">comment 158878 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>[...] eu brinco dizendo que</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comment-158897</link>
 <description>&lt;p&gt;&lt;em&gt;[...] eu brinco dizendo que é melhor esquecer tudo que já sabe e aprender a programar de novo.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Eu tirei esse ano pra aprender Python. Isso que tu disse é a mais pura verdade. E o lado bom disso é que tu &quot;reaprende a programar&quot; brincando - não há como não passar horas no interpretador interativo testando as coisas que você lê por aí. &lt;img src=&quot;http://meiobit.pop.com.br/sites/meiobit.com/modules/smileys/packs/example/lol.png&quot; title=&quot;Laughing out loud&quot; alt=&quot;Laughing out loud&quot; class=&quot;smiley-content&quot;/&gt;&lt;/p&gt;
&lt;p&gt;----------&lt;br /&gt;
&lt;em&gt;Não sou elefante mas encomodo muita gente...&lt;/em&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 09 Jul 2008 21:07:35 +0000</pubDate>
 <dc:creator>v1d4l0k4</dc:creator>
 <guid isPermaLink="false">comment 158897 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Rapid Application Development - ser ou não ser rápido ?</title>
 <link>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido</link>
 <description>&lt;p&gt;O RAD, como ficou conhecido, come&amp;#231;ou a surgir junto com o Visual Basic. A id&amp;#233;ia era permitir o desenvolvimento r&amp;#225;pido com um m&amp;#237;nimo de c&amp;#243;digo. Tornar poss&amp;#237;vel que o desenvolvedor se concentrasse nas regras de neg&amp;#243;cio da aplica&amp;#231;&amp;#227;o que estava desenvolvendo e n&amp;#227;o em c&amp;#243;digos acess&amp;#243;rios era o objetivo - mais parecendo uma utopia. &lt;/p&gt;
&lt;p&gt;O que antes era l&amp;#243;gica e algor&amp;#237;timo se tornou configura&amp;#231;&amp;#227;o, jun&amp;#231;&amp;#227;o de pe&amp;#231;as e organiza&amp;#231;&amp;#227;o de componentes. A l&amp;#243;gica e algor&amp;#237;timo se acomodaram sobre o funcionamento das pecinhas, funcionando como uma cola a fazer toda a jun&amp;#231;&amp;#227;o de componentes para chegar ao resultado final, o sistema. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/demorad_2.gif&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;210&quot; alt=&quot;demorad&quot; src=&quot;http://meiobit.com/files/demorad_thumb.gif&quot; width=&quot;267&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Toda a evolu&amp;#231;&amp;#227;o pode ser resumida em uma palavra : Abstra&amp;#231;&amp;#227;o. Tanto da roda para o carro, como do Assembly para o Pascal, da interface de texto para a interface gr&amp;#225;fica e do Clipper para o Visual Basic/Delphi com RAD a evolu&amp;#231;&amp;#227;o caminhou sempre no sentido da abstra&amp;#231;&amp;#227;o - o individuo ganha a possibilidade de se despreocupar a respeito da forma de funcionamento de elementos mais simples e passa a utilizar estes elementos mais simples para construir elementos mais complexos, tendo a certeza de que os mais simples j&amp;#225; funcionam. &lt;/p&gt;
&lt;p&gt;Claro que existem momentos em que o individuo precisa voltar a suas origens. Um grande exemplo disso foi a cena de &amp;quot;Naufrago&amp;quot; onde Tom Hanks precisou aprender a acender fogo com os pauzinhos. Nem ele, nem 99.9% da plateia lembravam que para acender fogo com pauzinhos era necess&amp;#225;rio um fluxo de ar. Fez falta para o Tom Hanks ? Fez alguma falta quando ele ficou perdido em uma ilha deserta depois de um desastre a&amp;#233;reo no meio do oceano. Mas se voc&amp;#234; n&amp;#227;o for nenhum paran&amp;#243;ico que passou a ir ao dentista sempre antes de pegar um v&amp;#244;o ap&amp;#243;s ver aquele filme, ent&amp;#227;o a abstra&amp;#231;&amp;#227;o de conhecimentos passados n&amp;#227;o ser&amp;#225; problema para voc&amp;#234;. &lt;/p&gt;
&lt;p&gt;&lt;!--break--&gt;
&lt;p&gt;Existem momentos em que a abstra&amp;#231;&amp;#227;o funciona perfeitamente. Responda r&amp;#225;pido : Quantas linhas de assembly voc&amp;#234; consegue escrever ? Ainda assim consegue programar, certo ? Isso &amp;#233; a abstra&amp;#231;&amp;#227;o. &lt;/p&gt;
&lt;p&gt;Mas existem momentos em que a abstra&amp;#231;&amp;#227;o n&amp;#227;o funciona t&amp;#227;o bem. Algu&amp;#233;m lembra do &lt;a href=&quot;http://www.ebendinger.com.br/mioloKit5.htm&quot; target=&quot;_blank&quot;&gt;Kit 5&lt;/a&gt; ? Foi muito famoso na &amp;#233;poca do Clipper, mas hoje praticamente n&amp;#227;o &amp;#233; lembrado. O que deu errado na abstra&amp;#231;&amp;#227;o oferecida pelo &lt;a href=&quot;http://www.ebendinger.com.br/mioloKit5.htm&quot; target=&quot;_blank&quot;&gt;Kit 5&lt;/a&gt; ? &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/screenshootRAD_2.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;131&quot; alt=&quot;screenshootRAD&quot; src=&quot;http://meiobit.com/files/screenshootRAD_thumb.png&quot; width=&quot;244&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; A resposta pode n&amp;#227;o ser t&amp;#227;o &amp;#243;bvia, mas ela est&amp;#225; l&amp;#225; : Quando a abstra&amp;#231;&amp;#227;o limita o resultado final e a aplica&amp;#231;&amp;#227;o&amp;#160; da criatividade para as necessidades de quem est&amp;#225; usando a ferramenta, a abstra&amp;#231;&amp;#227;o &amp;#233; rejeitada e as pessoas preferem utilizar a tecnologia base devido a versatilidade que esta fornece. &lt;/p&gt;
&lt;p&gt;Portanto, no avan&amp;#231;o tecnol&amp;#243;gico existem tentativas de abstra&amp;#231;&amp;#227;o que funcionam e tentativas de abstra&amp;#231;&amp;#227;o que fracassam, o &lt;a href=&quot;http://www.ebendinger.com.br/mioloKit5.htm&quot; target=&quot;_blank&quot;&gt;Kit 5&lt;/a&gt; &amp;#233; um exemplo de uma tentativa de abstra&amp;#231;&amp;#227;o que n&amp;#227;o foi para a frente, outro exemplo foram os recursos espec&amp;#237;ficos criados pelo Interdev (e porque n&amp;#227;o dizer FrontPage), recursos t&amp;#227;o espec&amp;#237;ficos que ficavam extremamente presos com a ferramenta. &lt;/p&gt;
&lt;p&gt;Por outro lado o avan&amp;#231;o tecnol&amp;#243;gico sempre continua. Na continuidade do avan&amp;#231;o tecnol&amp;#243;gico mesmo as abstra&amp;#231;&amp;#245;es que eram vistas como boas podem passar a ser vistas como algo ruim. Esse fen&amp;#244;meno aconteceu com o Visual Basic, mais ou menos de sua vers&amp;#227;o 4 at&amp;#233; sua vers&amp;#227;o 6. &lt;/p&gt;
&lt;p&gt;Inicialmente excelente para aumentar a produtividade, aos poucos as tecnologias que forneciam o RAD do Visual Basic come&amp;#231;aram a ser discriminadas como sendo t&amp;#233;cnicas pouco profissionais, funcionando como a assinatura de um sistema amador. &lt;/p&gt;
&lt;p&gt;Mas por que isso aconteceu ? &lt;/p&gt;
&lt;p&gt;Porque neste per&amp;#237;odo entre a vers&amp;#227;o 4 e vers&amp;#227;o 6 do visual basic coincide com o per&amp;#237;odo em que se come&amp;#231;ou a utilizar bancos de dados client/server. Era uma metodologia nova para a &amp;#233;poca e os desenvolvedores ficavam confusos com rela&amp;#231;&amp;#227;o a sua utiliza&amp;#231;&amp;#227;o. &lt;/p&gt;
&lt;p&gt;Ok, tudo bem. Mas o que tem uma coisa a ver com outra ? &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/POHL_Fig2_2.gif&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;244&quot; alt=&quot;POHL_Fig2&quot; src=&quot;http://meiobit.com/files/POHL_Fig2_thumb.gif&quot; width=&quot;244&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Para o R.A.D. funcionar adequadamente com o client/server eram necess&amp;#225;rias diversas configura&amp;#231;&amp;#245;es espec&amp;#237;ficas que muitos desenvolvedores n&amp;#227;o sabiam realizar. Com isso as aplica&amp;#231;&amp;#245;es feitas por meio de RAD acabavam com uma performance sofr&amp;#237;vel e in&amp;#250;meros problemas. &lt;/p&gt;
&lt;p&gt;Quando o desenvolvedor resolvia fazer a aplica&amp;#231;&amp;#227;o &amp;quot;na m&amp;#227;o&amp;quot; (aqui um parentesis : &amp;quot;fazer na m&amp;#227;o&amp;quot; se tornou um termo classico do meio da abstra&amp;#231;&amp;#227;o tecnol&amp;#243;gica, significando burlar a abstra&amp;#231;&amp;#227;o atual, mas podendo referir-se&amp;#160; a in&amp;#250;meros n&amp;#237;veis de abstra&amp;#231;&amp;#227;o diferentes. O que hoje &amp;#233; abstrair amanh&amp;#227; ser&amp;#225; &amp;quot;fazer na m&amp;#227;o&amp;quot;) acabava como consequencia estudando em detalhes as melhores formas de fazer, ou pelo menos fazendo copy/past de outros sistemas prontos e com isso chegando a um resultado melhor do que o R.A.D. &lt;/p&gt;
&lt;p&gt;As t&amp;#233;cnicas de RAD, por&amp;#233;m, se tornavam pobres v&amp;#237;timas do desconhecimento do desenvolvedor. Elas podiam fazer muito melhor, mas eram discriminadas. A grande maioria dos desenvolvedores que dizia que os objetos RAD eram ruins diziam isso por terem ouvido falar ou por alguma experi&amp;#234;ncia n&amp;#227;o muito t&amp;#233;cnica com os mesmos. &lt;/p&gt;
&lt;p&gt;N&amp;#227;o estou de forma alguma inocentando o RAD da &amp;#233;poca e dizendo que era uma maravilha tecnol&amp;#243;gica. N&amp;#227;o era. Tinha os seus problemas, bugs nos componentes visuais, at&amp;#233; muitos bugs nos componentes visuais, por&amp;#233;m o RAD n&amp;#227;o era em definitivo a porcaria que os desenvolvedores faziam parecer, sem nem saber porque o chamavam de porcaria. &lt;/p&gt;
&lt;p&gt;Eis ent&amp;#227;o que surge o .NET. Anders Hejlsberg, que j&amp;#225; tinha dado uma amostra de seu trabalho com o Delphi, mostrou do que sua criatividade &amp;#233; capaz. Ningu&amp;#233;m lembrou de dizer para o sujeito que era imposs&amp;#237;vel, ent&amp;#227;o ele foi l&amp;#225; e fez : Mudou por completo a forma de se fazer RAD, sem por&amp;#233;m mudar o seu resultado (os bons resultados, quero dizer) &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/RadAnimated2_2.gif&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;203&quot; alt=&quot;RadAnimated2&quot; src=&quot;http://meiobit.com/files/RadAnimated2_thumb.gif&quot; width=&quot;244&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; O conceito de RAD mudou completamente. A sigla e seu objetivo final continuaram sendo os mesmos : Uma forma r&amp;#225;pida de realizar desenvolvimento de software, desenvolvendo de forma visual. Mas o meio de chegar a esse resultado mudou. No ambiente n&amp;#227;o gerenciado, para chegar a este resultado eram utilizados componentes &amp;quot;fechados&amp;quot;, que faziam tudo por si s&amp;#243; dependendo apenas de pequenas configura&amp;#231;&amp;#245;es. No ambiente do .NET o RAD passou a ser feito com gera&amp;#231;&amp;#227;o de c&amp;#243;digo. Tudo, cada detalhe do que se arrasta para dentro de um formul&amp;#225;rio gera c&amp;#243;digo fonte acess&amp;#237;vel para o programador. &lt;/p&gt;
&lt;p&gt;Com o novo RAD, por que fazer tudo na m&amp;#227;o ? Na pior das hip&amp;#243;teses utilizavamos o RAD e depois alter&amp;#225;vamos o c&amp;#243;digo para ficar da forma como desej&amp;#225;vamos, ainda assim ganhando em produtividade. Quantos, por&amp;#233;m, realmente criaram o h&amp;#225;bito de personalizar o c&amp;#243;digo gerado por um simples windows forms, por exemplo ? &lt;/p&gt;
&lt;p&gt;Desta forma a radical mudan&amp;#231;a no significado do RAD durante surgimento do .NET gerou uma maior confian&amp;#231;a por parte dos desenvolvedores, mas nem por isso fez com que os desenvolvedores tivessem que usar o recurso de personalizar o desenvolvimento &amp;quot;manualmente&amp;quot;, especialmente porque a Microsoft teve a oportunidade de, criando uma ferramenta nova, corrigir erros de configura&amp;#231;&amp;#227;o e performance das antigas ferramentas - afinal, tudo come&amp;#231;ou novamente do zero. &lt;/p&gt;
&lt;p&gt;Falamos muito de windows forms at&amp;#233; agora, mas e o ambiente web, como se encaixa em tudo isso ? &lt;/p&gt;
&lt;p&gt;No principio, era o substantivo. HTML, Javascript, CSS, ASP e nos tempos mais atuais at&amp;#233; um pouco de &lt;a href=&quot;http://www.bufaloinfo.com.br/Artigos/artigo2207.asp&quot; target=&quot;_blank&quot;&gt;XML&lt;/a&gt;. Todos esses substantivos eram necess&amp;#225;rios para o desenvolvimento de uma aplica&amp;#231;&amp;#227;o web. O desenvolvedor precisava dominar todos os detalhes destas tecnologias, saber como integrar essas tecnologias e entender como utiliza-las para manipular os protocolos da web e chegar ao resultado desejado. &lt;/p&gt;
&lt;p&gt;V&amp;#225;rias tentativas foram feitas para se chegar a um n&amp;#237;vel de abstra&amp;#231;&amp;#227;o ideal. Primeiramente FrontPage e Interdev come&amp;#231;aram a fazer uma abstra&amp;#231;&amp;#227;o de forma equivalente a abstra&amp;#231;&amp;#227;o existente no ambiente windows. Por&amp;#233;m com toda a complexidade do ambiente web, n&amp;#227;o agradou. O desenvolvedor ainda estava tentando entender as tecnologias do desenvolvimento web e j&amp;#225; lhe era oferecido um n&amp;#237;vel de abstra&amp;#231;&amp;#227;o mais alto para estudar, mas preso a estas ferramentas. Pouco vers&amp;#225;til, o desenvolvedor dispensou. &lt;/p&gt;
&lt;p&gt;Ent&amp;#227;o surgiu o DreamWeaver Ultradev. Ao inv&amp;#233;s de tentar componentes amplos, o DreamWeaver investiu na montagem de c&amp;#243;digo atrav&amp;#233;s de wizards, deixando o c&amp;#243;digo a disposi&amp;#231;&amp;#227;o do desenvolvedor (semelhan&amp;#231;a com .NET alguns anos antes, n&amp;#227;o ?). Foi um grande sucesso entre os desenvolvedores. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/10309-aspnet_logo_2.gif&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;78&quot; alt=&quot;10309-aspnet_logo&quot; src=&quot;http://meiobit.com/files/10309-aspnet_logo_thumb.gif&quot; width=&quot;244&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; A etapa seguinte foi o surgimento do ASP.NET. O ASP.NET foi uma grande evolu&amp;#231;&amp;#227;o no desenvolvimento web, pois conseguiu dar um enorme salto no n&amp;#237;vel de abstra&amp;#231;&amp;#227;o do desenvolvimento, aproximando o desenvolvimento web do desenvolvimento windows e sem sofrer rejei&amp;#231;&amp;#227;o do p&amp;#250;blico por causa disso. &lt;/p&gt;
&lt;p&gt;A abstra&amp;#231;&amp;#227;o no ASP.NET divide-se em duas partes que utilizam metodologias distintas : Primeiramente o ASP.NET em si, que se apresenta ao programador como uma nova forma de programar baseada em tags e c&amp;#243;digo e abstraindo muito, muito mesmo do trabalho anterior com t&amp;#233;cnicas semelhantes a do Frontpage e Interdev. &lt;/p&gt;
&lt;p&gt;Mas se o Frontpage e o Interdev deram errado, por que o ASP.NET funcionou ? &lt;/p&gt;
&lt;p&gt;Simples : Porque conseguiu fazer uma abstra&amp;#231;&amp;#227;o mais vers&amp;#225;til, mais flexivel e aberta a criatividade do desenvolvedor. Enquanto os dois anteriores se baseavam em uma cole&amp;#231;&amp;#227;o enorme de bibliotecas de c&amp;#243;digo dif&amp;#237;ceis de organizar, o ASP.NET trazia uma escrita simples de tags que apenas se transformavam em c&amp;#243;digo client em momento da compila&amp;#231;&amp;#227;o, longe dos olhos do programador. Todo o trabalho do programador poderia ser feito com as tags em alto n&amp;#237;vel mesmo desenvolvendo no notepad se desejasse. &lt;/p&gt;
&lt;p&gt;Mas o ASP.NET trouxe tamb&amp;#233;m um 2o n&amp;#237;vel de abstra&amp;#231;&amp;#227;o : Wizards no Visual Studio para a gera&amp;#231;&amp;#227;o das tags ASP.NET. Wizards e recursos configur&amp;#225;veis de forma altamente flexivel e mantendo o padr&amp;#227;o de deixar o c&amp;#243;digo fonte visivel ao programador - s&amp;#243; que desta vez um c&amp;#243;digo fonte ASP.NET seguindo a abstra&amp;#231;&amp;#227;o anterior. &lt;/p&gt;
&lt;p&gt;A produtividade do desenvolvimento web com o uso do ASP.NET foi as alturas e se tornou um marco na evolu&amp;#231;&amp;#227;o tecnol&amp;#243;gica para a web. Por&amp;#233;m conforme a evolu&amp;#231;&amp;#227;o dava saltos cada vez maiores (em 2005 o salto do framework 1.1 para o framework 2.0 foi muito consider&amp;#225;vel) se tornava cada vez mais complexo o aprendizado da tecnologia. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/wizard2_2.jpg&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;202&quot; alt=&quot;wizard2&quot; src=&quot;http://meiobit.com/files/wizard2_thumb.jpg&quot; width=&quot;244&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Para aqueles que acompanharam a evolu&amp;#231;&amp;#227;o desde o inicio, a tecnologia &amp;#233; um verdadeiro livro aberto. Por&amp;#233;m, para quem entra no estudo da tecnologia nos dias de hoje, ver o que o ASP.NET 2.0 &amp;#233; capaz de fazer parecer pura magia e exige um grande esfor&amp;#231;o para analisar toda a arquitetura do ambiente e compreender como aquilo que inicialmente parece m&amp;#225;gica na verdade se encaixa perfeitamente com os conceitos t&amp;#233;cnicos da web. &lt;/p&gt;
&lt;p&gt;Iniciar o trabalho com ASP.NET nas vers&amp;#245;es atuais, por&amp;#233;m, tem um efeito muito diferente de quem acompanhou a sua evolu&amp;#231;&amp;#227;o desde o principio. Iniciando nas vers&amp;#245;es atuais, o desenvolvedor fica dividido entre dois ambientes : as linguagens base da web e o ASP.NET. &amp;#201; claro que o ASP.NET &amp;#233; muito mais produtivo, mas essa divis&amp;#227;o e a dificuldade em compreender os &amp;quot;efeitos de magia&amp;quot; do ASP.NET acabam por gerar efeitos semelhantes ao que outros processos de abstra&amp;#231;&amp;#227;o geraram no passado : Rejei&amp;#231;&amp;#227;o. &lt;/p&gt;
&lt;p&gt;Por isso hoje &amp;#233; muito comum vermos algumas pessoas dizendo &amp;quot;prefiro produzir o HTML na m&amp;#227;o&amp;quot;, &amp;quot;N&amp;#227;o gosto da gera&amp;#231;&amp;#227;o autom&amp;#225;tica de HTML&amp;quot;, &amp;quot;fica muito lixo no resultado gerado pela renderiza&amp;#231;&amp;#227;o&amp;quot;, s&amp;#243; que na grande maioria das vezes essas pessoas n&amp;#227;o tem um profundo conhecimento do ASP.NET para poderem se justificar, se tornando um efeito muito semelhante ao que aconteceu com o R.A.D. entre as vers&amp;#245;es 4 e 6 do VB. &lt;/p&gt;
&lt;p&gt;N&amp;#227;o quero dizer com isso que o ASP.NET n&amp;#227;o tem problemas, que o ASP.NET n&amp;#227;o possa melhorar em muitas coisas. &amp;#201; claro que pode ! A tecnologia sempre pode melhorar ! Mas comparando-se os problemas que o RAD no ASP.NET (e porque n&amp;#227;o no framework como um todo ?) tem hoje com os problemas que o RAD do VB 6 possuia, passamos por um processo de evolu&amp;#231;&amp;#227;o inigual&amp;#225;vel. &lt;/p&gt;
&lt;p&gt;Quer um exemplo ? Veja o webcast de &lt;a href=&quot;http://www.bufaloinfo.com.br/videosbufaloinfo.asp&quot; target=&quot;_blank&quot;&gt;cria&amp;#231;&amp;#227;o de uma camada de acesso a dados para web&lt;/a&gt;, onde uso o RAD ao extremo demonstrando que ele n&amp;#227;o apenas &amp;#233; eficiente mas tamb&amp;#233;m n&amp;#227;o gera perdas para a capacidade de manuten&amp;#231;&amp;#227;o da aplica&amp;#231;&amp;#227;o. &lt;/p&gt;
&lt;p&gt;Assim sendo, quando vejo jovens advogando que preferem fazer &amp;quot;tudo manualmente&amp;quot; ao inv&amp;#233;s de usar as tecnologias para abstra&amp;#231;&amp;#227;o que temos hoje, isso muito me decepciona. Desde a roda at&amp;#233; o carro o caminho do avan&amp;#231;o tecnol&amp;#243;gico sempre foi direcionado a abstra&amp;#231;&amp;#227;o. &lt;/p&gt;
&lt;p&gt;O ASP.NET tem problemas com design gr&amp;#225;fico ? Eu diria que o Visual Studio at&amp;#233; a vers&amp;#227;o 2005 teve problemas com design gr&amp;#225;fico. Mas por que chutar o balde e querer fazer tudo na m&amp;#227;o apenas por causa do design gr&amp;#225;fico ? N&amp;#227;o seria prefer&amp;#237;vel corrigir os problemas existentes para mantermos o alto n&amp;#237;vel de abstra&amp;#231;&amp;#227;o e produtividade, ao inv&amp;#233;s de chutar o balde e regridirmos em termos de produtividade ? Que tal assistir a um &lt;a href=&quot;http://www.bufaloinfo.com.br/videosbufaloinfo.asp&quot; target=&quot;_blank&quot;&gt;v&amp;#237;deo sobre como o Visual Studio 2008 lida com design&lt;/a&gt; e ver se realmente continua sendo prefer&amp;#237;vel jogar fora toda a abstra&amp;#231;&amp;#227;o obtida e regridir tanto ? &lt;/p&gt;
&lt;p&gt;Uma outra clara distor&amp;#231;&amp;#227;o (campo de distor&amp;#231;&amp;#227;o da realidade ?) quando desenvolvedores dizem que preferem fazer tudo &amp;quot;na m&amp;#227;o&amp;quot; ocorre com a cria&amp;#231;&amp;#227;o de aplica&amp;#231;&amp;#245;es distribuidas. Eu posso dizer que fiz e ensinei a fazer aplica&amp;#231;&amp;#245;es distribuidas &amp;quot;na m&amp;#227;o&amp;quot;. Utiliz&amp;#225;vamos DCOM em alguns casos e transmiss&amp;#227;o de XML em outros, montando o XML com o DOM (Document Object Model de XML da Microsoft) e transmitindo com &lt;a href=&quot;http://www.bufaloinfo.com.br/Artigos/artigo2207.asp&quot; target=&quot;_blank&quot;&gt;XMLHTTP&lt;/a&gt;. E olha que ainda d&amp;#225; para dizer que isso era muito luxo, pois pouco tempo antes tinha que ser concatena&amp;#231;&amp;#227;o de strings e abertura &amp;quot;manual&amp;quot; de conex&amp;#245;es HTTP. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://meiobit.com/files/w3c_2.gif&quot;&gt;&lt;img height=&quot;215&quot; alt=&quot;w3c&quot; src=&quot;http://meiobit.com/files/w3c_thumb.gif&quot; width=&quot;200&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; T&amp;#225;. E dai ? Dai que surgiu o W3C e criou : SOAP, WSDL, WS-SECURITY, WS-TRANSACTIONS, WS-ADDRESSING, isso s&amp;#243; para citar alguns dos WS* . Imagine-se tendo que seguir todos esses padr&amp;#245;es da forma como faziamos, montando o XML &amp;quot;manualmente&amp;quot;. Vi&amp;#225;vel ? &lt;/p&gt;
&lt;p&gt;Absurdo. Confesso que eu pr&amp;#243;prio, no inicio de toda essa padroniza&amp;#231;&amp;#227;o, fiquei me perguntando o quanto seria realmente vantajoso seguir os padr&amp;#245;es se o volume de trabalho que ter&amp;#237;amos para isso seria simplesmente triplicado. &lt;/p&gt;
&lt;p&gt;A padroniza&amp;#231;&amp;#227;o que o W3C criou nos ensinou uma grande li&amp;#231;&amp;#227;o : A padroniza&amp;#231;&amp;#227;o n&amp;#227;o tem como objetivo apenas a interoperabilidade, mas tamb&amp;#233;m a abstra&amp;#231;&amp;#227;o. A partir do momento em que algo &amp;#233; padr&amp;#227;o, ent&amp;#227;o n&amp;#227;o precisa mais ser feito por uma pessoa, pode ser feito por uma m&amp;#225;quina. &lt;/p&gt;
&lt;p&gt;Foi exatamente isso que aconteceu com os padr&amp;#245;es W3C : A partir da cria&amp;#231;&amp;#227;o dos padr&amp;#245;es, seu uso passou a ser automatizado. Passamos do Soap Toolkit para os webServices do .NET e agora o &lt;a title=&quot;WCF&quot; href=&quot;http://msdn2.microsoft.com/en-us/netframework/aa663324.aspx&quot; target=&quot;_blank&quot;&gt;WCF&lt;/a&gt;, o conceito de cria&amp;#231;&amp;#227;o de proxys para acesso a servi&amp;#231;os se intensificou e tais elementos passaram a ser gerados dinamicamente. Que atire o primeiro &lt;a href=&quot;http://www.bufaloinfo.com.br/artigos/artigo17102005.asp&quot; target=&quot;_blank&quot;&gt;webService com suporte a ws-security&lt;/a&gt;, ws-transactions e com WSDL aquele que disser que prefere fazer tudo &amp;quot;manualmente&amp;quot;. &lt;/p&gt;
&lt;p&gt;O ASP.NET pode melhorar mais ? Claro que pode, assim como toda tecnologia. Mas quanto mais os desenvolvedores investirem em sugest&amp;#245;es e formas de melhorar a tecnologia, ao inv&amp;#233;s de chutar o balde diretamente, mais e mais a tecnologia evoluir&amp;#225;. Chutar o balde, querer ter o controle de tudo e fazer tudo manualmente &amp;#233; um retrocesso, ir contra a todo o avan&amp;#231;o tecnol&amp;#243;gico que temos desde a roda. Aqueles que assim fazem podem at&amp;#233; estar temporariamente corretos (o que particularmente n&amp;#227;o acredito), mas cedo ou tarde a abstra&amp;#231;&amp;#227;o, presente na evolu&amp;#231;&amp;#227;o desde a roda, ir&amp;#225; atropela-los. &lt;/p&gt;
&lt;p&gt;Neste momento temos um novo dilema no mercado de desenvolvimento web : Devemos seguir adiante com o modelo de desenvolvimento que temos ou devemos mudar o caminho para a metodologia alternativa que est&amp;#225; sendo proposta, o ASP.NET MVC ? Para entrar mais tecnicamente neste assunto escrevi os artigo &lt;a href=&quot;http://www.bufaloinfo.com.br/artigos/coluna46.asp&quot; target=&quot;_blank&quot;&gt;Analisando o ASP.NET MVC Framework&lt;/a&gt;, &lt;a href=&quot;http://www.bufaloinfo.com.br/artigos/artigo26062008.asp&quot; target=&quot;_blank&quot;&gt;Criando uma Cesta de Compras com o ASP.NET MVC Framework&lt;/a&gt; e &lt;a href=&quot;http://www.devaspnet.com.br/colunas/coluna0136.aspx&quot; target=&quot;_blank&quot;&gt;Analisando uma Aplica&amp;#231;&amp;#227;o ASP.NET MVC&lt;/a&gt;. S&amp;#243; espero que n&amp;#227;o tenha acendido o pavio de um barril de p&amp;#243;lvora.&lt;/p&gt;
</description>
 <category domain="http://meiobit.pop.com.br/categoria/artigo">Artigo</category>
 <category domain="http://meiobit.pop.com.br/categoria/software_1">Software</category>
 <comments>http://meiobit.pop.com.br/meio-bit/software/rapid-application-development-ser-ou-nao-ser-r-pido#comments</comments>
 <pubDate>Sun, 06 Jul 2008 18:52:35 +0000</pubDate>
 <dc:creator>Dennes</dc:creator>
 <guid isPermaLink="false">16214 at http://meiobit.pop.com.br</guid>
</item>
</channel>
</rss>
