Desenvolvedores Scala, Ruby, a jugular está preparada

[quote=mochuara]

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]

Java foi no passado !? Amigo, java foi criado para pequenos dispositivos e para resolver problemas de TI.
Nenhum engenheiro vai usar java em eletrônica digital ou pesquisas científicas. Para cálculo, fortran ainda é mais indicado, e hardware, não serve nem mesmo c++. Tem que ser ansi c ou assembler.

O fato de java não servir para eletrônica digital não ter nada haver com sintaxe de linguagem, e sim arquiterura. A máquina virtual.

O único hardware que suporta byte code, que é o sun spot, custa $ 769,00. Não tem engenheiro que lançaria um produto com isso no mercado. Um pic custa menos de R$ 5,00

[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]

Mas e aí?
Brinde-nos com a sua grande sabedoria, pois até agora só criticou. Mas sem babar ovo de moderador. Fala o que você acha. E não tenha medo… todos podemos nos enganar sobre algum conceito ou, simplesmente, errar.
O que você pode agregar a discussão, já que por aqui “tanta gente está falando besteira ao mesmo tempo”? Inclusive, num fórum, nem sei como isso é possível. Mas, whatever…

Scala é o futuro? O tempo de transição será grande? Ruby foi uma moda que não pegou?

Vejam bem, nada das perguntas acima representa a minha opinião, só estou convidando nosso amigo a participar mais ativamente da discussão e o desmotivando a ficar apenas criticando.

Sou todo olhos e ouvidos. Nos ilumine, por favor.

Abraços.

Não exageremos… a nasa tinha/tem uma sonda controlada com java e o matlab usa java por baixo dos panos.
Existe muita coisas possivel com Java que não é possivel com outros, por exemplo o realtime (usado pela sonda).
Dê uma olhada na API JScience.

Java não tem ainda uma nicho em ciencias porque os cientistas (ironia do destino) são muito conservadores ( i.e. são uns atrazados que só usam a tecnologia que aprenderam na faculdade - no seculo passado).
Contudo, a tecnologia java não deixa nada a desejar. E se procurar pela internet existem até bibliotecas em java para calculo numérico (algunas usando bigdecimal, que é “impossivel” em fortran e afins).

Quanto ao hardware que corre java directamente é uma questão de tempo e custo. o Spot é apenas a ponta do iceberg.

[quote=sergiotaborda][quote=juliocbq]
Nenhum engenheiro vai usar java em eletrônica digital ou pesquisas científicas. Para cálculo, fortran ainda é mais indicado, e hardware, não serve nem mesmo c++. Tem que ser ansi c ou assembler.
[/quote]

Não exageremos… a nasa tinha/tem uma sonda controlada com java e o matlab usa java por baixo dos panos.
Existe muita coisas possivel com Java que não é possivel com outros, por exemplo o realtime (usado pela sonda).
Dê uma olhada na API JScience.

Java não tem ainda uma nicho em ciencias porque os cientistas (ironia do destino) são muito conservadores ( i.e. são uns atrazados que só usam a tecnologia que aprenderam na faculdade - no seculo passado).
Contudo, a tecnologia java não deixa nada a desejar. E se procurar pela internet existem até bibliotecas em java para calculo numérico (algunas usando bigdecimal, que é “impossivel” em fortran e afins).

Quanto ao hardware que corre java directamente é uma questão de tempo e custo. o Spot é apenas a ponta do iceberg.
[/quote]

Conheço essas apis, mas se tratando de fortran, java nem chega perto. A sintaxe dela foi feita pra isso.

Sobre eletrônica digital, já vi o software que controla o spirit(robo que está em marte), o maestro. Mas quis dizer sobre o software que faz o hardware funcionar, e esse é c, e não java.

O uso de java é somente para criar uma api fácil de se trabalhar. O grosso do hardware é c e assembly.

http://mars.telascience.org/

