<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Sobre Frameworks&#8230;</title>
	<atom:link href="http://log4dev.com/2007/12/21/sobre-frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://log4dev.com/2007/12/21/sobre-frameworks/</link>
	<description></description>
	<pubDate>Fri, 09 Jan 2009 13:42:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Raphael</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-300</link>
		<dc:creator>Raphael</dc:creator>
		<pubDate>Thu, 06 Nov 2008 19:54:22 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-300</guid>
		<description>&lt;p&gt;Taí, gostei.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Taí, gostei.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Maurício Kataoka</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-299</link>
		<dc:creator>Maurício Kataoka</dc:creator>
		<pubDate>Thu, 06 Nov 2008 17:34:59 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-299</guid>
		<description>&lt;p&gt;Depois de ler todas essas mensagens de uma só vez (nem sei mais dizer como o Google me trouxe aqui), fiquei impressionado e elogio a Rafael, pelo tópico, e a todos os outros, pela elegância e refinamento das argumentações posteriores.&lt;/p&gt;

&lt;p&gt;Acho que tudo que foi dito aqui tem logica e está correto, não vejo como alguns acham que estão discordando de outros.&lt;/p&gt;

&lt;p&gt;Depois de tantas teses e antíteses vou, sem pretenção de concluir nada, tentar iniciar uma síntese. Desconhecendo o furum e a pesonalidade dos presentes, devo salientar que ao contrário de querer ter a “última palavra”, quero apenas descarregar alguns pensamentos que esta leitura me criou, e pô-los a prova aqui, esperando que alguém se manifeste, concordando ou discordando.&lt;/p&gt;

&lt;p&gt;Acho que até mesmo Rafael, o autor, se esqueceu do foco em meio ao debate, que a meu ver era a Maiêutica, ou "parto de idéias", de onde vem o termo. A EDUCAÇÃO.&lt;/p&gt;

&lt;p&gt;Defendendo Rafael (que me corrija se estiver errado) de forma que nem ele lembrou de fazer, a "raiva" dele está no ensino de frameworks e não no uso delas. Isto faz com que surjam profissionais aptos, mas dependentes de uma ferramenta, ao contrario de profissionais que sejam TÃO capazes de usar uma ferramenta por conhecer sua excência, QUANTO capazes de forjar uma nova e mais adequada ferramenta para um uso diferenciado.&lt;/p&gt;

&lt;p&gt;Acrescentando à analogia do Bruno, se você trabalha na Aqualug (fabricante de equipamentos de mergulho), seu trabalho é "reinventar a roda" a todo momento. Você aperfeiçoa às vezes, também tem que jogar tudo fora e começar do zero para quebrar paradigmas e criar conceitos inovadores, ou uma nova empresa o fará, com certeza.&lt;/p&gt;

&lt;p&gt;Se você trabalha com manutenção de pier, não vai inventar um novo equipamento de mergulho, seu trabalho é fazer a manutenção do pier, e só.&lt;/p&gt;

&lt;p&gt;Mas na formação do mergulhador, ele tem que durante sua formação, aprender a fisiologia do mergulho e a engenharia do pier, se quiser ser um profissional capaz de ver que "algo está fundamentalmente errado na forma como os desenvolvedores produzem e consomem equipamentos de mergulho e ferramentas de manutenção de pier" e, propor, ou ele mesmo inventar, soluções para realizar melhor suas tarefas ou possibilitar novas tarefas que ninguém pensara antes.&lt;/p&gt;

&lt;p&gt;Até aqui foi uma tentativa de sintetizar tudo que foi dito e concordo plenamente.&lt;/p&gt;

&lt;p&gt;Tenho algo a acrescentar a este tópico, e, para tal, vou me basear no própria crença de Sócrates, que se julgava superior a grande maioria dos homens por "saber que nada sabe". Aviso, de ante-mão, não ter nada a ver com tecnologia, mesmo assim não acho off-topic.&lt;/p&gt;

