Então tu quer dizer que Java deve ser levado a sério porque tu programa fazendo careta?
Não leve. Faz bem.
O problema é que os proponentes de Ruby não sabem explicar o porque ele é “melhor” em suas opiniões. Por isso citam “felicidade” e outros conceitos subjetivos.
Qualquer entusiasta de qualquer tecnologia se sentirá bem usando-a. Isso não quer dizer nada.
Realmente nesse ponto eu tenho que concordar… se não houver argumento técnico, a discussão fica parecendo de criancinhas falando: “o meu é melhor porque é mais legal que o seu…”
Voltando ao assunto: Scala, pelo que vi é uma linguagem que suporta o paradigma funcional. Alguém poderia me dar uma breve explicação sobre o paradigma e alguns exemplos de cenários que esse paradigma é o mais indicado (fora cálculos matemáticos)?
E dizer que Java é melhor que Ruby não adianta
O problema é que os proponentes de Ruby não sabem explicar o porque ele é “melhor” em suas opiniões. Por isso citam “felicidade” e outros conceitos subjetivos.
Qualquer entusiasta de qualquer tecnologia se sentirá bem usando-a. Isso não quer dizer nada.[/quote]
produtividade não é subjetivo! o prazer de programar e a legibilidade do código se traduz em lucro para a empresa.
Pensei que não chegaria nunca. Antes tarde que nunca. =)
Agora você despertou meu interesse. Entendi o “muito” grifado (creio que tenha sido para não confundir com mais adequada).
Já li, muito superficialmente, textos sobre DSLs e me convenci do seu poder. Você poderia indicar algum texto (ou você mesmo dar uma breve explicação) de como o Ruby é muito adequada para criação de DSLs?
Desde quando li o texto do James, o Scala me chamou a atenção. Tenho lido alguns textos introdutórios sobre a linguagem, e ainda não li nada sobre DSLs. Se a criação de DSLs em Ruby for realmente simples, isso é claramente uma grande vantagem.
[quote=Fabio Kung]
ps.: aquela “1-linha” de código que eu fiz em Ruby é legível sim, para quem tem um pouco de fluencia na linguagem. Mas ser legivel para todos não era mesmo o objetivo daquele código. Era só uma solução rápida e simples que eu pude fazer para o problema.[/quote]
O meu comentário com relação aquela linha é porque a achei “superpopulada” com comandos. Não lembro quantos eram exatamente, mas creio que era algo em torno de 5. Mesmo para um desenvolvedor Ruby experiente, é lógico - pelo menos para mim -, que haverá uma dificuldade maior de entendimento em uma linha com 5 comandos que em uma linha com apenas um. Essa dificuldade demanda mais tempo. Em uma aplicação pequena (como foi o caso do Falando em Java) isso seria desprezível. Mas em uma aplicação com milhares de linhas, na minha visão, essa perda seria considerável. Foi neste sentido que lenvantei este ponto.
Não leve. Faz bem.[/quote]
+1.
Eu acho melhor usar uma linguagem que me ajude a resolver um problema do que usar uma que eu tenha que resolver os problemas dela para funcionar o_O
T+
Não leve. Faz bem.[/quote]
+1.
Eu acho melhor usar uma linguagem que me ajude a resolver um problema do que usar uma que eu tenha que resolver os problemas dela para funcionar o_O
T+[/quote]
Apesar de concordar com o que disse, eu ainda prefiro uma linguagem que seja mantida por cientistas do que por rockstars.
[quote=mochuara]
Apesar de concordar com o que disse, eu ainda prefiro uma linguagem que seja mantida por cientistas do que por rockstars.[/quote]
Ou seja, Scala e (principalmente na JVM) Java. Mas não acho que o Matz (o pai do Ruby) seja exatamente um rockstar; nem para Hiro (do seriado Heroes) ele está.
Uma vez quando vi uma palestra do Fábio Akita, e ele mostrou como escrever XML em Ruby, eu também fiquei encantado, e começei a estudar Ruby.
Mas nem por isso ruby é a solução para tudo.
De duas uma, ou o celso ta fazendo propaganda dos posts do blog dele, ou ele também ficou encantado e resolver abrir para discução.
Cobol ainda está por ai, e prova que nem tudo é substituido pelas novas linguagens 
De acordo.
O interessante é que, se não me falha a memória Java foi criada em 1991 e Ruby em 1993; ou seja + ou - quatro anos de diferença. Em uma comparação entre Java e Ruby não dá para dizer que Ruby é tão jovem assim. Na minha opinião a diferença se deve ao momento e o propósito para o qual as linguagens foram criadas, além do investimento é claro. Dá para imaginar o quanto de $ e conhecimento foram injetados (direta e indiretamente) na plataforma Java? Sem falar nas empresas gigantes que deram de ainda dão apoio.
flws
Falando em empresas mantendo linguagens, muita coisa que se vê por aí é linguagem nem tão boa assim que é mantida viva por interesses comerciais. Não que não seja um bom motivo, problema é fanboy solta fogos de artifício pela linguagem, e está comendo na mão delas. A maioria dessas é também por motivos comerciais, para tentar manter emprego, ou preguiça/medo de sair da zona de conforto. Não que tentar manter o emprego também não seja um bom motivo para manter a coisa ruim 8)
Ééé, cada um na sua…
PS: linguagem aqui é uma variável que pode receber também tecnologias, produtos, enterprise service bus…
[quote=celso.martins][quote=Fabio Kung]
Desculpem ter chegado atrasado na discussão, mas (ainda em tempo)…
[/quote]
Pensei que não chegaria nunca. Antes tarde que nunca. =)
Agora você despertou meu interesse. Entendi o “muito” grifado (creio que tenha sido para não confundir com mais adequada).
Já li, muito superficialmente, textos sobre DSLs e me convenci do seu poder. Você poderia indicar algum texto (ou você mesmo dar uma breve explicação) de como o Ruby é muito adequada para criação de DSLs?
Desde quando li o texto do James, o Scala me chamou a atenção. Tenho lido alguns textos introdutórios sobre a linguagem, e ainda não li nada sobre DSLs. Se a criação de DSLs em Ruby for realmente simples, isso é claramente uma grande vantagem.
[quote=Fabio Kung]
ps.: aquela “1-linha” de código que eu fiz em Ruby é legível sim, para quem tem um pouco de fluencia na linguagem. Mas ser legivel para todos não era mesmo o objetivo daquele código. Era só uma solução rápida e simples que eu pude fazer para o problema.[/quote]
O meu comentário com relação aquela linha é porque a achei “superpopulada” com comandos. Não lembro quantos eram exatamente, mas creio que era algo em torno de 5. Mesmo para um desenvolvedor Ruby experiente, é lógico - pelo menos para mim -, que haverá uma dificuldade maior de entendimento em uma linha com 5 comandos que em uma linha com apenas um. Essa dificuldade demanda mais tempo. Em uma aplicação pequena (como foi o caso do Falando em Java) isso seria desprezível. Mas em uma aplicação com milhares de linhas, na minha visão, essa perda seria considerável. Foi neste sentido que lenvantei este ponto.[/quote]
No site do Martin Fowler tem bastante material de DSLs referenciando Ruby.
o post acima é a mais pura verdade. Existe um marketing enorme nisso. Vendem a imagem que se vc programa em tal linguagem, você é um ótimo profissional. E isso não é verdade. Como sabemos o codificador é medido pelo domínio de algoritmos, e não de linguagem.
Se for para citar, existem duas linguagens, que podemos dizer mais novas que java, ou c#(Novas, dizendo-se, por reunir novos atributos que nenhuma até agora implementou)
D e Objective C
O compilador D implementa coleta de lixo automático no próprio programa gerado, e o resultado é instrução nativa do processador. D também é completamente orientada a objetos.
Objective C, Poder de um compilador c e linguagem totalmente OO.
Linguagens são meramente questão de pesquisa. Tem de sobra pra escolher.
[quote=thingol][quote=mochuara]
Apesar de concordar com o que disse, eu ainda prefiro uma linguagem que seja mantida por cientistas do que por rockstars.[/quote]
Ou seja, Scala e (principalmente na JVM) Java. Mas não acho que o Matz (o pai do Ruby) seja exatamente um rockstar; nem para Hiro (do seriado Heroes) ele está. [/quote]
Nao posso falar de individuais, mas de comunidade e atitudes sim.
Rockstars, ninjas, etc. são os desenvolvedores do Rails. A atitude do pessoal que mantem o Ruby é bem diferente pelo que eu ouvi falar
Embora dificilmente programas “reais” sejam feitos em uma linha, linguagens como Ruby fornecem essa alternativa quando vc quer fazer algo rápido sem abrir mão da qualidade. Quando vc se acostuma com os métodos da classe Array, Hash, String, etc do Ruby vc faz coisas fantásticas de forma “one-liner” e pode, se quiser, introduzir mais linhas se precisar de mais expressividade.
Entretanto um programa real necessita de mais do que um monte de linhas de código para realizar as suas tarefas. Se vc opta por ter uma suite de testes automatizados para verificar o seu programa (coisa natural se vc trabalha com BDD ou TDD) é provavel que vc chegue ao equilíbrio do numero de linhas da linguagem que vc escolheu.
Pra mim esses são os programadores python
de ruby/rails não ví nada demais, geralmente é galera que veio do java
Pra mim esses são os programadores python
de ruby/rails não ví nada demais, geralmente é galera que veio do java[/quote]
Programadores de Ruby são geralmente fanáticos e precisam “converter” os infiéis. O maior problema é que a linguagem Ruby em si é desnecessariamente verbosa (assim como todas as outras que não usam S expressions), não possui certas features essenciais, não promove vários paradigmas e foca mais em OO.
Se é para usar algo horrível, que seja Java pois pelo menos há uma imensa variedade de bibliotecas e ferramentas. Se é para usar algo bom, use Common Lisp. Para que se preocupar com uma cópia capada de Scheme com uma sintaxe “bonita” de Perl?
Se um lixo desse fosse o futuro eu mudaria de profissão.