Humm… tem algum problema com os conceitos ai… hardware é eletricidade e electrónica. No máximo vc tem firmware que e´um tipo de hibrido de software que conhece o hardware… mas qualquer linguagem pode ser compilada para o codigo do processador. Algumas mais facilmente que outras.
dizer que o 'software que faz o hardware funcionar" é C não faz sentido, já que todo o software é bits e bytes que dão instruções ao CPU… essas instruções podem ser escritas em milhentas linguagens… (e até sem linguagem nenhuma : apenas via circuito electrico, mas é muiiiitooo mais dificil)

Não se esqueça que bytecode é um tipo de assembler para a Java Machine e o fato dela ser implementada virtualmente ( em cima de uma máquina real) é uma das possibilidades. A outra é implementar directamente sobre uma máquina que entenda bytecode nativamente. Isso não é impossivel.
Neste cenário o C e qq outra lingugem é dispensável e superflua. Não existe obrigação tecnica em passar pelo C.

[quote=sergiotaborda]

Humm… tem algum problema com os conceitos ai… hardware é eletricidade e electrónica. No máximo vc tem firmware que e´um tipo de hibrido de software que conhece o hardware… mas qualquer linguagem pode ser compilada para o codigo do processador. Algumas mais facilmente que outras.
dizer que o 'software que faz o hardware funcionar" é C não faz sentido, já que todo o software é bits e bytes que dão instruções ao CPU… essas instruções podem ser escritas em milhentas linguagens… (e até sem linguagem nenhuma : apenas via circuito electrico, mas é muiiiitooo mais dificil)

Não se esqueça que bytecode é um tipo de assembler para a Java Machine e o fato dela ser implementada virtualmente ( em cima de uma máquina real) é uma das possibilidades. A outra é implementar directamente sobre uma máquina que entenda bytecode nativamente. Isso não é impossivel.
Neste cenário o C e qq outra lingugem é dispensável e superflua. Não existe obrigação tecnica em passar pelo C. [/quote]

É justamente o que eu quero te dizer. Não tem compilador java para microcontroladores. Existem compiladores de pascal, basic e c.

Como java gera bytecode, precisaria de uma JRM(Java real machine). A sun chegou a desenvolver um(PicoJava), em 2002 mas não emplacou, agora existe o sun spot, mas mesmo assim é caro e não vai emplacar.
A nasa usa java somente para aplicações de alto nível.

E essa de tipo hibrido de software que conhece hardware não existe. Um firmware é um software que roda em um dispositivo embarcado. Pode tanto rodar num micro família pic, um ARM, ou PowerPc, que é com o que eu trabalho.

Se esse fórum fosse ao vivo, eu imagino que estaria vendo pancadaria de tudo que é lado, cadeira voando, pedrada… :lol:

Não sei vocês perceberam mas estão tentado comparar um monte de coisas nada a ver, tipo querer comparar “qual é melhor: volei ou futebol? Afinal ambos são esportes e são jogados com uma bola”.

Fulano: “Eu gosto de futebol, porque prefiro jogar com o pé do que com a mão. Ambos tem pontos, só que no futebol eles são mais raros de acontecer e tem outro nome: GOL. A propósito: um gol é mais legal do que um ponto de volei”

Beltrano: “Ah, mas volei é melhor, as partidas sempre terminam com mais pontos…”

Piada, né? aheuheauheauh

Vou dar a minha opinião. Não vi NECESSIDADE (vejam bem, necessidade) de aprender algo fora de Java / C# / PHP. App pro tio da padaria? C#. Site pro tio da padaria? PHP. Projetinhos pessoais? Java. Ninguém disse que isso ta certo ou não, isso é questão de GOSTO. Mesmo papo do Windows VS Linux. Claro que, como eu classifiquei anteriormente, as linguagens (ou plataformas, whatever) tem afinidades com certos tipos de propósitos, mas nada impede de eu fazer um sistema operacional com Java (apesar de ter mais recursos com C), ou manipular ant com C (apesar de ser mais facil com Groovy).

Ainda assim vou estudar bem Groovy/Ruby/Scala por causa de alguns conceitos que não existem nessas linguagens que estou acostumado, até porque canja de galinha, cuidado e conhecimento não fazem mal a ninguém.

Desculpe se te ofendi. Não foi a minha intenção. A mensagem não foi um ataque a você, se é que percebeu.

Como eu disse, não vou participar da discussão.

[]s