&lt;p&gt;Ele tinha a consciência de que seu conhecimento jamais seria entendido pela massa e apenas alguns "privilegiados" poderiam ensiná-lo como Anaxágoras de Clazômenas ou aprender com ele, como Platão. Seu indiferença era evidente de tal forma que preferiu a pobreza por toda a vida, a se render ao sufismo, pratica de cobrar para transmitir conhecimento em público.&lt;/p&gt;

&lt;p&gt;É verdade que nem todos que pretendem ser mergulhadores tem capacidade intelectual para desenvolver novos equipamentos de mergulho e mesmo assim podem executar muito bem sua tarefa de consertar o pier.&lt;/p&gt;

&lt;p&gt;Da mesma forma, nem todos terão a capacidade de aprender a programar sem usar frameworks, mas poderão ser bons profissionais e executar bons trabalhos. E ainda deixar sua marca no mundo, embora não revolucionem. Serão "heróis" no sentido arquétipo da palavra, sustentando suas famílias, gerando soluções a empresas e serão felizes.&lt;/p&gt;

&lt;p&gt;Dentro do "saber que nada sei", alguns, talvez, nunca tenham parado pra pensar que estamos sempre usando frameworks. Mesmo C ou assembler, são linguagens para chegarmos ao microcódigo de um processador, ao qual nunca teremos acesso direto e a maioria simplesmente desconhece.&lt;/p&gt;

&lt;p&gt;Assim como Sócrates, um projetista de processadores poderia ter desprezo ou indiferença, pelos programadores de assembler? C? E quanto aos "utilizadores de frameworks"? Esses então, não mereciam nem terem nascido?&lt;/p&gt;

&lt;p&gt;Este hipotético "projetista socrático", deveria lembrar que para que ele pudesse desenvolver seu chip, utilizou um computador, com um sistema operacional, provavelmente desenvolvido em C e um software CAD feito em Python, por um "utilizador de framework".&lt;/p&gt;

&lt;p&gt;Termino, chegando a minha conclusão pessoal, que julgo ser mais "libertadora", ao estilo filosófico de Foucault:&lt;/p&gt;

&lt;p&gt;Existe uma interdependencia entre todos os seres humanos, assim como entre os programadores e temos que usar o traje certo para mergulhar, brincar na piscina ou ir a locadora. Quando se levanta uma bandeira de que algo deveria ser assim ou assado, como Rafael, embora seja um pensamento logicamente certo, não liberta o ser humano, muito menos é justo com a capacidade individual deste, que pode estar simplesmente aprendendo de uma forma facilitada uma cadeira que pode não lhe ser natural ou adequada, mas que lhe foi conveniente pela situação do mercado de trabalho. Acredito que a maioria das pessoas que trabalham com tecnologia, não estariam, se quase a totalidade das boas oportunidades de carreira não fossem nesta área e se a profissão de, por exemplo, motorista de ônibus fosse respeitada e bem remunerada por, desta, depender o progresso de todas as outras. Mas este mundo só existe na cabeça de Foucault e em poucos e pequenos paízes sociais-democratas.&lt;/p&gt;

&lt;p&gt;Rafael, sei que você, como Sócrates, tem a consciência do "Sei que nada sei". E como já disse não discordo de nada que tenha sido dito aqui. Só não tenha essa "raiva" dos framework, de seus desenvolvedores ou seus utilizadores. Sócrates, acho que não parou pra pensar que, mesmo as formiguinhas, em sua minúscula capacidade e imperceptível utilidade, podem construir enormes formigueiros e têm grande responsabilidade na manutenção do ecosistema.&lt;/p&gt;

&lt;p&gt;Um abraço a todos e obrigado pelo deleite tecno-filosófico proporcionado.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Depois de ler todas essas mensagens de uma só vez (nem sei mais dizer como o Google me trouxe aqui), fiquei impressionado e elogio a Rafael, pelo tópico, e a todos os outros, pela elegância e refinamento das argumentações posteriores.</p>

<p>Acho que tudo que foi dito aqui tem logica e está correto, não vejo como alguns acham que estão discordando de outros.</p>

