It is

[color=“blue”]Oi pessoal !!! Olha, não conheço muito dessas linguangens de script que rodam na JVM mais vou tentar dar a minha opinião sobre o que eu sei.

Uma das grandes vantagens pra mim é que você tem mais opções em relação a linguagem de programação a ser utilizada, ou seja, você pode utilizar a linguagem que mais lhe agrada.

A desvantagem… para os programadores não vejo nenhuma. Essas novas linguagens de scripts trazem novos recursos interessantes que podem ser utilizados. :roll:

Ha, eu ainda não tenho o gmail… se alguem tiver um convite sobrando eu tô dentro ! :wink:

Valeu pessoal !!!
SkyBlue[/color]

Vantagens: diversidade de opcoes, facilidade em termos de sintaxe para certas coisas (syntax-sugar), calar a boca da MS que diz que o .NET suporta diversas linguagens e o Java nao.

Desvantagens: nenhuma. Quanto mais opcao melhor.

Utilidade: nao sei. Nao fui a fundo com alguma linguagem de script dessas que rodam na JVM (entao nao leve muito a serio minha opiniao).

Pra mim as vezes parece pura futilidade - a maioria dos artigos sobre Groovy p.ex., citam a ausencia de ponto-e-virgula, a nao-necessidade de declarar variaveis, e recursos do tipo, como vantagens extraordinarias (caramba! nao preciso mais digitar ponto-e-virgula!). Acho que nao eh bem por ai. Gostaria de ver mais artigos/opinioes apontando para vantagens REAIS do uso desse tipo de linguagem. Porque com IDEs no nivel do Eclipse, esse acucar sintatico nao tem mais tanta importancia.

Eh isso. Apenas minha opiniao. Quero um invite do GMail tambem - ate agora nao entrei nesse barato. :smiley:

(apesar disso, a opiniao eh sincera - nada interesseira :mrgreen:)

Marcio Kuchma

Ahh, groovy tem muita coisa legal. Quer ver?

closure = {a, b | c = (a+b)*0.1 - 4; println(c)}
closure(2, 3); // -3,5

Pronto! Estas são as famosas closures. Ainda não viu utilidade? Bom, eu vou dizer duas:

  1. testar código / criar protótipo;
  2. Para arquiteturas WEB mais simples, em que não seria nenhum pecado usar JSP-raw, pode funcionar como uma maneira simples de se criar um código não-tão-feio-assim. :smiley: [nota: ok, péssimo exemplo!]

:slight_smile: skyblue e kuchma - mandem o e-mail de vocês em pvt pra receber o convite

Linguagens de script são ferramentas perfeitas para trabalhos “quick’n dirty” de qualquer tipo.
Outra utilidade muito grande que eu vejo é na customização de sistemas, colocando boa parte da regra de negocio em scripts a base em java fica mais simples e rígida; bom para todos.

[quote=“Daniel Quirino Oliveira”]Ahh, groovy tem muita coisa legal. Quer ver?

closure = {a, b | c = (a+b)*0.1 - 4; println(c)}
closure(2, 3); // -3,5

[/quote]
Daniel, não foi por coisas assim que as pessoas não gostam de perl?

Nao, eh pela falta de coisas assim que algumas pessoas detestam Java :wink:

Vantegens:
:arrow: Escreve-se menos (maior produtividade)
:arrow: Pode-se alterar o funcionamento sem ter que recompilar o código
:arrow: Simplicidade
:arrow: Menor curva de aprendizado (na minha opinião)

Desvangens:
:arrow: Desempenho comprometido
:arrow: Erros são mais difíceis de detectar
:arrow: O código pode ficar menos legível, por ter muitas coisas implícitas

Obs: I coraçãozinho Groovy! :fadein:

Ah, aquela história dos Great Hackers. :?

Ah, aquela história dos Great Hackers. :?[/quote]

Mais ou menos… muita, mas muuuuuita gente que nao eh ‘Great Hacker’ e ta longe de ter o nariz empinado como o Paul Graham reclama do fato de Java nao ter closures. Alias, existem diversos esforcos procurando uma maneira de implementar closures e continuations no Java sem quebrar (muito) a especificacao.