Humm fiquei interessado nesta edição, deve responder alguns porques deste tópico.

*Dinamismo e Elegância na parceria Java & Ruby
*Aplicações Desktop a jato com JRuby e Netbeans
*Ruby + Web: Porque usar Java com JRuby on Rails: Entenda as vantagens de se usar Java para rodar código Ruby, inclusive aplicações JRuby on Rails.
Mundo Java nº 36

A linguagem Java continua fazendo o que sempre fez, so que é mais devagar pras er feito hj. Mas tudo bem, espero que a concorrência continue usando.

[quote=fredferrao]Humm fiquei interessado nesta edição, deve responder alguns porques deste tópico.

*Dinamismo e Elegância na parceria Java & Ruby
*Aplicações Desktop a jato com JRuby e Netbeans
*Ruby + Web: Porque usar Java com JRuby on Rails: Entenda as vantagens de se usar Java para rodar código Ruby, inclusive aplicações JRuby on Rails.
Mundo Java nº 36[/quote]

[color=red]JRuby + Web: Porque usar Java com JRuby on Rails?[/color][color=green] (assunto novo)[/color]
Entenda as vantagens de se usar Java para rodar código Ruby, inclusive aplicações JRuby on Rails.
Autor: Fabio Kung

[color=darkred]Aplicações Desktop a jato com JRuby e Netbeans[/color] [color=green](assunto novo)[/color]
Construindo aplicações Swing combinando as melhores técnicas e ferramentas de Java e Ruby.
Autor: Demetrius Nunes

[color=blue]Made in Brazil: Padronização e Reuso de Aplicações Web com Demoiselle Framework[/color] [color=green] (assunto novo)[/color]
Conheça essa plataforma de desenvolvimento
criada para aplicações do governo e para toda a sociedade.
Autor: Flávio Gomes da Silva Lisboa

Comentário:

Concerteza já estou adquirindo a minha revista Mundo Java dessa Edição Inovadora, parabens pela iniciativa e assuntos relacionados.

[quote=Link_pg]Se esse fórum fosse ao vivo, eu imagino que estaria vendo pancadaria de tudo que é lado, cadeira voando, pedrada… :lol:

Não sei vocês perceberam mas estão tentado comparar um monte de coisas nada a ver, tipo querer comparar “qual é melhor: volei ou futebol? Afinal ambos são esportes e são jogados com uma bola”.

Fulano: “Eu gosto de futebol, porque prefiro jogar com o pé do que com a mão. Ambos tem pontos, só que no futebol eles são mais raros de acontecer e tem outro nome: GOL. A propósito: um gol é mais legal do que um ponto de volei”

Beltrano: “Ah, mas volei é melhor, as partidas sempre terminam com mais pontos…”

Piada, né? aheuheauheauh

Vou dar a minha opinião. Não vi NECESSIDADE (vejam bem, necessidade) de aprender algo fora de Java / C# / PHP. App pro tio da padaria? C#. Site pro tio da padaria? PHP. Projetinhos pessoais? Java. Ninguém disse que isso ta certo ou não, isso é questão de GOSTO. Mesmo papo do Windows VS Linux. Claro que, como eu classifiquei anteriormente, as linguagens (ou plataformas, whatever) tem afinidades com certos tipos de propósitos, mas nada impede de eu fazer um sistema operacional com Java (apesar de ter mais recursos com C), ou manipular ant com C (apesar de ser mais facil com Groovy).

Ainda assim vou estudar bem Groovy/Ruby/Scala por causa de alguns conceitos que não existem nessas linguagens que estou acostumado, até porque canja de galinha, cuidado e conhecimento não fazem mal a ninguém.[/quote]

eu não penso desta forma… acho que esse tipo de discussão, quando não envolve apenas ignorantes, trolls e xiitas, tende a enriquecer com boas informações todos os que acompanham…

Estamos em uma nova realidade na plataforma Java, com boas linguagens dinâmicas e bons frameworks para as mesmas e para empresas que buscam ao maximo a produtividade com qualidade, não tem como deixar de lado a discussão.