<p>Depois de tantas teses e antíteses vou, sem pretenção de concluir nada, tentar iniciar uma síntese. Desconhecendo o furum e a pesonalidade dos presentes, devo salientar que ao contrário de querer ter a “última palavra”, quero apenas descarregar alguns pensamentos que esta leitura me criou, e pô-los a prova aqui, esperando que alguém se manifeste, concordando ou discordando.</p>

<p>Acho que até mesmo Rafael, o autor, se esqueceu do foco em meio ao debate, que a meu ver era a Maiêutica, ou &#8220;parto de idéias&#8221;, de onde vem o termo. A EDUCAÇÃO.</p>

<p>Defendendo Rafael (que me corrija se estiver errado) de forma que nem ele lembrou de fazer, a &#8220;raiva&#8221; dele está no ensino de frameworks e não no uso delas. Isto faz com que surjam profissionais aptos, mas dependentes de uma ferramenta, ao contrario de profissionais que sejam TÃO capazes de usar uma ferramenta por conhecer sua excência, QUANTO capazes de forjar uma nova e mais adequada ferramenta para um uso diferenciado.</p>

<p>Acrescentando à analogia do Bruno, se você trabalha na Aqualug (fabricante de equipamentos de mergulho), seu trabalho é &#8220;reinventar a roda&#8221; a todo momento. Você aperfeiçoa às vezes, também tem que jogar tudo fora e começar do zero para quebrar paradigmas e criar conceitos inovadores, ou uma nova empresa o fará, com certeza.</p>

<p>Se você trabalha com manutenção de pier, não vai inventar um novo equipamento de mergulho, seu trabalho é fazer a manutenção do pier, e só.</p>

<p>Mas na formação do mergulhador, ele tem que durante sua formação, aprender a fisiologia do mergulho e a engenharia do pier, se quiser ser um profissional capaz de ver que &#8220;algo está fundamentalmente errado na forma como os desenvolvedores produzem e consomem equipamentos de mergulho e ferramentas de manutenção de pier&#8221; e, propor, ou ele mesmo inventar, soluções para realizar melhor suas tarefas ou possibilitar novas tarefas que ninguém pensara antes.</p>

<p>Até aqui foi uma tentativa de sintetizar tudo que foi dito e concordo plenamente.</p>

<p>Tenho algo a acrescentar a este tópico, e, para tal, vou me basear no própria crença de Sócrates, que se julgava superior a grande maioria dos homens por &#8220;saber que nada sabe&#8221;. Aviso, de ante-mão, não ter nada a ver com tecnologia, mesmo assim não acho off-topic.</p>

<p>Ele tinha a consciência de que seu conhecimento jamais seria entendido pela massa e apenas alguns &#8220;privilegiados&#8221; poderiam ensiná-lo como Anaxágoras de Clazômenas ou aprender com ele, como Platão. Seu indiferença era evidente de tal forma que preferiu a pobreza por toda a vida, a se render ao sufismo, pratica de cobrar para transmitir conhecimento em público.</p>

<p>É verdade que nem todos que pretendem ser mergulhadores tem capacidade intelectual para desenvolver novos equipamentos de mergulho e mesmo assim podem executar muito bem sua tarefa de consertar o pier.</p>

<p>Da mesma forma, nem todos terão a capacidade de aprender a programar sem usar frameworks, mas poderão ser bons profissionais e executar bons trabalhos. E ainda deixar sua marca no mundo, embora não revolucionem. Serão &#8220;heróis&#8221; no sentido arquétipo da palavra, sustentando suas famílias, gerando soluções a empresas e serão felizes.</p>

<p>Dentro do &#8220;saber que nada sei&#8221;, alguns, talvez, nunca tenham parado pra pensar que estamos sempre usando frameworks. Mesmo C ou assembler, são linguagens para chegarmos ao microcódigo de um processador, ao qual nunca teremos acesso direto e a maioria simplesmente desconhece.</p>

