Desenvolvedores Scala, Ruby, a jugular está preparada

ficar discutindo linguagens é uma idiotice que, pelo visto, a maioria dos usuários desse fórum adoram fazer.
No final o compilador vai transformar tudo em assembler de um tipo de microprocessador, então nem sei porque discutem.

[quote=mochuara]
Ruby usa metaprogramacao baseado na manipulacao de objetos em tempo de execucao.

Você acha que o Rails usa API de reflection do Java por baixo dos panos?[/quote]

O que é extremamente limitado. O Ruby está longe de ser algo bom, e alguns apenas insistem porque não conhecem nada além disso.

Sabe, eu concordo que Java tenha algumas desvantagens em termos de linguagem, mas as bibliotecas e a VM meio que compensam. O que me deixa indignado é como alguém pode reclamar de abrir um FileInputStream.

Qual é a dificuldade disso? A flexibilidade de uma linguagem não se conta em quantidade de teclas por classe. Se você quiser extenda FileInputStream e dê um nome tipo “A”. Simples, rápido e você só precisou digitar uma letra. :roll:

Você poderia dizer o que é menos limitado do que open classes?

Você poderia dizer o que é menos limitado do que open classes?[/quote]

Macros. Common Lisp faz o que o Ruby faz e muito mais.

[quote=Thiagosc][quote=mochuara]
Ruby usa metaprogramacao baseado na manipulacao de objetos em tempo de execucao.

Você acha que o Rails usa API de reflection do Java por baixo dos panos?[/quote]

O que é extremamente limitado. O Ruby está longe de ser algo bom, e alguns apenas insistem porque não conhecem nada além disso.[/quote]

O que é uma coisa boa, e o que é uma coisa ruim?
Sei que o próprio http://mediacast.sun.com/, da própria sun roda rails.

Não sou o dono da verdade, mas o pouco que usei de rails, percebi que realmente é muito produtivo.

Olá

Maurício, sério, desiste, é pura perda de tempo - o retorno

[]s
Luca

E você programa profissionalmente em common lisp né?

[quote=Luca]Olá

Maurício, sério, desiste, é pura perda de tempo - o retorno

[]s
Luca[/quote]

Pois é, não sei o que me deu. Crise pós almoço provavelmente, parei :wink:

Mas veja, isso é escolher uma plataforma. Existem plataformas que forçam uma certa linguagem e outras que não.
.NET e Java não forçam uma certa linguagem. Python sim. Ruby (vm original) sim.
Então não estamos falando de escolher entre a linguagem x e y e sim entre a plataforma A e B.
Escolher plataformas conforme a arquitura é natural. E ai sim, cada uma para o seu proposito. Mas a linguagem em si, nao é ligada ao proposito. Ela advém da escolha da plataforma.

A questão é que não ha vantagem em escolher a plataforma rubi sobre a java.

A linguagem ruby roda sobre a plataforma Java. Assim como outras.
Qual linguagem roda sobre a plataforma ruby além de ruby ? nenhuma.

Então se eu quiser aprender uma nova linguagem, ruby é tão boa escolha como grovvy ou scala. Mas se eu quiser mudar plataforma tem que haver uma muito boa razão tecnica/economica para isso. Razão tecnica não ha. Economica ? Se ha razões economicas ok. Serão do mesmo tipo que entre Java e .NET , o ponto é que ai estaremos foram do ambito da tecnologia e não mais dicutindo as linguagens ou as plataformas mas outras coisas como o preço por hora de um programador ruby e um java.

Mas tem mais. A linguagem ruby não roda sobre a plataforma java. ela roda sobre uma VM escrita sobre a plataforma Java. É um nivel de indireção a mais que o groovy ou o scala não têm. Então , até mesmo o port para JRuby é complexo e falho em comparação com as alternativas na plataforma java.

O que eu estou dizendo é o seguinte: assumindo que a linguagem ruby é melhor que a linguagem java, a plataforma Java é melhor que plataforma rubi. Assim é obvio que ficarei com a plataforma Java e posso migrar para a linguagem ruby sobre a jvm. Ok. Mas ao pensar que vou trocar a linguagem java por outra da plataforma Java, existem outras opções : scala e groovy , por exemplo.
Neste cenário a escolha é entre a linguagem ruby e estas. E nesse ambito ruby perde.
Em termos de featuras da linguagem groovy tem as todas e com a vantagem de ter a sintaxe de java. Isto, economicamente e´um vantagem porque não precisa haver um pesado retreino dos programadores. E scala tem features diferentes mas de poder igual.

quando existir um ScalaOnRails o mundo via esquecer ruby ( a plataforma e a linguagem)

Além de Java e Scala que partilham a mesma plataforma é dicifil aceitar que as outras sejam plataformas. Plataforma é algo maior que um linguagem um jvm e um API.

O ponto é que eu não vou gastar meu dinheiro na reinvenção da roda. A plataforma java já atende e é mais poderosa que qualquer das concorrentes.
A questão da linguagem é coisa de gosto e necessidade. E portanto, não se pode discutir qual é a melhor. Agora, plataforma é obvio que a Java é a melhor neste momento.

Quanto à API ter problemas e etc… é para isso que serve a JCP. Não está satisfeito, crie uma não API e mande para examinação. Afinal a Data Time veio do JodaTime o EJB3/JPA do Spring e Hibernate, e assim vai… Nada isso influencia a linguagem. Em Scala ou Groovy vc usa o mesmo FileInputStream que no Java.