Se fosse pensar desta forma, não seria ético que Robert Sebesta ficasse comparando linguagens item por item em seu livro “Conceitos de Linguagens de Programação”… só que a diferença é que o autor citado conhece os conceitos por detrás de todas e sabe avaliar seus respectivos recursos imparcialmente… :slight_smile:

Existe alguma opção aqui no GUJ onde posso bloquear o usuário Marcio Duran?

[quote=mochuara]Existe alguma opção aqui no GUJ onde posso bloquear o usuário Marcio Duran?
[/quote]

:roll:

Assim o guj perderia metade da graça :lol:

Sim, claro. Quando há bom senso, qualquer discussão é válida. Até mesmo sobre características de esportes diferentes (volei e futebol). O problema é que muitas opiniões emitidas aqui foram baseadas em gostos pessoais, sem se basear em nenhum argumento técnico. Isso é chato… e dá sono. Lembro de um amigo que depois que foi para os EUA e começou a trabalhar com RoR. Era engraçado ele dizer que Java era ruim e Ruby era bom. Tudo deles era melhor, até o café. Que raiva de xiitismo.

Sim, claro. Quando há bom senso, qualquer discussão é válida. Até mesmo sobre características de esportes diferentes (volei e futebol). O problema é que muitas opiniões emitidas aqui foram baseadas em gostos pessoais, sem se basear em nenhum argumento técnico. Isso é chato… e dá sono. Lembro de um amigo que depois que foi para os EUA e começou a trabalhar com RoR. Era engraçado ele dizer que Java era ruim e Ruby era bom. Tudo deles era melhor, até o café. Que raiva de xiitismo.[/quote]

concordo… :smiley:

Eu concordo com você. Poderia ser uma discução sadia. O problema é que, não sei porque, se alguém falar que java não serve para algum tipo de coisa, as pessoas tendem a levar para o lado pessoal, em vez de tentar assimilar uma nova experiência.

Estamos num forum de java, mas realmente algumas pessoas só conhecem java, e não trabalharam em projetos que exigem outra visão.

[quote=celso.martins]Você esteve no Falando em Java?

Lá o Kung fez um sistema para gerar números aleatórios usando uma linha (duas porque não coube na tela), mas com 150 comandos nesta linha.

Quando alguém da platéia gritou pedindo para fazer em Java, pois a bagaça não funcionava, ele falou algo assim: Nem morto, em Java eu precisaria de dezenas de linhas.

Eu olhava aquelas duas linhas (uma na verdade) e ficava imaginando: e para debugar uma app com, sei lá, 300 linhas dessas. Vai levar uma eternidade. Prefiro escrever mais linhas, e deixar o código legível, que escrever tudo em uma e ficar meia hora só para entender o que essa linha faz. Esse é o ponto central do meu questionamento.[/quote]

Desculpem ter chegado atrasado na discussão, mas (ainda em tempo)…

O que eu fiz lá no Falando em Java, foi uma solução rápida para resolver o problema do sorteio. De forma alguma eu acho que o poder e vantagem de Ruby está em permitir fazer esse tipo de coisa. Eu sou um dos que mais critico os “Perl one-liners” que resolvem problemas imensos mas são totalmente ilegiveis.

Eu gosto muito de Ruby (e não acho que seja bala de prata, tem sim os seus problemas), justamente pela expressividade, já muito bem comentada por aqui pelo Dalto (dlt). E expressividade não é fazer o programa em uma linha, na minha opinião tem muito mais a ver com dimiuir o ruído, na hora de resolver o problema. Ruby é uma linguagem MUITO adequada para construção de DSLs internas e para deixar o código próximo do problema que ele resolve.

Outro ponto importante é a diversão. Como o Kenobi já comentou, é uma delícia programar em Ruby. É claro que isso é opinião pessoal, mas que com certeza deve ser levada em conta na hora de escolher uma tecnologia para uma equipe.

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=Fabio Kung]
Outro ponto importante é a diversão. Como o Kenobi já comentou, é uma delícia programar em Ruby. É claro que isso é opinião pessoal, mas que com certeza deve ser levada em conta na hora de escolher uma tecnologia para uma equipe.[/quote]

É por causa de comentários assim que eu não levo Ruby a sério.