<p>Assim como Sócrates, um projetista de processadores poderia ter desprezo ou indiferença, pelos programadores de assembler? C? E quanto aos &#8220;utilizadores de frameworks&#8221;? Esses então, não mereciam nem terem nascido?</p>

<p>Este hipotético &#8220;projetista socrático&#8221;, deveria lembrar que para que ele pudesse desenvolver seu chip, utilizou um computador, com um sistema operacional, provavelmente desenvolvido em C e um software CAD feito em Python, por um &#8220;utilizador de framework&#8221;.</p>

<p>Termino, chegando a minha conclusão pessoal, que julgo ser mais &#8220;libertadora&#8221;, ao estilo filosófico de Foucault:</p>

<p>Existe uma interdependencia entre todos os seres humanos, assim como entre os programadores e temos que usar o traje certo para mergulhar, brincar na piscina ou ir a locadora. Quando se levanta uma bandeira de que algo deveria ser assim ou assado, como Rafael, embora seja um pensamento logicamente certo, não liberta o ser humano, muito menos é justo com a capacidade individual deste, que pode estar simplesmente aprendendo de uma forma facilitada uma cadeira que pode não lhe ser natural ou adequada, mas que lhe foi conveniente pela situação do mercado de trabalho. Acredito que a maioria das pessoas que trabalham com tecnologia, não estariam, se quase a totalidade das boas oportunidades de carreira não fossem nesta área e se a profissão de, por exemplo, motorista de ônibus fosse respeitada e bem remunerada por, desta, depender o progresso de todas as outras. Mas este mundo só existe na cabeça de Foucault e em poucos e pequenos paízes sociais-democratas.</p>

<p>Rafael, sei que você, como Sócrates, tem a consciência do &#8220;Sei que nada sei&#8221;. E como já disse não discordo de nada que tenha sido dito aqui. Só não tenha essa &#8220;raiva&#8221; dos framework, de seus desenvolvedores ou seus utilizadores. Sócrates, acho que não parou pra pensar que, mesmo as formiguinhas, em sua minúscula capacidade e imperceptível utilidade, podem construir enormes formigueiros e têm grande responsabilidade na manutenção do ecosistema.</p>

<p>Um abraço a todos e obrigado pelo deleite tecno-filosófico proporcionado.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-298</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Fri, 24 Oct 2008 13:37:01 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-298</guid>
		<description>&lt;p&gt;Marcos, se você leu &lt;em&gt;pelo menos&lt;/em&gt; minha primeira resposta e ainda sim concorda com o argumentos do Raphael eu desisto.&lt;/p&gt;

&lt;p&gt;PS: O que você disse agora eu comentei em detalhes na minha última resposta.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Marcos, se você leu <em>pelo menos</em> minha primeira resposta e ainda sim concorda com o argumentos do Raphael eu desisto.</p>

<p>PS: O que você disse agora eu comentei em detalhes na minha última resposta.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Marcos Douglas</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-297</link>
		<dc:creator>Marcos Douglas</dc:creator>
		<pubDate>Thu, 23 Oct 2008 11:34:58 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-297</guid>
		<description>&lt;p&gt;Bruno,&lt;/p&gt;

&lt;p&gt;Você está referindo-se ao meu post? Vou considerar que sim...&lt;/p&gt;

&lt;p&gt;O problema não é porque um framework não cobre todas as possibilidades, pois isto é impossível mesmo... O problema é o framework &lt;em&gt;querer&lt;/em&gt; cobrir todas as possibilidades! Aí, quando alguma coisa foge do contexto imposto pelo framework, este engessa o código de uma tal forma que, as vezes, é necessário fazer gambiarras para implementar o que se deseja, fugindo totalmente da "filosofia" do framework usado.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Bruno,</p>

<p>Você está referindo-se ao meu post? Vou considerar que sim&#8230;</p>