[quote=juliocbq]ficar discutindo linguagens é uma idiotice que, pelo visto, a maioria dos usuários desse fórum adoram fazer.
No final o compilador vai transformar tudo em assembler de um tipo de microprocessador, então nem sei porque discutem.[/quote]

Meu objetivo aqui não foi discutir linguagem A e B. A idéia central é discutir a tendência de mercado proposta pelo James no blog dele. É óbvio que isso leva a discussões de aspectos das ferramentas. Mas, sob meu ponto de vista, é muito mais interessante que um Java x c#, por exemplo.

Mas existe. :wink:

Isso não seria sistema distribuido e não um algoritmo?

Desculpa a ignorância, mas qual processo, em baixo nível, acontece aqui?

[quote=celso.martins][quote=thingol]
Não é eficiente no quesito “rapidez” (já que uma “lazy list” tem um overhead significativo), mas no quesito “tempo de resposta”.
[/quote]

Esse é um conceito interessante, muito usado em acesso a dados em SGDB. Mas continuo sem ver como isso ajudaria a filtragem de uma lista.

Ela não está completa em memória, mas está completa em algum lugar. Em um SGDB, é lógico onde está o todo, mas e na lazy list? Provavelmente no disco. E acho que é a esse overhead que você se referiu. Concordo que a iteração em uma lista menor por vez pode gerar ganhos significativos de perfomance, mas se colocar esse overhead na balança, talvez esse ganho não seja tão significativo.

[quote=thingol]
Mas se você quer apenas um resultado filtrado, você não precisa pegar tudo, só percorrer um iterador referente ao tal resultado.[/quote]

Blz… mas não é justamente essa iteração que é o gargalo do algoritmo? Isso precisa ser feito em algum lugar. Pode estar encapsulado em uma funcionalidade da linguagem, mas tem que existir. Não conheço algoritmos mais eficientes de filtragem como existe para ordenação, como o Bubble Sort. Pode ser que exista, mas não conheço.[/quote]

Thingol, gostaria de ler a sua opinião sobre isso, seria possível? Se não for, tudo bem também.

Será que escrevi tanta caca que não merece ser consertado?

Vejamos eu tenho Grails para groove, assim como eu tenho X para Scala ?

Eu tenho Rails para Ruby , assim como tenho JRuby para J2EE, assim como tenho JPython para J2EE

[quote=Marcio Duran]Vejamos eu tenho Grails para groove, assim como eu tenho X para Scala ?

Eu tenho Rails para Ruby , assim como tenho JRuby para J2EE, assim como tenho JPython para J2EE[/quote]

X = Lift

[quote=Bruno Laturner][quote=Marcio Duran]Vejamos eu tenho Grails para groove, assim como eu tenho X para Scala ?

Eu tenho Rails para Ruby , assim como tenho JRuby para J2EE, assim como tenho JPython para J2EE[/quote]

X = Lift[/quote]

Boa não conhecia essa tecnologia para Scala, uma coisa é certa a velocidade de transformação dessas linguagens chega a ser absurdo o dominio para tantas soluções, brecar nao pode e evoluir exigi que a tecnologia avance tambem nos padrões que ela oferece não é o caso do mercado brasileiro mesmo !!!

Você poderia dizer o que é menos limitado do que open classes?[/quote]

Macros. Common Lisp faz o que o Ruby faz e muito mais.[/quote]

Porrra, qualquer lisp deixa Ruby no chinelo.

Fazia tempo que eu não lia um tópico com tanta gente falando besteira ao mesmo tempo. Estamos num forum inicialmente criado para Java mas hoje em dia temos várias alternativas para desenvolvimento (Java inclusive). Como já disseram uma vez, para quem só tem martelo todo problema é um prego.

O Maurício e o Luca já disseram, não vale nem a pena tentar ensinar um cego a enxergar simplesmente porque ele por natureza não tem condições para isso.

[]s

[quote=Emerson Macedo]Fazia tempo que eu não lia um tópico com tanta gente falando besteira ao mesmo tempo. Estamos num forum inicialmente criado para Java mas hoje em dia temos várias alternativas para desenvolvimento (Java inclusive). Como já disseram uma vez, para quem só tem martelo todo problema é um prego.

O Maurício e o Luca já disseram, não vale nem a pena tentar ensinar um cego a enxergar simplesmente porque ele por natureza não tem condições para isso.

[]s[/quote]

Em se tratando de um martelo de proposito geral, como é o caso das linguagens que estamos discutindo aqui, o prego pode ser de todo tipo, tão diferentes ao ponto de interessarem pessoas completamente diferentes. Eu quero uma linguagem sim que possa resolver todo problema que vier, como java foi no passado. Até mesmo o google usa basicamente python para a maioria dos seus projetos.

[quote]
Em se tratando de um martelo de proposito geral, como é o caso das linguagens que estamos discutindo aqui, o prego pode ser de todo tipo, tão diferentes ao ponto de interessarem pessoas completamente diferentes. Eu quero uma linguagem sim que possa resolver todo problema que vier, como java foi no passado. Até mesmo o google usa basicamente python para a maioria dos seus projetos.[/quote]

“Cada fornecedor um produto, para cada produto uma solução, para cada solução a melhor escolha tecnologica”