(vide http://kasparov.skife.org/blog/2004/07/15)

[quote=“cv”]Mais ou menos… muita, mas muuuuuita gente que nao eh ‘Great Hacker’ e ta longe de ter o nariz empinado como o Paul Graham reclama do fato de Java nao ter closures. Alias, existem diversos esforcos procurando uma maneira de implementar closures e continuations no Java sem quebrar (muito) a especificacao.

(vide http://kasparov.skife.org/blog/2004/07/15)[/quote]
Ah, legal, bem que podia colocar isso no java :smiley: tipo Java 5.1 com closures.

Mas vocês concordam que o código fica bem menos legivel, e isso contribui muito para assustar as pessoas, como quando me referi ao Perl (aquela linguagem pra louco, exatamente por ter um código bem dificil de entender). E outra, isso não fere os principios da orientação a objetos?

Só pra registrar, agora sou JavaChild com 100 mensagens :smiley: :smiley: :smiley: :smiley:

marcelomartins
JavaChild

Registro: 07/01/2004
Mensagens: 100
Local/Origem: São Leopoldo / RS

Na verdade, em muitas situacoes, usar closures torna o codigo MUITO mais legivel (tratamento de eventos em UIs eh um exemplo, gerar XML tambem, mas existem muitos outros).

Sobre ferir a orientacao a objetos, nao entendi onde vc quer chegar… pq um bloco de codigo tambem nao pode ser um objeto? Na verdade, eh mais OO do que a situacao atual do Java (lembrando que Smalltalk tem blocks e closures como uma das bases da linguagem) :smiley:

PS: 101 mensagens :wink:

NUNCA OUVI FALAR !

É como se fosse um JAVASCRIPT(chutando bem longe) ?

Não quero chegar a lugar nenhum, era uma dúvida mesmo que surgiu com a conversa e que não sabia a resposta :D.

Eu tava pensando que era tecnicas novas, mas se já tinha no Smalltalk então não são tão novas assim hehe.

Muito legal… vou dar uma olhada mais a fundo nessas linguagens :wink:

Não concordo. Imagine aquele lindo código que descreve uma GUI usando Swing, cheio de annonymous inner classes para lá e para cá. Isso sim é um código ilegível. Closure funciona mais ou menos como uma AIC que implementa o Command Pattern, o que PODE tornar seu código mais elegante.

Sobre ferir a OO, não vejo como isso pode acontecer.

pra falar a verdade, o problema de leitura de um código perl é devido ao excesso de utilização de regular expressions na linguagem :slight_smile:
uma ER é uma ferramenta extremamente poderosa, principalmente da maneira como é implementada em perl (por isto a maioria das linguagens hoje suportam PCRE)
mas uma ER grande, é uma coisa que só quem escreveu consegue ler e sómente por no máximo dois dias, depois aquilo se torna um enigma mesmo para o seu criador, que normalmente prefere apagar aquela e escrever uma nova :slight_smile:

[quote=“urubatan”]pra falar a verdade, o problema de leitura de um código perl é devido ao excesso de utilização de regular expressions na linguagem :slight_smile:
uma ER é uma ferramenta extremamente poderosa, principalmente da maneira como é implementada em perl (por isto a maioria das linguagens hoje suportam PCRE)
mas uma ER grande, é uma coisa que só quem escreveu consegue ler e sómente por no máximo dois dias, depois aquilo se torna um enigma mesmo para o seu criador, que normalmente prefere apagar aquela e escrever uma nova :-)[/quote]

Apenas saindo um pouco da linha principal para discordar do urubatan. :smiley:

Nao acho que o problema do Perl seja esse. O lance eh que o mote (e orgulho) do Perl eh “existem varias maneiras de se fazer uma coisa - use a que voce achar melhor”. Parece legal - mas como a sintaxe da linguagem eh bizarra em alguns pontos, o que eventualmente temos eh codigo “write-only” (principalmente quando o cara tem aquelas sindromes de “quanto menor o codigo, melhor”, “quanto mais esquisito o codigo, melhor”, etc).

ER eh um recurso poderoso, utilizado por diversas linguagens/editores/ferramentas/etc.

Marcio Kuchma