<p>O problema não é porque um framework não cobre todas as possibilidades, pois isto é impossível mesmo&#8230; O problema é o framework <em>querer</em> cobrir todas as possibilidades! Aí, quando alguma coisa foge do contexto imposto pelo framework, este engessa o código de uma tal forma que, as vezes, é necessário fazer gambiarras para implementar o que se deseja, fugindo totalmente da &#8220;filosofia&#8221; do framework usado.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-296</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Thu, 23 Oct 2008 11:30:34 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-296</guid>
		<description>&lt;p&gt;Todo framework, API ou qualquer pedaço de software que queira alavancar o reuso de código procura endereçar um certo problema &lt;em&gt;recorrente&lt;/em&gt;. É sempre uma troca, você injeta complexidade em um lado do seu modelo para permitir que a criação de uma &lt;em&gt;série&lt;/em&gt; de outros componentes se dê de maneira mais simples, pois o que todos eles fazem em comum está escrito uma única vez em um ponto isolado do sistema [pausa...] de forma ainda que uma única alteração nesta 'parte' comum aos componentes seja propagada de maneira 'transparente' e/ou simples.&lt;/p&gt;

&lt;p&gt;SE você não possui de forma recorrente o problema que o seu framework procura endereçar e talvez até possua pouquíssimos casos para os quais ele foi projetado para ajudar, bom... ai &lt;em&gt;a culpa é sua por usar a ferramenta errada no lugar errado&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Não há como fugir da complexidade, se ela existe de fato no seu problema. Se o seu problema se resolve bem com 2000 linhas de código, então realmente você talvez não precise de uma pilha de frameworks e/ou APIs de terceiros. Que sejam 10.000 linhas ou 20.000, etc.&lt;/p&gt;

&lt;p&gt;Agora se o seu sistema está escalando para 100.000 linhas ou mais, a complexidade provavelmente existe em algum lugar, não adianta você &lt;em&gt;fingir&lt;/em&gt; que ela não existe e usar &lt;em&gt;apenas&lt;/em&gt; um web.py para todo o ERP, CMS, XYZ da sua empresa. A complexidade existe e é extremamente comum no desenvolvimento de uma classe numerosa de tipos de software hoje em dia, alguém duvida?&lt;/p&gt;

&lt;p&gt;Agora se a complexidade existe cabe ao desenvolvedor de software saber onde injetar mais complexidade (e.g. um modelo OO por exemplo) para aliviar a complexidade de se escrever o que quer que seja mais &lt;strong&gt;recorrente&lt;/strong&gt; dentro do seu sistema. [pausa...]. A questão toda é saber onde injetar esta complexidade para resolver o problema certo.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A culpa é sua&lt;/em&gt; se escreveu metade do sistema para facilitar a escrita de 14% dos casos de uso (a não ser é claro que sejam os 14% mais importantes e difíceis de escrever, hehe). &lt;em&gt;A culpa é sua&lt;/em&gt; se escolheu um framework que resolve um problema que você não tem, o que não seja de longe seu principal problema.&lt;/p&gt;

&lt;p&gt;A culpa é sempre do desenvolvedor e suas escolhas, nunca da tecnologia.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Todo framework, API ou qualquer pedaço de software que queira alavancar o reuso de código procura endereçar um certo problema <em>recorrente</em>. É sempre uma troca, você injeta complexidade em um lado do seu modelo para permitir que a criação de uma <em>série</em> de outros componentes se dê de maneira mais simples, pois o que todos eles fazem em comum está escrito uma única vez em um ponto isolado do sistema [pausa...] de forma ainda que uma única alteração nesta &#8216;parte&#8217; comum aos componentes seja propagada de maneira &#8216;transparente&#8217; e/ou simples.</p>

<p>SE você não possui de forma recorrente o problema que o seu framework procura endereçar e talvez até possua pouquíssimos casos para os quais ele foi projetado para ajudar, bom&#8230; ai <em>a culpa é sua por usar a ferramenta errada no lugar errado</em>.</p>

