<?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"
	>
<channel>
	<title>Comments on: Regras dinâmicas no Domain Model com linguagens de script</title>
	<atom:link href="http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/feed" rel="self" type="application/rss+xml" />
	<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/</link>
	<description>Além dos limites da WEB!</description>
	<pubDate>Tue, 06 Jan 2009 04:30:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Christiano via Rec6</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-309</link>
		<dc:creator>Christiano via Rec6</dc:creator>
		<pubDate>Mon, 25 Feb 2008 00:47:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-309</guid>
		<description>&lt;strong&gt;Regras dinâmicas no Domain Model com linguagens de script  - CMilfont Tech...&lt;/strong&gt;

Criando um mecanismo de execução de regras em alto nível dentro do coração do sistema...</description>
		<content:encoded><![CDATA[<p><strong>Regras dinâmicas no Domain Model com linguagens de script  - CMilfont Tech&#8230;</strong></p>
<p>Criando um mecanismo de execução de regras em alto nível dentro do coração do sistema&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-256</link>
		<dc:creator>David</dc:creator>
		<pubDate>Tue, 29 Jan 2008 12:31:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-256</guid>
		<description>Ótimo post. Escrevi um post parecido (não tão claro como o seu) onde uso o pattern Command para fazer a parte Dinamica. Só que ao invez de utilizar a OO, pretendo utilizar o Windows Workflow Foundation (WWF).

http://cquesabe.blogspot.com/2007/12/workflow-foundation-ou-porque-existem.html

Abs. David</description>
		<content:encoded><![CDATA[<p>Ótimo post. Escrevi um post parecido (não tão claro como o seu) onde uso o pattern Command para fazer a parte Dinamica. Só que ao invez de utilizar a OO, pretendo utilizar o Windows Workflow Foundation (WWF).</p>
<p><a href="http://cquesabe.blogspot.com/2007/12/workflow-foundation-ou-porque-existem.html" rel="nofollow">http://cquesabe.blogspot.com/2007/12/workflow-foundation-ou-porque-existem.html</a></p>
<p>Abs. David</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cmilfont</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-240</link>
		<dc:creator>cmilfont</dc:creator>
		<pubDate>Tue, 22 Jan 2008 15:25:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-240</guid>
		<description>@Rafael Ponte

Eu falei sobre isso mesmo, releia minha resposta, colei um trecho de importação para que possa instanciar objetos diretamente como voce exemplificou.
Agora entenda, preciso trocar referencias entre contextos diferentes já instanciados no java para o script, daí precisa usar a APi da jsr223 para enviar esses valores ao script.

para clarear, faça uma analogia com Http, preciso botar variaveis no request ou session para compartilhar contextos diferentes:

uma coisa é voce fazer
var frame = new JFrame("");

outra é var desconto = valorTotal - 10; // onde esse ValorTotal é uma propriedade de uma classe java fora do contexto do script</description>
		<content:encoded><![CDATA[<p>@Rafael Ponte</p>
<p>Eu falei sobre isso mesmo, releia minha resposta, colei um trecho de importação para que possa instanciar objetos diretamente como voce exemplificou.<br />
Agora entenda, preciso trocar referencias entre contextos diferentes já instanciados no java para o script, daí precisa usar a APi da jsr223 para enviar esses valores ao script.</p>
<p>para clarear, faça uma analogia com Http, preciso botar variaveis no request ou session para compartilhar contextos diferentes:</p>
<p>uma coisa é voce fazer<br />
var frame = new JFrame(&#8221;");</p>
<p>outra é var desconto = valorTotal - 10; // onde esse ValorTotal é uma propriedade de uma classe java fora do contexto do script</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael Ponte</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-239</link>
		<dc:creator>Rafael Ponte</dc:creator>
		<pubDate>Tue, 22 Jan 2008 15:09:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-239</guid>
		<description>@Christiano Milfont

"Veja que o Java que está chamando o script e não o contrário, voce precsa compartilhar as variaveis no mesmo contexto que seu script. Voce deve ta confundindo com a chamada a partir do script a um objeto java como por exmeplo a chamada a uma Util:

importClass(”java.util.List”);"

Não, não.. estou falando de código JavaScript instanciando classes Java, em JRuby (ou mesmo Groovy) teríamos algo como:

frame = javax.swing.JFrame.new()
frame.getContentPane().add(javax.swing.JLabel.new('Hello, World!'))
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.pack()
frame.set_visible(true)

Saca? Dá uma olhada em http://en.wikipedia.org/wiki/JRuby
Com Groovy também é possível, assim conseguimos ter uma "conversação" mais agradável entre os dois paradigmas :)</description>
		<content:encoded><![CDATA[<p>@Christiano Milfont</p>
<p>&#8220;Veja que o Java que está chamando o script e não o contrário, voce precsa compartilhar as variaveis no mesmo contexto que seu script. Voce deve ta confundindo com a chamada a partir do script a um objeto java como por exmeplo a chamada a uma Util:</p>
<p>importClass(”java.util.List”);&#8221;</p>
<p>Não, não.. estou falando de código JavaScript instanciando classes Java, em JRuby (ou mesmo Groovy) teríamos algo como:</p>
<p>frame = javax.swing.JFrame.new()<br />
frame.getContentPane().add(javax.swing.JLabel.new(&#8217;Hello, World!&#8217;))<br />
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)<br />
frame.pack()<br />
frame.set_visible(true)</p>
<p>Saca? Dá uma olhada em <a href="http://en.wikipedia.org/wiki/JRuby" rel="nofollow">http://en.wikipedia.org/wiki/JRuby</a><br />
Com Groovy também é possível, assim conseguimos ter uma &#8220;conversação&#8221; mais agradável entre os dois paradigmas <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cmilfont</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-238</link>
		<dc:creator>cmilfont</dc:creator>
		<pubDate>Tue, 22 Jan 2008 14:55:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-238</guid>
		<description>@Rafael Ponte

"Exacto, e quem disse que o código do prototype é simples? Como você disse, o código acima é comum à quem conhece um framework javascript, mas essa não é a realidade da maioria do desenvolvedores do mercado, eu mesmo me perco na New School :) Não é só porque vou utilizar o Spring ou Hibernate que preciso entender o código contido neles, alias, com certeza é algo até complexo e muito extenso de entender, além do mais eu quero somente utilizar o framework, não preciso entendê-lo a fundo."

Voce precisa entender os princípios de um framework se quer usá-lo, saber quais patterns ele implementa, na verdade qual o problema que ele resolve, mas isso é assunto que já extrapola essa discussão. O ue importa é criar uma linguagem comum para a equipe em seus diversos niveis, lembre-se que o dominio que essa linguagem atuará é bem específico, a arquitetura como um todo ficará n a linguagem multipropósito como todo mundo tem o costume de usar.

"Através da engine de scripting, engine.put(”lista”, this.itens);"

Esse método é para compartilhar variáveis em tempo de execução no mesmo contexto, seja em Jruby, Groovy ou outra linguagem qualquer usando a JSR223

"Com Groovy e até mesmo com JRuby você consegue acessar as classes e objetos Java, assim não há necessidades de usar essa engine ae :) Não sei se é possível diretamente com JavaScript e o Rhino, sabe dizer se é possível?"

Veja que o Java que está chamando o script e não o contrário, voce precsa compartilhar as variaveis no mesmo contexto que seu script. Voce deve ta confundindo com a chamada a partir do script a um objeto java como por exmeplo a chamada a uma Util:

importClass("java.util.List");</description>
		<content:encoded><![CDATA[<p>@Rafael Ponte</p>
<p>&#8220;Exacto, e quem disse que o código do prototype é simples? Como você disse, o código acima é comum à quem conhece um framework javascript, mas essa não é a realidade da maioria do desenvolvedores do mercado, eu mesmo me perco na New School <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Não é só porque vou utilizar o Spring ou Hibernate que preciso entender o código contido neles, alias, com certeza é algo até complexo e muito extenso de entender, além do mais eu quero somente utilizar o framework, não preciso entendê-lo a fundo.&#8221;</p>
<p>Voce precisa entender os princípios de um framework se quer usá-lo, saber quais patterns ele implementa, na verdade qual o problema que ele resolve, mas isso é assunto que já extrapola essa discussão. O ue importa é criar uma linguagem comum para a equipe em seus diversos niveis, lembre-se que o dominio que essa linguagem atuará é bem específico, a arquitetura como um todo ficará n a linguagem multipropósito como todo mundo tem o costume de usar.</p>
<p>&#8220;Através da engine de scripting, engine.put(”lista”, this.itens);&#8221;</p>
<p>Esse método é para compartilhar variáveis em tempo de execução no mesmo contexto, seja em Jruby, Groovy ou outra linguagem qualquer usando a JSR223</p>
<p>&#8220;Com Groovy e até mesmo com JRuby você consegue acessar as classes e objetos Java, assim não há necessidades de usar essa engine ae <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Não sei se é possível diretamente com JavaScript e o Rhino, sabe dizer se é possível?&#8221;</p>
<p>Veja que o Java que está chamando o script e não o contrário, voce precsa compartilhar as variaveis no mesmo contexto que seu script. Voce deve ta confundindo com a chamada a partir do script a um objeto java como por exmeplo a chamada a uma Util:</p>
<p>importClass(&#8221;java.util.List&#8221;);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael Ponte</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-237</link>
		<dc:creator>Rafael Ponte</dc:creator>
		<pubDate>Tue, 22 Jan 2008 14:35:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-237</guid>
		<description>@Christiano Milfont

"Pelo contrário, eu usei um trecho de código roubado do prototype e comum a quem conhece algum framework javascript, pode ser difícil de ler para quem não tem conhecimento de javascript da New School."

Exacto, e quem disse que o código do prototype é simples? Como você disse, o código acima é comum à quem conhece um framework javascript, mas essa não é a realidade da maioria do desenvolvedores do mercado, eu mesmo me perco na New School :) Não é só porque vou utilizar o Spring ou Hibernate que preciso entender o código contido neles, alias, com certeza é algo até complexo e muito extenso de entender, além do mais eu quero somente utilizar o framework, não preciso entendê-lo a fundo.

"Popular variáveis através de que? não entendi."

Através da engine de scripting, engine.put("lista", this.itens);

Com Groovy e até mesmo com JRuby você consegue acessar as classes e objetos Java, assim não há necessidades de usar essa engine ae :) Não sei se é possível diretamente com JavaScript e o Rhino, sabe dizer se é possível?</description>
		<content:encoded><![CDATA[<p>@Christiano Milfont</p>
<p>&#8220;Pelo contrário, eu usei um trecho de código roubado do prototype e comum a quem conhece algum framework javascript, pode ser difícil de ler para quem não tem conhecimento de javascript da New School.&#8221;</p>
<p>Exacto, e quem disse que o código do prototype é simples? Como você disse, o código acima é comum à quem conhece um framework javascript, mas essa não é a realidade da maioria do desenvolvedores do mercado, eu mesmo me perco na New School <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Não é só porque vou utilizar o Spring ou Hibernate que preciso entender o código contido neles, alias, com certeza é algo até complexo e muito extenso de entender, além do mais eu quero somente utilizar o framework, não preciso entendê-lo a fundo.</p>
<p>&#8220;Popular variáveis através de que? não entendi.&#8221;</p>
<p>Através da engine de scripting, engine.put(&#8221;lista&#8221;, this.itens);</p>
<p>Com Groovy e até mesmo com JRuby você consegue acessar as classes e objetos Java, assim não há necessidades de usar essa engine ae <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Não sei se é possível diretamente com JavaScript e o Rhino, sabe dizer se é possível?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cmilfont</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-236</link>
		<dc:creator>cmilfont</dc:creator>
		<pubDate>Tue, 22 Jan 2008 14:13:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-236</guid>
		<description>@Hildeberto

"Desempenho parece ser o único argumento para MapReduce em linguagem funcional? Hadoop tá implementando isso em Java. Obvio que é melhor fazer em C (e não em C++ para os puristas) se o problema for desempenho. Porque o Google usou C++ mesmo? Deve ter algum objeto lá, não? heheheh"

Desempenho não é o único argumento para linguagens funcionais. Processamento assíncrono de um loop da função só é feito em linguagens funcionais, não em java.
Os proprios criadores do MapReduce admitiram que foi pela influência de LISP que criaram o algoritmo, desenlveram em C++ mas se voce observar o Paper não há nenhum objeto lá, não usaram como uma linguagem OO. Aliás Alan kay nem considera C++ uma linguagem adequada para OO :)

Outra coisa, como falei para o @Rafael Ponte e para o @Felipe Gaúcho, MapReduce foi apenas um exemplo de algo que se cria apenas com a abstração necessária para isso e um Javer puro que não conheça linguagens funcionais dificlmente conseguiria, não afirmei em ponto algum que não dê para implementar em outros paradigmas.</description>
		<content:encoded><![CDATA[<p>@Hildeberto</p>
<p>&#8220;Desempenho parece ser o único argumento para MapReduce em linguagem funcional? Hadoop tá implementando isso em Java. Obvio que é melhor fazer em C (e não em C++ para os puristas) se o problema for desempenho. Porque o Google usou C++ mesmo? Deve ter algum objeto lá, não? heheheh&#8221;</p>
<p>Desempenho não é o único argumento para linguagens funcionais. Processamento assíncrono de um loop da função só é feito em linguagens funcionais, não em java.<br />
Os proprios criadores do MapReduce admitiram que foi pela influência de LISP que criaram o algoritmo, desenlveram em C++ mas se voce observar o Paper não há nenhum objeto lá, não usaram como uma linguagem OO. Aliás Alan kay nem considera C++ uma linguagem adequada para OO <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Outra coisa, como falei para o @Rafael Ponte e para o @Felipe Gaúcho, MapReduce foi apenas um exemplo de algo que se cria apenas com a abstração necessária para isso e um Javer puro que não conheça linguagens funcionais dificlmente conseguiria, não afirmei em ponto algum que não dê para implementar em outros paradigmas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cmilfont</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-235</link>
		<dc:creator>cmilfont</dc:creator>
		<pubDate>Tue, 22 Jan 2008 14:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-235</guid>
		<description>@Rafael Ponte

"Post muito bom, mas por que você complicou tanto o código JavaScript, poderia ter simplificado para o post :) Pára de ser esnobe, rss.. Vê se não complica na palestra de amanhã!"

Pelo contrário, eu usei um trecho de código roubado do prototype e comum a quem conhece algum framework javascript, pode ser difícil de ler para quem não tem conhecimento de javascript da New School.

"Pare com essa balela de “somente com linguagem funcional é possível implementar MapReduce”, toda vida você fala isso, rsss.. Acho que você quis dizer que Java não implementa as funções map e reduce que são comumente usadas em linguagens funcionais :)"

Eu não falei em ponto algum que MapReduce é implementado apenas em linguagens funcionais, entenda de uma ves por todas, eu falei que MapReduce é criado por QUEM conhece linguagens funcionais porque exige uma abstração de alguem que já trabalhou com Lisp ou similar. Implementar voce consegue com outra linguagens, mas criar, imaginar só tendo a abstração necessária. Um Javer puro que não conhece linguagens funcionais dificilmente sairia com um algoritmo desses.

"Enfim, eu gostei do post, excelente qualidade no texto, contudo isso ainda não me convenceu, por incrível que pareça ainda me parece complicado manter um sistema assim, talvez por não haver ainda uma estrutura de organização, não sei.. mas será que não seria mais fácil utilizar-se de Groovy à JavaScript, não? Assim não precisaríamos ficar “populando” as variáveis através daquela engine.."

Popular variáveis através de que? não entendi.
O que voce quis dizer com estrutura de organização?
Groovy a Javascript é questão mais de gosto pessoal.
Observe que o foco do artigo é no Domain Model, quando existe um, falei claramente que se o seu sistema é uma amontoado de consultar, cadastros e relatórios, não há necessidade aparente de ter um Domain Model e consequente utilizar uma abordagem com linguagens dinâmicas.

"Parabéns, estou muito ancioso pela palestra de amanhã!"
Amanhã nos degladiamos ao vivo :)</description>
		<content:encoded><![CDATA[<p>@Rafael Ponte</p>
<p>&#8220;Post muito bom, mas por que você complicou tanto o código JavaScript, poderia ter simplificado para o post <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Pára de ser esnobe, rss.. Vê se não complica na palestra de amanhã!&#8221;</p>
<p>Pelo contrário, eu usei um trecho de código roubado do prototype e comum a quem conhece algum framework javascript, pode ser difícil de ler para quem não tem conhecimento de javascript da New School.</p>
<p>&#8220;Pare com essa balela de “somente com linguagem funcional é possível implementar MapReduce”, toda vida você fala isso, rsss.. Acho que você quis dizer que Java não implementa as funções map e reduce que são comumente usadas em linguagens funcionais :)&#8221;</p>
<p>Eu não falei em ponto algum que MapReduce é implementado apenas em linguagens funcionais, entenda de uma ves por todas, eu falei que MapReduce é criado por QUEM conhece linguagens funcionais porque exige uma abstração de alguem que já trabalhou com Lisp ou similar. Implementar voce consegue com outra linguagens, mas criar, imaginar só tendo a abstração necessária. Um Javer puro que não conhece linguagens funcionais dificilmente sairia com um algoritmo desses.</p>
<p>&#8220;Enfim, eu gostei do post, excelente qualidade no texto, contudo isso ainda não me convenceu, por incrível que pareça ainda me parece complicado manter um sistema assim, talvez por não haver ainda uma estrutura de organização, não sei.. mas será que não seria mais fácil utilizar-se de Groovy à JavaScript, não? Assim não precisaríamos ficar “populando” as variáveis através daquela engine..&#8221;</p>
<p>Popular variáveis através de que? não entendi.<br />
O que voce quis dizer com estrutura de organização?<br />
Groovy a Javascript é questão mais de gosto pessoal.<br />
Observe que o foco do artigo é no Domain Model, quando existe um, falei claramente que se o seu sistema é uma amontoado de consultar, cadastros e relatórios, não há necessidade aparente de ter um Domain Model e consequente utilizar uma abordagem com linguagens dinâmicas.</p>
<p>&#8220;Parabéns, estou muito ancioso pela palestra de amanhã!&#8221;<br />
Amanhã nos degladiamos ao vivo <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cmilfont</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-234</link>
		<dc:creator>cmilfont</dc:creator>
		<pubDate>Tue, 22 Jan 2008 13:56:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-234</guid>
		<description>@Felipe Gaúcho

"1 - falar em MapReduce nao faz parte da realidade brasileira :)"

MapReduce foi apenas um exemplo de algo que se cria conhecendo linguagens funcionais, sequer faz parte do foco do Post. Mesmo assim dizer que MapReduce não faz parte da realidade brasileiro voce cai em erro, temos muitas empresas que se preocupam com escalabilidade, imagine quantos milhões de pessoas consultam o BigBrother diariamente, não que o MapReduce esteja envolvido diretamente e sim que soluções de manipualção maciça de dados são da realidade brasileira sim. Mas esquecamos o MapReduce no foco do artigo...


"2 - supor que o deployment vai ficar mais simples por ter scripts eh supor que você nao vai precisar testar a parte estática contra as novas regras editadas no script.. Na prática, alterando qualquer linha do projeto (seja estática ou dinâmica) você precisa executar todos os testes de aceitaçao novamente, então adeus simplicidade :) "

Custo de deploy não tem nada a ver com testes, rodar uma bateria de testes é primordial sim e os testes devem e são feitos no script tambem. Reveja seus conceitos de deploy, o que excutar uma bateria de testes tem a ver com o custo do deploy diretamente? 
Outra coisa, a proposta abordada no artigo são para mudanças imprevisíveis e ágeis, separei bem os conceitos do código estático, aquele que envolve os principios do negocio daquela parte dinamica que são regras gerais de varejo.

"Jah vi muitos palestrantes sugerirem “eu vou abrir um editor de texto, trocar meia duzia de linhas do meu script e tudo estará atualizado sem a necessidade de compilar código, etc.”.. me parece uma grande falácia quando eu lembro que o codigo vai ter que ser retestado.. então a unica simplicidade eh usar um editor de texto para editar o script ao inves do eclipse para edtar o codigo Java. Depois de editados, ambos os artefatos passarão por uma bateria de testes que nao vao ficar mais simlpes pelo formato dos arquivos :)"

Abro o Eclipse mesmo para editar os scripts e me beneficio de uma IDE moderna para isso, a simplicidade está na  manutenção e agilidade nas mudanças e não com o que se vai alterar.
Mais uma ves, codigo estatico ou não, a bateria de testes são rodados do mesmo jeito e isso não tem impacto em nenhuma abordagem em relação a diferenciação de custo

"Ainda espero alguém que me convença da menor complexidade dos scripts diante de linguagens OO e fortemente tipadas :) Continuo supondo que exista grandes benefícios no uso do script, mas ateh hoje nao apareceu a prova cabal disso :) eheh a menos, claro, se estamos falando no maldito browser e suas gambiarras javascript.. aih nao tem jeito mesmo.. ahah"

Como eu enfatizei no texto, cada linguagem tem seu uso, a construção de um Domain Model com uma linguagem estática é primordial por tudo ue envolve a qualidade de verificação em tempo de compilação, etc. não há nesse ponto concorrência entre linguagens dinamicas e estaticas, o uso das dinamcias seriam nos pontos que a estatica sofre com manutenção e agilidade.</description>
		<content:encoded><![CDATA[<p>@Felipe Gaúcho</p>
<p>&#8220;1 - falar em MapReduce nao faz parte da realidade brasileira :)&#8221;</p>
<p>MapReduce foi apenas um exemplo de algo que se cria conhecendo linguagens funcionais, sequer faz parte do foco do Post. Mesmo assim dizer que MapReduce não faz parte da realidade brasileiro voce cai em erro, temos muitas empresas que se preocupam com escalabilidade, imagine quantos milhões de pessoas consultam o BigBrother diariamente, não que o MapReduce esteja envolvido diretamente e sim que soluções de manipualção maciça de dados são da realidade brasileira sim. Mas esquecamos o MapReduce no foco do artigo&#8230;</p>
<p>&#8220;2 - supor que o deployment vai ficar mais simples por ter scripts eh supor que você nao vai precisar testar a parte estática contra as novas regras editadas no script.. Na prática, alterando qualquer linha do projeto (seja estática ou dinâmica) você precisa executar todos os testes de aceitaçao novamente, então adeus simplicidade <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8221;</p>
<p>Custo de deploy não tem nada a ver com testes, rodar uma bateria de testes é primordial sim e os testes devem e são feitos no script tambem. Reveja seus conceitos de deploy, o que excutar uma bateria de testes tem a ver com o custo do deploy diretamente?<br />
Outra coisa, a proposta abordada no artigo são para mudanças imprevisíveis e ágeis, separei bem os conceitos do código estático, aquele que envolve os principios do negocio daquela parte dinamica que são regras gerais de varejo.</p>
<p>&#8220;Jah vi muitos palestrantes sugerirem “eu vou abrir um editor de texto, trocar meia duzia de linhas do meu script e tudo estará atualizado sem a necessidade de compilar código, etc.”.. me parece uma grande falácia quando eu lembro que o codigo vai ter que ser retestado.. então a unica simplicidade eh usar um editor de texto para editar o script ao inves do eclipse para edtar o codigo Java. Depois de editados, ambos os artefatos passarão por uma bateria de testes que nao vao ficar mais simlpes pelo formato dos arquivos :)&#8221;</p>
<p>Abro o Eclipse mesmo para editar os scripts e me beneficio de uma IDE moderna para isso, a simplicidade está na  manutenção e agilidade nas mudanças e não com o que se vai alterar.<br />
Mais uma ves, codigo estatico ou não, a bateria de testes são rodados do mesmo jeito e isso não tem impacto em nenhuma abordagem em relação a diferenciação de custo</p>
<p>&#8220;Ainda espero alguém que me convença da menor complexidade dos scripts diante de linguagens OO e fortemente tipadas <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Continuo supondo que exista grandes benefícios no uso do script, mas ateh hoje nao apareceu a prova cabal disso <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> eheh a menos, claro, se estamos falando no maldito browser e suas gambiarras javascript.. aih nao tem jeito mesmo.. ahah&#8221;</p>
<p>Como eu enfatizei no texto, cada linguagem tem seu uso, a construção de um Domain Model com uma linguagem estática é primordial por tudo ue envolve a qualidade de verificação em tempo de compilação, etc. não há nesse ponto concorrência entre linguagens dinamicas e estaticas, o uso das dinamcias seriam nos pontos que a estatica sofre com manutenção e agilidade.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hildeberto</title>
		<link>http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-233</link>
		<dc:creator>Hildeberto</dc:creator>
		<pubDate>Tue, 22 Jan 2008 13:06:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.milfont.org/tech/2008/01/22/regras-dinamicas-no-domain-model-com-linguagens-de-script/#comment-233</guid>
		<description>Desempenho parece ser o único argumento para MapReduce em linguagem funcional? Hadoop tá implementando isso em Java. Obvio que é melhor fazer em C (e não em C++ para os puristas) se o problema for desempenho. Porque o Google usou C++ mesmo? Deve ter algum objeto lá, não? heheheh</description>
		<content:encoded><![CDATA[<p>Desempenho parece ser o único argumento para MapReduce em linguagem funcional? Hadoop tá implementando isso em Java. Obvio que é melhor fazer em C (e não em C++ para os puristas) se o problema for desempenho. Porque o Google usou C++ mesmo? Deve ter algum objeto lá, não? heheheh</p>
]]></content:encoded>
	</item>
</channel>
</rss>