<p>Não há como fugir da complexidade, se ela existe de fato no seu problema. Se o seu problema se resolve bem com 2000 linhas de código, então realmente você talvez não precise de uma pilha de frameworks e/ou APIs de terceiros. Que sejam 10.000 linhas ou 20.000, etc.</p>

<p>Agora se o seu sistema está escalando para 100.000 linhas ou mais, a complexidade provavelmente existe em algum lugar, não adianta você <em>fingir</em> que ela não existe e usar <em>apenas</em> um web.py para todo o ERP, CMS, XYZ da sua empresa. A complexidade existe e é extremamente comum no desenvolvimento de uma classe numerosa de tipos de software hoje em dia, alguém duvida?</p>

<p>Agora se a complexidade existe cabe ao desenvolvedor de software saber onde injetar mais complexidade (e.g. um modelo OO por exemplo) para aliviar a complexidade de se escrever o que quer que seja mais <strong>recorrente</strong> dentro do seu sistema. [pausa...]. A questão toda é saber onde injetar esta complexidade para resolver o problema certo.</p>

<p><em>A culpa é sua</em> se escreveu metade do sistema para facilitar a escrita de 14% dos casos de uso (a não ser é claro que sejam os 14% mais importantes e difíceis de escrever, hehe). <em>A culpa é sua</em> se escolheu um framework que resolve um problema que você não tem, o que não seja de longe seu principal problema.</p>

<p>A culpa é sempre do desenvolvedor e suas escolhas, nunca da tecnologia.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-295</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Wed, 22 Oct 2008 22:47:14 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-295</guid>
		<description>&lt;p&gt;Eu não canso de me impressionar... Quer dizer que se um framework não cobre todas as situações possíveis do universo então a conclusão lógica de alguns é pensar que o próprio conceito de frameworks é inválido... assustador...&lt;/p&gt;

&lt;p&gt;PS: Não me perguntem como eu achei esta thread novamente, a google sidebar do meu google desktop é que 'popou' um alerta com este link, mistérios... hehehe.&lt;/p&gt;

&lt;p&gt;PS2: Eu realmente não queria voltar nesta discussão sem fim, mas não resisti, fico cada vez mais impressionado.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Eu não canso de me impressionar&#8230; Quer dizer que se um framework não cobre todas as situações possíveis do universo então a conclusão lógica de alguns é pensar que o próprio conceito de frameworks é inválido&#8230; assustador&#8230;</p>

<p>PS: Não me perguntem como eu achei esta thread novamente, a google sidebar do meu google desktop é que &#8216;popou&#8217; um alerta com este link, mistérios&#8230; hehehe.</p>

<p>PS2: Eu realmente não queria voltar nesta discussão sem fim, mas não resisti, fico cada vez mais impressionado.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Marcos Douglas</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-294</link>
		<dc:creator>Marcos Douglas</dc:creator>
		<pubDate>Thu, 16 Oct 2008 11:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-294</guid>
		<description>&lt;p&gt;Raphael,&lt;/p&gt;

&lt;p&gt;Quando disse que perdia as discussões, era pelo fato de não representar a maioria dos desenvolvedores na hora de escolher a tecnologia/linguagem/framework... O framework da "moda" sempre "ganhava".&lt;/p&gt;

&lt;p&gt;Li o seu post por causa do web.py.
Entrei no mundo Python a pouco tempo e estava procurando algo que fosse produtivo mas que tivesse de acordo com minhas convicções. Espero ter encontrado.&lt;/p&gt;

&lt;p&gt;abraços&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Raphael,</p>

<p>Quando disse que perdia as discussões, era pelo fato de não representar a maioria dos desenvolvedores na hora de escolher a tecnologia/linguagem/framework&#8230; O framework da &#8220;moda&#8221; sempre &#8220;ganhava&#8221;.</p>

<p>Li o seu post por causa do web.py.
Entrei no mundo Python a pouco tempo e estava procurando algo que fosse produtivo mas que tivesse de acordo com minhas convicções. Espero ter encontrado.</p>

<p>abraços</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Raphael</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-293</link>
		<dc:creator>Raphael</dc:creator>
		<pubDate>Wed, 15 Oct 2008 20:32:31 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-293</guid>
		<description>&lt;p&gt;Marcos,&lt;/p&gt;

&lt;p&gt;Obrigado pelas suas palavras. Fique tranquilo, eu e você não somos os únicos que partilham dessa opinião.&lt;/p&gt;

&lt;p&gt;E, ainda que você fosse o único, não teria por que considerar que "perdeu a discussão". O simples ato de ponderar sobre o que você observa e defender sua opinião já te faz melhor do que aqueles que apenas seguem o consenso geral.&lt;/p&gt;

&lt;p&gt;Abraços&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Marcos,</p>

<p>Obrigado pelas suas palavras. Fique tranquilo, eu e você não somos os únicos que partilham dessa opinião.</p>

<p>E, ainda que você fosse o único, não teria por que considerar que &#8220;perdeu a discussão&#8221;. O simples ato de ponderar sobre o que você observa e defender sua opinião já te faz melhor do que aqueles que apenas seguem o consenso geral.</p>

<p>Abraços</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Marcos Douglas</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-292</link>
		<dc:creator>Marcos Douglas</dc:creator>
		<pubDate>Wed, 15 Oct 2008 12:13:38 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-292</guid>
		<description>&lt;p&gt;E aí gente, acabou a discussão? Ah, que pena... bom, cheguei muito atrasado também.&lt;/p&gt;

&lt;p&gt;Raphael,&lt;/p&gt;

&lt;p&gt;Sei que este post já tem um tempo razoável e eu nem sei se vc vai ler isso, mas vou escrever assim mesmo.&lt;/p&gt;

&lt;p&gt;A muito tempo eu tenho o mesmo pensamento que vc, de que algo está muito errado. Em todas as empresas que eu trabalhei, utilizávamos frameworks, caseiros ou não, não importa... O fato é que &lt;em&gt;sempre&lt;/em&gt; havia alguma coisa para implementar que fugia totalmente à filosofia do framework aí, então, a criatividade tomava conta da situação e o problema era resolvido, mas essa parte ficava totalmente fora da filosofia e estrutura do framework; ficava desconexo.&lt;/p&gt;

&lt;p&gt;Vou dar um exemplo simples: Numa das empresas na qual trabalhei, utilizávamos Delphi. Tinha um framework "caseiro". Para se fazer um formulário de cadastro, herdávamos de uma classe que já tinha todos os botões de inclusão, alteração, exclusão, pesquisa, funcionalidades para Mestre/Detalhe etc... Bem, se o seu cadastro fosse utilizar tudo aquilo, na mesma filosofia, com DBWare, era fantástico. Mas e quando o cadastro tinha alguns requisitos bem diferentes do usual, o que fazíamos? Simples, "Visible = False" em todos os componentes que não fossemos utilizar, ignorando todos os DataSets (pois este cadastro deveria utilizar uma Stored Procedure, por exemplo), ignorando todos os eventos "maravilhosos" que alguém pensou que cobriria todas as situações, etc.
Não quero me estender muito. Mas deu pra ter uma idéia? Espero que sim...&lt;/p&gt;

&lt;p&gt;Hoje eu tento trabalhar utilizando bibliotecas em detrimento aos frameworks, pois sempre haverá situações que o framework não previu, e é aí que as coisas não vão ficar mais homogêneas... o projeto não seguirá mais a mesma filosofia, em todo ele.&lt;/p&gt;

&lt;p&gt;Que bom encontrar pessoas, como vc, que tem o mesmo pensamento que eu. Pensei que eu fosse o único! E como sempre acabo perdendo nesse tipo de discussão, já estava perdendo as esperanças...&lt;/p&gt;

&lt;p&gt;Forte abraço
Marcos Douglas&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>E aí gente, acabou a discussão? Ah, que pena&#8230; bom, cheguei muito atrasado também.</p>

<p>Raphael,</p>

<p>Sei que este post já tem um tempo razoável e eu nem sei se vc vai ler isso, mas vou escrever assim mesmo.</p>

<p>A muito tempo eu tenho o mesmo pensamento que vc, de que algo está muito errado. Em todas as empresas que eu trabalhei, utilizávamos frameworks, caseiros ou não, não importa&#8230; O fato é que <em>sempre</em> havia alguma coisa para implementar que fugia totalmente à filosofia do framework aí, então, a criatividade tomava conta da situação e o problema era resolvido, mas essa parte ficava totalmente fora da filosofia e estrutura do framework; ficava desconexo.</p>

<p>Vou dar um exemplo simples: Numa das empresas na qual trabalhei, utilizávamos Delphi. Tinha um framework &#8220;caseiro&#8221;. Para se fazer um formulário de cadastro, herdávamos de uma classe que já tinha todos os botões de inclusão, alteração, exclusão, pesquisa, funcionalidades para Mestre/Detalhe etc&#8230; Bem, se o seu cadastro fosse utilizar tudo aquilo, na mesma filosofia, com DBWare, era fantástico. Mas e quando o cadastro tinha alguns requisitos bem diferentes do usual, o que fazíamos? Simples, &#8220;Visible = False&#8221; em todos os componentes que não fossemos utilizar, ignorando todos os DataSets (pois este cadastro deveria utilizar uma Stored Procedure, por exemplo), ignorando todos os eventos &#8220;maravilhosos&#8221; que alguém pensou que cobriria todas as situações, etc.
Não quero me estender muito. Mas deu pra ter uma idéia? Espero que sim&#8230;</p>

<p>Hoje eu tento trabalhar utilizando bibliotecas em detrimento aos frameworks, pois sempre haverá situações que o framework não previu, e é aí que as coisas não vão ficar mais homogêneas&#8230; o projeto não seguirá mais a mesma filosofia, em todo ele.</p>

<p>Que bom encontrar pessoas, como vc, que tem o mesmo pensamento que eu. Pensei que eu fosse o único! E como sempre acabo perdendo nesse tipo de discussão, já estava perdendo as esperanças&#8230;</p>

<p>Forte abraço
Marcos Douglas</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://log4dev.com/2007/12/21/sobre-frameworks/comment-page-1/#comment-270</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Thu, 27 Dec 2007 22:20:15 +0000</pubDate>
		<guid isPermaLink="false">http://log4dev.com/2007/12/21/sobre-frameworks/#comment-270</guid>
		<description>&lt;p&gt;Raphael,&lt;/p&gt;

&lt;p&gt;Se você vai realmente continuar com a loucura de criticar o conceito de frameworks eu realmente acharia interessante ouvir seus contra argumentos sobre os pontos que eu enumerei em minha primeira resposta.&lt;/p&gt;

&lt;p&gt;E ainda dizer está procurando uma alternativa tendo antes dito que usa o web.py?!?
&lt;blockquote&gt;
&lt;strong&gt;&lt;a href="http://webpy.org/" rel="nofollow"&gt;web.py&lt;/a&gt; is a web framework&lt;/strong&gt; for python that is as simple as it is powerful.
&lt;/blockquote&gt;
Este framework que você tanto elogia me está parecendo nada mais do que uma versão de Java Servlets para Python, correto?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Raphael,</p>

<p>Se você vai realmente continuar com a loucura de criticar o conceito de frameworks eu realmente acharia interessante ouvir seus contra argumentos sobre os pontos que eu enumerei em minha primeira resposta.</p>

<p>E ainda dizer está procurando uma alternativa tendo antes dito que usa o web.py?!?
<blockquote>
<strong><a href="http://webpy.org/" onclick="javascript:pageTracker._trackPageview('/outbound/comment/webpy.org');" rel="nofollow">web.py</a> is a web framework</strong> for python that is as simple as it is powerful.
</blockquote>
Este framework que você tanto elogia me está parecendo nada mais do que uma versão de Java Servlets para Python, correto?</p>]]></content:encoded>
	</item>
</channel>
</rss>
