Java 7 para o meio de 2011 ou até 2012?

79 respostas
Paulo_Silveira

Hoje saiu um post no blog do Mark Reinhold, um dos arquitetos chefe do Java:
http://blogs.sun.com/mr/entry/rethinking_jdk7

Dada a dificuldade das muitas novidades que entrariam no JDK7, ele iria sair apenas no meio de 2012. O que se cogita é uma hipotese de lançar uma versão menor, com menos features na linguagem (como as clojures), no meio de 2011. Ambas as opções desanimam muitos desenvolvedores. Brian Goetz comenta no post de que a versão menor é praticamente não realizar mudanças: é quase o mesmo Java 6 com algumas mudanças sintaticas muito pequenas.

O que você acha?

Eu fiquei bastante animado com as features novas prometidas (coin+jigsaw+lambda), e como gosto bastante da linguagem em si, estava esperando todas elas para o fim desse ano, conforme prometido. Vale lembrar que a Sun chegou a prometer o JDK7 para 2008 (quando saiu o Java 6 em 2006). Para um pouco de contentamento, temos essa grande proliferação de linguagens rodando na JVM que tem trazido bastante novidade. Qual delas você tem usado em sistemas reais? Ruby com JRuby? Clojure? Scala?

79 Respostas

king_of_gods

São muitas mudanças… mas será que lançar “uma versão” a cada 6 meses não traria menos riscos?

Acho que se o JDK 7 for realmente lançado em 2012, até lá existe sérias chances de linguagem como Ruby, Python e outras já estarem sendo adotadas em larga escala pelas empresas.

qmx

Uma pena demorar tanto pra sair, e depois ser adiado desse jeito.

Pra mim isso só reforça aquela idéia da consolidação do java como plataforma, e não como linguagem - bom e ruim ao mesmo tempo :confused:

B

Posted by Guillaume Laforge on September 08, 2010 at 09:53 AM PDT #

release early, release often.

Do jeito que a coisa tá atrasada, se sair o projeto Da Vinci sair agora, já é lucro.

Meu sentimento mesmo é de decepção e raiva.

A

Fiquei sabendo que estam investindo pesado em relação ao Garbage Collector (GC)… Estou ansioso por mais informações…

André AS

mario.fts

Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[ ] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

xymor

A única coisa que interessa do java7 é o aumento de performance. Quanto a closures, super switch, dinamismo, etc, já tenho no groovy desde 2006.

lgi2020

Acho que esse é o ponto chave.
Java como plataforma.

Programar nas outras linguagens têm sido mais prazeroso.
Mas não dá pra deixar de lado a robustez da JVM e, por isso, usá-la como base é uma ótima alternativa.

Abraços.

pintofree

mario.fts:
Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[X] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

Aki no Governo tem muito projeto usando o java 5 ainda, uauahu mesmo q o java 7 sai hj vai demorar ate eu começar a usar entauma tantao fa

aleqi200

Acho que é uma boa saída liberar algumas features mínimas, e deixar as mais pesadas para depois.
Dá para avaliar melhor os impactos das novas features, e ainda amadurecer melhor, mas para falar a verdade não acho que a demora para uma nova versão do java seja impactante para o futuro da linguagem, não importa se uma nova versão vem ao ar, Java continua forte como linguagem e mais ainda como plataforma, acho que essa coisa de ‘nova versão’ tem maior impacto para os desenvolvedores, mas não para as empresas, para estas basta ter uma linguagem estável e madura.

M

king_of_gods:
São muitas mudanças… mas será que lançar “uma versão” a cada 6 meses não traria menos riscos?

Acho que se o JDK 7 for realmente lançado em 2012, até lá existe sérias chances de linguagem como Ruby, Python e outras já estarem sendo adotadas em larga escala pelas empresas.

Se for pra ficar só em web sites acho que Ruby e Python são boas escolhas, mas acredito estarem em desvantagem com relação a Scala e Clojure para substituir o Java como linguagem para JVM.

deniswsrosa

mario.fts:
Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[ ] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

Fazer as mudanças e ainda manter a compatibilidade??? Com certeza! existem coisas que são bem mais complexas do que agente imagina, como o famoso caso do generics:

List<MyObject> myObjects = new ArrayList<MyObjects>();

Em tese, você precisaria colocar apenas o List myObjects ao invés de List myObjects . Segundo a palestrante colombiana do último SunTech Days, os engenheiros da Sun gastaram meses quebrando a cabeça para fazer isso funcionar.

A

Seria bom saber quais seriam as tais features já “completas” que entrariam em 2011. Se invokedynamic e JSR-310 entrarem, então até não é tão ruim esperar até 2012 pro Lambda e Jigsaw.

EDIT: O Mark meio que respondeu isso nos comentários do blog dele:

Mark Reinhold:
JDK 7 - (Lambda + Jigsaw + part of Coin) = Most of Coin + NIO.2 (JSR 203) +
InvokeDynamic (JSR 292) + “JSR 166y” (fork/join, etc.) + most everything else
on the current feature list (http://openjdk.java.net/projects/jdk7/features/) +
possibly a few additional features TBD.

Marky.Vasconcelos

Vish… realmente, esta demorando bastante, isso me desanima um pouco, por que mesmo que saisse esse ano, imagina quanto tempo demoraria para as empresas adotarem o Java 7?

Agora para 2012? Até lá, acredito que varios já deixaram de programar em Java para uma linguagem mais dinamica (Mesmo se for uma que rode na JVM).

Eu já testei JRuby com Swing, e não gostei muito não, programar ficou mais facil só que tem uns bugs estranhos que me fizeram desistir de continuar.

JAVADRIANO

Eu fico um pouco desepcionado… Mas acho muito melhor esperar e lançar o Java7 com mudanças que tenham grande impacto do que só com algumas mudanças.
E tenho utilizado muito Groovy, alias, pra min Groovy/Grails tem um grande futuro!

kicolobo

Já uso o “Java 7” há um bom tempo. Se chama Groovy. :smiley:

A tal “decadência do Java (linguagem)” pelo que posso ver, é muito mais relacionada a hype do que a fatos concretos. O que vejo é o surgimento de algumas linguagens com features bem bacanas, como Groovy, Scala, Clojure, JRuby comparadas com a linguagem Java.

O que eu pergunto é: será que eu realmente quero todos estes recursos na linguagem Java? Será que é REALMENTE uma boa entupir a linguagem de features só pra satisfazer o desejo (na minha opinião infantil) de “também tenho”? Afinal de contas, você pode mesclar linguagens em um projeto. Eu por exemplo tenho mesclado muito Clojure com Java em algo no qual venho trabalhado recenemente, aproveitando assim o melhor de dois mundos.

Sinceramente não vejo necessidade de mais recursos no Java (linguagem) após a versão 5. Se for pra pedir novas possibilidades, que estas sejam incluidas na JVM, pois assim satisfaz uma gama BEM MAIOR de desenvolvedores.

Mas no frigir dos ovos, Java é como o C do século XXI. Seu valor é inegável - você tem de ser muito ingênuo para ignorar - e você não é obrigado a trabalhar com ela. Mas que o bom conhecimento vai te fornecer um fundamento muito melhor sobre a plataforma, ah, isto vai.

(aliás, se for pra de fato satisfazer o desejo de ter mais e mais features na linguagem, a única alternativa é ir pro Lisp e seus derivados, aonde o programador inclui o que deseja na linguagem, sem precisar ficar dependendo do implementador padrão)

Marky.Vasconcelos

Hmm… analizando melhor, pelo menos ainda teremos o InvokeDynamic e o NIO 2.

Prefiro o Plano B, tem aquele velho ditado popular, melhor um passaro na mão do que dois voando.

fredferrao

Sem dúvida esta demora irá alavancar o uso de outras linguagens que rodam na JVM, o que de fato ja esta acontecendo, e a tendencia é só aumentar.

Eu estou apostando em Scala, por isto ja comecei meus estudos na linguagem.

M

Marky.Vasconcelos:
Vish… realmente, esta demorando bastante, isso me desanima um pouco, por que mesmo que saisse esse ano, imagina quanto tempo demoraria para as empresas adotarem o Java 7?

Agora para 2012? Até lá, acredito que varios já deixaram de programar em Java para uma linguagem mais dinamica (Mesmo se for uma que rode na JVM).

Eu já testei JRuby com Swing, e não gostei muito não, programar ficou mais facil só que tem uns bugs estranhos que me fizeram desistir de continuar.

Que tal clojure:

First Steps With Clojure & Swing

Javart

fredferrao:
Sem dúvida esta demora irá alavancar o uso de outras linguagens que rodam na JVM, o que de fato ja esta acontecendo, e a tendencia é só aumentar.

Eu estou apostando em Scala, por isto ja comecei meus estudos na linguagem.

ehheh !!! Scala é a linguagem Java hoje na sua realidade , as transformações da linguagem java para 7 vai longe e sem mais o sentindo ao uso de querer controlar o que se pode entender ou aceitar como Plataforma , acredito que cross-plataforma é a maior realidade hoje com as expansões de outras Vms que derivam ou concorrem sobre a JVM.

R

Falam do Java 7 desde 2006 e nunca vi ninguém propor uma classe decente pra se trabalhar com dinheiro, que é a coisa mais básica que agente tem que mexer num sistema.
No mínimo sobreescrever os operadores!

B

O problema mesmo é que essas tentativas de evoluções da linguagem Java estão atrapalhando o desenvolvimento da plataforma Java, e com isso o resto do ecosistema.

O InvokeDynamic está pronto, NIO2 está pronto, melhoras no Garbage Collector, concorrência e collections estão prontas. O Coin, Jigsaw e o Lambda estão segurando o lançamento.

juno.rr

Sem desmerecer os comentários dos colegas e também outras linguagens, acho o Java mesmo sem sua nova versão uma linguagem muito sólida. Particularmente prefiro Java à outras linguagens baseadas nela, apesar de às vezes ter que usar bibliotecas de terceiros ou mesmo soluções próprias. Considero como uma característica da linguagem, assim como o C, que de longe é menos “amigável” que linguagens como Groovy.

Como dizem na minha terra, “Macho que é macho mastiga abelha, não come mel”… heheheheh

Brincadeiras à parte não sei como foram implementadas essas linguagens (apesar de alguns benchmarks provarem sua eficiência), prefiro utilizar a linguagem pura. E como eu disse, considero uma característica da linguagem, então ou vc pprograma com ela e gosta ou parte para outra coisa.

Mas, gosto é gosto e não se discute.

Abraço.

fredferrao

juno.rr:
Sem desmerecer os comentários dos colegas e também outras linguagens, acho o Java mesmo sem sua nova versão uma linguagem muito sólida. Particularmente prefiro Java à outras linguagens baseadas nela, apesar de às vezes ter que usar bibliotecas de terceiros ou mesmo soluções próprias. Considero como uma característica da linguagem, assim como o C, que de longe é menos “amigável” que linguagens como Groovy.

Como dizem na minha terra, “Macho que é macho mastiga abelha, não come mel”… heheheheh

Brincadeiras à parte não sei como foram implementadas essas linguagens (apesar de alguns benchmarks provarem sua eficiência), prefiro utilizar a linguagem pura. E como eu disse, considero uma característica da linguagem, então ou vc pprograma com ela e gosta ou parte para outra coisa.

Mas, gosto é gosto e não se discute.

Abraço.

O que a JVM entende é bytecode, voce programa em java e o compilador converte tudo pra bytecode.
O mesmo acontece com Scala e outras linguagens, voce programa em Scala e o compilador Scalac converte tudo pra bytecode, é assim que funciona.
Outras linguagens não são baseadas em Java(linguagem) mas sim na JVM que no fim de tudo vai ler bytecode. Ou melhor o compilador que é baseado na JVM e não a linguagem, Scala por exemplo tem o proposito de ter o compilador para a JVM(ja pronto) e um outro para CLR(parece que estao fazendo).

juno.rr

Entendo o funcionamento das linguagens baseadas em Java que geram bytecodes, mas como eu disse prefiro o Java. Considero como uma característica da linguagem, então ou gosta e programa com ela, ou escolhe uma mais fácil.

Javart

Scala é Java, Ponto final.

fredferrao

juno.rr:
Entendo o funcionamento das linguagens baseadas em Java que geram bytecodes, mas como eu disse prefiro o Java. Considero como uma característica da linguagem, então ou gosta e programa com ela, ou escolhe uma mais fácil.

Pois não é exatamente o intuito das outras linguagens? Java não satisfaz, então escolhe JRuby, Groovy ou Scala por ex. e continue com o poder da JVM.

Mas acho que estou entedendo o que vc quer dizer, se escolheu a plataforma java então que programe na linguagem java.

Mas o que acontece é que java esta cada vez mais seguindo para o rumo de ser uma plataforma, a linguagem vc escolhe qualquer uma que tiver um compilador para a JVM.
Inclusive em uns tópicos antigos, acho que foi o sergiotaborda que estava comentando, o Java 7 vai melhorar e muito o suporte a outras linguagens.

[edit]
Aqui, achei onde ele fala do suporte a outras linguagens no java 7: http://www.guj.com.br/posts/list/148770.java

juno.rr

Ok. Prefiro não discutir. Afinal o fórum é para promover o crescimento de idéias e conhecimentos, não discussões.
Apenas gosto de programar com Java puro.

Abraço.

juno.rr

fredferrao:
Pois não é exatamente o intuito das outras linguagens? Java não satisfaz, então escolhe JRuby, Groovy ou Scala por ex. e continue com o poder da JVM.

Mas acho que estou entedendo o que vc quer dizer, se escolheu a plataforma java então que programe na linguagem java.

Mas o que acontece é que java esta cada vez mais seguindo para o rumo de ser uma plataforma, a linguagem vc escolhe qualquer uma que tiver um compilador para a JVM.
Inclusive em uns tópicos antigos, acho que foi o sergiotaborda que estava comentando, o Java 7 vai melhorar e muito o suporte a outras linguagens.

Falou e disse! :wink:

fredferrao

Javart:
fredferrao:

(…)

Scala é Java, Ponto final.

:?: :?: :?: :?: :?: :?:

Scala é Scala e ponto final!! Assim como Clojure é Clojure, e Groovy é Groovy.

Realmente é dificil entender voce em Duran. :shock:

Pelo menos explane de maneira compreensivel o que voce esta querendo dizer com isto.

Jesuino_Master

Rapaz, isso é tenso, mas como os colegas ai falaram vai demorar para ser adotado se fosse lançadohoje.

Eu, que nem trabalho com Java, já sofri com as limitações de ter que usar Java 5 e largar boas coisas do Java 6…

Estive vendo Groovy, meu Deus, é espetacular, depois que “pega o jeito”, você faz maravilhas, MAS, o problema é alguém querer usar Groovy em grandes projetos. Acredito que muitos amigos aqui do fórum têm empresa ou podem decidir o que usar, mas para um mero empregado como eu não há isso, é o que vem na lata :smiley: É uma luta cultural danada, e tem que ter jeitinho para tentar mudar um pouco o paradigma, pois mesmo apoiando idéias novas, as vezes ainda sou um velhão ao ter resistência a coisas maravilhosas, como Grails.

Quanto a Java ser velho e antigo não concordo. Java é bem prazeroso de se programar, desde que não nos amarrem nas coisas chatas. Exemplo: PlayFramework, sensacional… Outro dia recebi um link de uma biblioteca que mostrava como usar o Java de forma diferente, cheio de decorators e classes strategy para fazer algo semelhante a closure e a programação no JQuery, gostaria muito de ter o link aqui comigo, mas infelizmente não o possuo mais. Por outro lado, como já disse, não dá pra negar quem com Groovy, Scala, Closure, a coisas realmente fica radical e a produtividade junto com o prazer de desenvolver crescem…

[]'s

furutani

Que demora não. Mas prefiro esperar pela versão mais completa.

bruno.costa

Ninguém gosta de c#?

D

Eu particularmente gosto, e tbm vejo o futuro do java somente como plataforma.

bruno.costa

C# 4.0 ta muito poderoso como linguagem, fácil e rápido.

estou sentindo falta de bastante coisa no java (estou desenvolvendo um projeto em java 6 EE)

D

++

J

bruno.costa:
C# 4.0 ta muito poderoso como linguagem, fácil e rápido.

estou sentindo falta de bastante coisa no java (estou desenvolvendo um projeto em java 6 EE)


Qualquer linguagem é boa para codificar quando se está acostumado com ela. C# não é a única.

andersonlandim

C# é uma linguagem legal… Tô afim de aprendê-la!

Mas quanto ao Java, é uma pena essa demora toda.

R

Tem varias picuinhas no Java que já poderiam ter sido melhoradas há 4 anos, parece que o resto evoluiu e o Java não!

O exemplo que citei anteriormente é um deles, onde já se viu, uma linguagem que é usada em larga escala pelo mundo, como o java, que não tem uma classe simples de usar para fazer cálculos com dinheiro?

chun

Fiquei BEM decepcionado…

Cara , que demora… a minha impressão é que tem meia duzia de nego trabalhando nisso…

decepcionante :frowning:

K

chun:
Fiquei BEM decepcionado…

Cara , que demora… a minha impressão é que tem meia duzia de nego trabalhando nisso…

decepcionante :frowning:

Ao invés de criticar e ficar como xupim, arregace as mangas e ajude o Java a evoluir, falam de comunidade, mas são poucos que de fato encaram a empreitada de fazer as coisas acontecerem, receber pronto pra usar isso tem um monte.

fmamud

Olá Pessoal,

Depois que eu li todas as features novas do Java 7, achei muito interessante e fiquei bem animado, pois cada vez irá melhor a linguagem.

O que eu estou percebendo é que alguns esquecem do propósito de cada linguagem, ou seja, para qual finalidade a linguagem foi criada, pois cada criador cria uma linguagem devido à alguma necessidade, seja qualquer uma, tanto pessoal quanto profissional. Este esquecimento atrapalha o entendimento de algumas pessoas e faz cria-se uma “corrente” de pessoas que vão contra algumas característica da linguagem Java.

Todo mundo sabe e todo mundo fala que Java hoje não é mais uma linguagem e sim uma plataforma, e eu concordo com isso. O que eu não concordo é as pessoas se deixarem influênciar pela fama das outras linguagens. Por exemplo, a linguagem Ruby é uma linguagem dinâmica totalmente orientada a objetos, que permite serem criadas DSL’s de uma forma bem fácil, o que torna a linguagem mais flexisível para um melhor aproveitamento do programador. Outro exemplo, a linguagem Scala é uma linguagem com paradigma funcional e orientado a objeto, o que torna a linguagem robusta e também a mesma é melhor de se trabalhar em ambientes multicore. Todos os exemplos acima estão corretos, e eu gosto das duas linguagens que eu citei (Ruby e Scala), o que as pessoas (especificamente desenvolvedores) não podem esquecer é que o fato de Java não ser uma linguagem fácil de se criar DSL, de não criar um Map de uma maneira prática e fácil, etc. não torna a linguagem Java uma linguagem ruim. Desenvolvedores Java não começaram a programar em Java porque a sintaxe de Java é legal, ou porque o HelloWorld do Java é atrativo, e sim pela robustez que a linguagem proporciona na plataforma, ou alguns porque Java é famoso, ou até mesmo porque Java dá dinheiro. Uma sugestão é que ao invéz de reclamar por exemplo que a linguagem Java não tem o mesmo conceito de ‘Open Class’ do Ruby, porque a pessoa não vai de repente conhecer as boas API’s de Java, aprender o java.util.concurrent, aprender como as Threads funcionam de verdade, e se mesmo assim essa pessoa já souber disso e mesmo assim querer implementar o conceito de ‘Open Class’, eu sugiro dar uma olhada no JRuby, que tem a linguagem Ruby 100% implementada para a linguagem Java.

Eu sou muito a favor das linguagens que rodem na JVM, e dou mérito a todas. Tendo estudado a um bom tempo Ruby e Scala. Recentemente foi lançada uma linguagem chamada Mirah (http://www.mirah.org/) , nascida do JRuby que faz tornar a linguagem Ruby rodar na JVM de uma maneira mais fácil e acessível, e alguns dizem que Mirah é Ruby com tipos estáticos. Hoje o portifólio de linguagens é bem grande, cada uma com um propósito. Não podemos esquecer do propósitos das linguagens. Para cada caso existe uma linguagem de programação, e se não existir uma linguagem que abrange os requisitos de um caso, alguem (que viu a necessidade) vai criar uma nova linguagem.

A mensagem que deixo aqui é para você desenvolvedor Java que está chateado com a demora do lançamento do Java 7. Enquanto o Java 7 não sai, porquê não estudar as API’s ou especificações que você ainda não conhece do bom e velho Java 6 ? Não restrigindo apenas para a plataforma SE.
Garanto que existe no mínimo duas ou mais que ainda você não conhece, e que precisa estudar mais nunca parou para isso.

Abraços,
Obs: não estou dando “agulhada” em ninguém certo ? , apenas expressando a minha singela opnião. :smiley:

R

A mensagem que deixo aqui é para você desenvolvedor Java que está chateado com a demora do lançamento do Java 7. Enquanto o Java 7 não sai, porquê não estudar as API’s ou especificações que você ainda não conhece do bom e velho Java 6 ? Não restrigindo apenas para a plataforma SE.
Garanto que existe no mínimo duas ou mais que ainda você não conhece, e que precisa estudar mais nunca parou para isso.

Estudar uma API que não conheço não vai resolver meus problemas (nem de 99% dos programadores java) API vc estuda quando precisa dela. As features que a maioria do pessoal reclama são aquelas que deixariam nosso trabalho mais fácil do que é hoje, deveria ser mais fácil fazer coisas do dia a dia!

fredferrao

O Grande Bé:
A mensagem que deixo aqui é para você desenvolvedor Java que está chateado com a demora do lançamento do Java 7. Enquanto o Java 7 não sai, porquê não estudar as API’s ou especificações que você ainda não conhece do bom e velho Java 6 ? Não restrigindo apenas para a plataforma SE.
Garanto que existe no mínimo duas ou mais que ainda você não conhece, e que precisa estudar mais nunca parou para isso.

Estudar uma API que não conheço não vai resolver meus problemas (nem de 99% dos programadores java) API vc estuda quando precisa dela. As features que a maioria do pessoal reclama são aquelas que deixariam nosso trabalho mais fácil do que é hoje, deveria ser mais fácil fazer coisas do dia a dia!

Exatamente!

E ninguem esta falando que Java(linguagem) é ruim, eu pelo menos não estou, mas outras linguagens como Ruby e Scala trazem novos paradigmas que deixam a programação mais produtiva e divertida.

Vejam uma frase do David Polak, criador do Lift:

Adelar

Que projeto enrolado :?

M

Segundo ele, a demora veio da época da Sun, que já estava com problemas e reduziu a equipe. Outro agravante foi que a aquisição demorou mais do que o previsto e só agora conseguiram retomar os projetos com força total, por isso estão reavaliando os prazos.

O lado positivo é ele citar que a Oracle colocou mais gente trabalhando e tem intenção de evoluir a linguagem num ritmo mais acelerado, o que confirma a impressão que o próprio “pai do Java” disse sobre os pedidos da Oracle quando era somente membro da JCP e reclamava da velocidade de evolução da linguagem.

Acredito que com isso, o Java vai tirar o atraso de algumas coisas que o C# está melhor e vai flexibilizar mais a evolução da linguagem e plataforma. O problema é o que fazer no curto prazo e eu concordaria com o plano B, já que pelo menos as features completas já poderiam entrar.

Os riscos foram os citados pelo pessoal:

  • os favoráveis ao plano B alegam que a adoção de uma versão menos radical é mais rápida pras empresas, exemplo da versão 5 pra 6, enquanto da 4 pra 5 por ter mudado muita coisa, demorou ser adotada
  • os favoráveis ao plano A alegam que o mercado corporativo podem querer esperar o JDK 8 pra adotarem, segurando os investimentos.

Sobre as linguagens novas que rodam na JVM, acredito que elas devam ganhar espaço, mas acho difícil canibalizarem a linguagem Java, já que são ótimas pra algumas coisas e péssimas pra outras. Cada linguagem nova vejo um monte de gente dizendo que vai matar o java, que é o futuro, mas até agora na prática não vejo adoção significativa entre as empresas. O dia que eu ver mercado nelas e dinheiro, eu estudo, enquanto não vejo, fico nas que dão dinheiro hoje.

Luiz_Aguiar

É exatamente por isso que empresas mais “novas ou modernas” não estão usando mais Java em novos projetos, uma empresa não pode ficar estacionada no tempo enquanto outras tecnologias vão evoluindo, essa evolução não é só gosto por uma ou outra linguagem, envolve custos de projetos, tempo de entrega, e outras coisas que fazem parte do dia-a-dia do desenvolvimento e comercialização de projetos.
Se outras linguagens/ferramentas podem dar as empresas possibilidades de desenvolver mais rápido seus projetos, com a mesma ou melhor qualidade de antes, é preciso avaliar.

Quer usar a JVM como plataforma, perfeito, eu vejo hoje que o desenvolvimento com a linguagem Java não está entre as melhores opções disponíveis, basta conversar com qualquer empresa que “migrou” para python, ruby, scala, C# ou mesmo Groovy/Grails, que isso é uma realidade já de ontem.

[]s

fmamud

O Grande Bé:
A mensagem que deixo aqui é para você desenvolvedor Java que está chateado com a demora do lançamento do Java 7. Enquanto o Java 7 não sai, porquê não estudar as API’s ou especificações que você ainda não conhece do bom e velho Java 6 ? Não restrigindo apenas para a plataforma SE.
Garanto que existe no mínimo duas ou mais que ainda você não conhece, e que precisa estudar mais nunca parou para isso.

Estudar uma API que não conheço não vai resolver meus problemas (nem de 99% dos programadores java) API vc estuda quando precisa dela. As features que a maioria do pessoal reclama são aquelas que deixariam nosso trabalho mais fácil do que é hoje, deveria ser mais fácil fazer coisas do dia a dia!

Fala ai Grande Bé,

Eu não disse que “estudar uma API que não conheçe” vai resolver o seu problema, ao não ser que esta API tenha a ver diretamente com o seu problema. Eu disse que enquanto o Java 7 não sai você pode estudar uma API nova que irá agregar conhecimento, ou seja, em nenhum momento eu falei sobre produtividade. Do contrário que você pensa eu acho que é totalmente válido estas novas features proporcionando a tal produtividade que você citou. E se caso o Java 7 não vier com nenhuma das features de produtividade, ótimo também. Devivo a minha necessidade de produtividade, no caso eu procuraria na linguagem Java se ela me atendesse, se não eu procuraria outra linguagem que proporcionasse isto para mim.

Obs: Onde você viu que produtividade é 99% dos problemas dos programadores Java ?

Grande Bé, sem ressentimentos ? rsrs

Abraços,

Luiz_Aguiar

Desculpe Marcos, mas é muito fácil encontrar hoje dezenas de empresas que não desenvolvem projetos e soluções com Java, óbvio que se vc pegar o apinfo como termômetro de mercado, vai parecer que existe apenas Java.
Sobre o “ganhar dinheiro”, não conheço ninguém que trabalhe com Rails e Django que ganhe menos que um desenvolvedor Java do mesmo “nível”, muito pelo contrário. Existe sim um mercado grande e “generoso” fora do mundo paralelo de “grandes” empresas e consultorias de 3 letrinhas que trabalham com Java apenas.

[]s

PS: por favor não vamos entrar em flames de quem paga mais, quem tem mais vagas, apenas expus minha visão e conhecimento de mercado.

K

Afinal, ninguém aqui fala do Jython? JRuby está melhor no Java do que Jython?

R

@fmamud
Eu não disse que 99% dos problemas dos programadores já é a produtividade. Eu disse q estudar APIs não vai resolver nossos problemas.
Mas já que você disse:
Tudo se resume a produtividade

Em java é possível fazer qualquer coisa que se faz em qualquer outra linguagem, com mais ou menos facilidade e mais ou menos rápido que outras linguagens. Facilidade acaba se convertendo em tempo e no final das contas produtividade.

Qualquer característica que ajuda o programador de qualquer forma, no final se converte em produtividade. Seja uma API simplificada, uma maneira mais “divertida” de programar, um jeito mais fácil de ganhar performance (afinal você não vai ficar 3 dias quebrando a cabeça pra deixar aquela rotina mais rápida)

Mesmo o argumento de que Java é uma plataforma largamente utilizada e é mais fácil de arrumar mão de obra especializada, da menos pau, e bla bla bla. Se resume em produtividade, linguagem menos utilizada DEMORA mais pra arrumar alguém e DEMORA mais pra corrigir um problema.

No final das contas, a produtividade é tudo.

Eu gostaria de um dia dizer ao meu computador com minha linguagem natural o que eu queria e ele elaborasse pra mim.

M

Não sei na sua região, mas em várias cidades que já tive contato, o mercado que vejo de Ruby, Scala, Clojure, etc é muito, muito menor que o de Java, C# e outras linguagens “que estão morrendo”. E não falo apenas de grandes empresas e de consultorias de 3 letrinhas, como você quis parecer.

Mas, se na sua região você achar atrativo essas tecnologias, beleza. O dia que por onde passo se tornar atrativa, não vou ter o menor problema de trabalhar com elas, mas enquanto for hyppie, prefiro concentrar onde o dinheiro está. hehehehe

Marky.Vasconcelos

Luiz é de são paulo, e em momento algum ele diz que esses mercados são maiores do que o de Java.

Mas o mercado para essas linguagens vem crescendo.

Abdon

Quem falou que C# ta morrendo?

M

ovelha:

muito menor que o de Java, C# e outras linguagens “que estão morrendo”.

Quem falou que C# ta morrendo?

Ninguém, nem eu. Acho que a frase faltou pontuação ou ficou mal redigida.

Eu quis dizer que essas linguagens citadas HOJE tem um mercado menor do que Java E C#. E também tem um mercado menor que outras linguagens que muita gente alega “estar morrendo” ou “mortas”. Java e C# considero que estejam no mesmo nível e concorrendo mais diretamente entre si, um tendo algumas coisas melhores, outro tendo outras coisas, e o JDK7 vem pra diminuir essas diferenças.

E também não falei que elas não estão crescendo ou não são o futuro. Só que POR ENQUANTO nas regiões onde tenho contato não vejo muita adoção delas, o que não significa que em outras regiões onde outros trabalhem não possa existir mercado bom pra elas.

Pra mim, pouco importa qual a linguagem seja o hippie, já passsei por Cobol, Clipper, Delphi, PHP e Java, programaria até em brainfuck se o salário compensasse, mesmo que não seja minha preferência.

M

knowledgebr:
chun:
Fiquei BEM decepcionado…

Cara , que demora… a minha impressão é que tem meia duzia de nego trabalhando nisso…

decepcionante :frowning:

Ao invés de criticar e ficar como xupim, arregace as mangas e ajude o Java a evoluir, falam de comunidade, mas são poucos que de fato encaram a empreitada de fazer as coisas acontecerem, receber pronto pra usar isso tem um monte.

Quem quer ajudar o java a evoluir eu recomendo ligar para a oracle e agendar uma visita com um consultor.

fredferrao

Sobre as linguagens hype que rodam na JVM, eu tambem sou conservador, não fico indo atraz de toda nova linguagem que aparece, lembro até hoje de um colega que ficou uma temporada em NY em 2007, quando voltou ao Brasil chegou na sala e gritou: “Java morreu, negocio agora é Ruby”, claro que ele é sempre exagerado, mas eu nao dei bola, truquei na hora.

Mas ja se vão 3 anos, e não posso simplesmente fechar os olhos e ficar ali no meu mundinho java forever, agora não é apenas Ruby, é Groovy, Phyton, Scala, Clojure, etc., elas estão ai e chegaram para ficar, no exterior a adoção ja é consideravel, no Brasil, tambem ja possivel encontrar, como citam os colegas do forum, aqui mesmo no GUJ é facil encontrar varios rubistas.

Provavelmente nunca usarei estas linguagens na empresa(publica) que estou hoje, mas eu tenho meu projetos pessoais, e minha futura empresa ja corre em paralelo, com certeza usarei estas linguagens.

Java vai morrer? Claro que não, mas como ja disse o Luca em um post, o negocio hoje é ser poliglota!

E o caminho é sem volta :lol: , depois de aprender uma destas dizem que o cara chega chora quando mandam ele programar java puro.

FredMP

O Grande Bé:
Tem varias picuinhas no Java que já poderiam ter sido melhoradas há 4 anos, parece que o resto evoluiu e o Java não!

O exemplo que citei anteriormente é um deles, onde já se viu, uma linguagem que é usada em larga escala pelo mundo, como o java, que não tem uma classe simples de usar para fazer cálculos com dinheiro?

Pode crer… e uma boa API de datas tb.

Luiz_Aguiar

Então vc esta no caminho errado, tem que trabalhar com SAP que paga pelo menos 3x mais que Java, C#, Rails, onde minha namorada trabalha tem consultor que ganha mais de R$150 / hora.

[]s

M

Então vc esta no caminho errado, tem que trabalhar com SAP que paga pelo menos 3x mais que Java, C#, Rails, onde minha namorada trabalha tem consultor que ganha mais de R$150 / hora.

[]s

Linguagens são ferramentas, escolha aquela que o torna mais produtivo para o trabalho em questão. Quem espera ganhar bem só porque programa na linguagem da moda deve estar preparado para flutuar no sabor do mercado.

O principal é o que vc produz, não a linguagem utilizada.

M

Então vc esta no caminho errado, tem que trabalhar com SAP que paga pelo menos 3x mais que Java, C#, Rails, onde minha namorada trabalha tem consultor que ganha mais de R$150 / hora.

[]s
SAP não consegui entrar no mercado, mas se aparecer oportunidade, não vou dispensar “por amor ao Java”.

Conheço consultor Java que ganha 180/hora, mesmo assim não posso afirmar que é o que paga melhor, porque o cara é mais excessão do que regra.

M

mario.fts:
Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[ ] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

[X] Todas as alternativas acima

fmamud

Eu acho que produtividade NÃO É TUDO, produtividade É UMA PARTE DO TUDO.

Quando alguem cria uma linguagem de programação é inevitável pensar e usar produtividade. Pois a nova linguagem irá tornar algum processo/tarefa mais produtiva ou não, quando o requisto é totalmente aquilo e pronto.

E a segurança de uma linguagem de programação é menos importante que a produtividade ? a performance ? a distribuição do sistema como um todo ?

Talvez estas novas linguagens dinâmicas, ou seja produtivas, tem um impacto para as pessoas de que tudo que tem de ser feito, tem de ser feito com a tal produtividade em primeiro lugar, sendo que este é o jeito certo e pronto! e isto na realidade não é verdade. Por isso que eu te disse, a minha opnião é que produtividade NÃO É TUDO!

Tem também o fato que todo mundo diz que programados são preguiçosos por natureza, logo pega-se um exemplo qualquer de produtividade em alguma instuição de qualquer linguagem por exemplo, ( o metodo ‘+’ da Class FixNum em Ruby) tem de ser analizado cada requisito de cada projeto. Se eu precisar de performance,segurança, etc. ? Do que adianta eu ter um excelente recurso com produtividade que é lento em comparação com outro recurso que não tem produtividade como prioridade? Ou seja, é preciso de velocidade na execução e não facilidade na hora de programar. Logo cada caso é um caso, por isso cada linguagem tem o seu propósito. Repito: Produtividade não é TUDO, é parte de um TUDO.

Voltando a primeira discussão, em nenhum momento eu quis dizer sobre produtividade e sim quis dizer sobre “fazer alguma coisa” até o Java 7 sair do forno.

[]'s

O Grande Bé:
@fmamud
Eu não disse que 99% dos problemas dos programadores já é a produtividade. Eu disse q estudar APIs não vai resolver nossos problemas.
Mas já que você disse:
Tudo se resume a produtividade

Em java é possível fazer qualquer coisa que se faz em qualquer outra linguagem, com mais ou menos facilidade e mais ou menos rápido que outras linguagens. Facilidade acaba se convertendo em tempo e no final das contas produtividade.

Qualquer característica que ajuda o programador de qualquer forma, no final se converte em produtividade. Seja uma API simplificada, uma maneira mais “divertida” de programar, um jeito mais fácil de ganhar performance (afinal você não vai ficar 3 dias quebrando a cabeça pra deixar aquela rotina mais rápida)

Mesmo o argumento de que Java é uma plataforma largamente utilizada e é mais fácil de arrumar mão de obra especializada, da menos pau, e bla bla bla. Se resume em produtividade, linguagem menos utilizada DEMORA mais pra arrumar alguém e DEMORA mais pra corrigir um problema.

No final das contas, a produtividade é tudo.

Eu gostaria de um dia dizer ao meu computador com minha linguagem natural o que eu queria e ele elaborasse pra mim.

M

fmamud:
Eu acho que produtividade NÃO É TUDO, produtividade É UMA PARTE DO TUDO.

Quando alguem cria uma linguagem de programação é inevitável pensar e usar produtividade. Pois a nova linguagem irá tornar algum processo/tarefa mais produtiva ou não, quando o requisto é totalmente aquilo e pronto.

E a segurança de uma linguagem de programação é menos importante que a produtividade ? a performance ? a distribuição do sistema como um todo ?

Talvez estas novas linguagens dinâmicas, ou seja produtivas, tem um impacto para as pessoas de que tudo que tem de ser feito, tem de ser feito com a tal produtividade em primeiro lugar, sendo que este é o jeito certo e pronto! e isto na realidade não é verdade. Por isso que eu te disse, a minha opnião é que produtividade NÃO É TUDO!

[]'s

Não. São tão importantes quanto, concordo com vc. Acontece que a maioria destas “novas linguagens dinâmicas” (nem todas são dinâmicas e nem todas são tão novas assim!) rodam na JVM e portanto possuem a mesma performance, segurança, e distribuição que a linguagem Java tem. O que nos resta discutir então é aquilo que se diferencia, e na questão de produtividade não há qualquer dúvida que Java fica no chinelo.

M

Bom, em todo o caso, considero positivo que a Oracle esteja preocupada em acelerara a evolução da linguagem e plataforma, tornando-a mais competitiva.

Hebert_Coelho

Cara, acho que a alteração mesmo que eu queria era a questão dos exceptions.

Antes era assim:try{ //... changeBirthDate(); } catch(DateFormatException dfe){ //... }catch(NumberFormatException nfe){ //... }E vai paratry{ //... changeBirthDate(); } catch(DateFormatException | NumberFormatException ex){ //... } Adeus mega blocos de catchs!

Carlos_ds_jar

jakefrog:
Cara, acho que a alteração mesmo que eu queria era a questão dos exceptions.

Antes era assim:try{ //... changeBirthDate(); } catch(DateFormatException dfe){ //... }catch(NumberFormatException nfe){ //... }E vai paratry{ //... changeBirthDate(); } catch(DateFormatException | NumberFormatException ex){ //... } Adeus mega blocos de catchs!


Muito bom, vai ajudar pra caramba quanto for necessário realizar tratamentos idênticos a exceções diferentes!

J

fmamud:
Eu acho que produtividade NÃO É TUDO, produtividade É UMA PARTE DO TUDO.

E a segurança de uma linguagem de programação é menos importante que a produtividade ? a performance ? a distribuição do sistema como um todo ?

Linguagem não tem performance, ela apenas descreve a lógica de um algoritmo. Quem dita desempenho de execução é o compilador, dependendo do quanto ele otimizou o código no resultado final, que é o assembly(independente de vm).

A função da linguagem é suprir uma ferramenta confortável a resolver determinado tipo de problema e nada além disso.

Segurança se refere a tipos de dados seguros? Se for, em uma linguagem como c é perfeitamente possível se criar esses tipos, mas ae caimos no conceito que estava citando - a produtividade.

Shelson

serah q o eclipse vai travar tb nesta nova versao ? :cry:

M

Se os desenvolvedores testarem nos builds novos antes, não. Agora, se ficarem esperando sair a versão nova pra só depois agirem…

Ataxexe

Não porque já corrigiram o bug do nome do fornecedor da JVM (detalhe: só acontecia em Windows).

K

Se os desenvolvedores testarem nos builds novos antes, não. Agora, se ficarem esperando sair a versão nova pra só depois agirem…

Quanto que você ganha para participar de todos os fórums e comentários? está em todos os lugares, br-linux e outros, sempre defendendo a Oracle, certeza que ganha da Oracle uma comissão.

Shelson

Se os desenvolvedores testarem nos builds novos antes, não. Agora, se ficarem esperando sair a versão nova pra só depois agirem…

Quanto que você ganha para participar de todos os fórums e comentários? está em todos os lugares, br-linux e outros, sempre defendendo a Oracle, certeza que ganha da Oracle uma comissão.

ué. quem deveria testar são eles. a oracle fez muitos repensarem sobre o java. o desenvolvimento da plataforma/linguagem java vai continuar serio como era levado pela sun, ou vai ser apenas um joguete para os sapatos/shoooes e e outros ‘antenados’ das empresas da grama bem verde levantarem a bandeira q o java não deve ser usado antes de outras linguagens ?
a oracle eh uma empresa seria, mas nos desenvolvedores somos tratados como lixo por eles. isso tem q parar.
os produtos tem q ser bem testados e os prazos cumpridos. ou mata logo o java, ou declara q nao eh mais do interesse deles continuar. chega de patifaria, tricas e futricas.

Ataxexe

E lá se vai outro flame. Concordo que foi um escorregão bem dado. Só não vejo porque ficarmos desmerecendo o Eclipse ou a Oracle ou qualquer outro só por causa disso. Principalmente quando isso não tem nada a haver com o tópico.

Shelson

as críticas ajudam no processo de melhoria continua. :wink:

leonardodar

Conserteza, grandes beneficios para nós desenvolvedores, vamos torcer para que o lançamento sai antes do previsto.

M

É isso aí. Faz anos que o Java vinha evoluindo devagar com a Sun, finalmente abriram o problema com os desenvolvedores e estão ouvindo a opinião pra discutir a evolução da linguagem E plataforma visando acelerar as mudanças.

E tem gente que ainda fica fazendo mimimi com a Oracle…

fredferrao

E para os profetas do apocalipse de plantão:

bitjesse

Aquisição da Sun pela Oracle foi a melhor coisa que poderia ter acontecido com o Java.

Link_pg

No meio ai desse monte de opiniões, uma do kicolobo aê é justamente o que eu penso:

“kicolobo”:
Já uso o “Java 7” há um bom tempo. Se chama Groovy.

A tal “decadência do Java (linguagem)” pelo que posso ver, é muito mais relacionada a hype do que a fatos concretos. O que vejo é o surgimento de algumas linguagens com features bem bacanas, como Groovy, Scala, Clojure, JRuby comparadas com a linguagem Java.

O que eu pergunto é: será que eu realmente quero todos estes recursos na linguagem Java? Será que é REALMENTE uma boa entupir a linguagem de features só pra satisfazer o desejo (na minha opinião infantil) de “também tenho”? Afinal de contas, você pode mesclar linguagens em um projeto. Eu por exemplo tenho mesclado muito Clojure com Java em algo no qual venho trabalhado recenemente, aproveitando assim o melhor de dois mundos.

Sinceramente não vejo necessidade de mais recursos no Java (linguagem) após a versão 5. Se for pra pedir novas possibilidades, que estas sejam incluidas na JVM, pois assim satisfaz uma gama BEM MAIOR de desenvolvedores.

Mas no frigir dos ovos, Java é como o C do século XXI. Seu valor é inegável - você tem de ser muito ingênuo para ignorar - e você não é obrigado a trabalhar com ela. Mas que o bom conhecimento vai te fornecer um fundamento muito melhor sobre a plataforma, ah, isto vai.

(aliás, se for pra de fato satisfazer o desejo de ter mais e mais features na linguagem, a única alternativa é ir pro Lisp e seus derivados, aonde o programador inclui o que deseja na linguagem, sem precisar ficar dependendo do implementador padrão)

Java tá bom do jeito que tá. Se ficar enxendo de coisa na linguagem só vai é ficar atrasando e o povo ficando puto. É muito tenso manter compatibilidade e adicionar recursos. Ou faz uma versão alternativa ou o pessoal continua a usar outras linguagens. Melhorar a JVM e implementar novas features em linguagens que realmente estão PREPARADAS para suportá-las é muito mais interessante que demorar 5 anos pra implementar uma gambiarra que não vai implementar um conceito em sua plenitude (vide Generics). Chega uma hora que não dá mais, algo como C/C++ fizeram. Apareceram com o tal de OO e queriam porque queriam botar de qualquer jeito no C, dai fizeram o C++. Alguns aqui podem me xingar, mas com certeza fazer uma linguagem do zero que tenha o conceito em sua essência é bem mais interessante do que “acoplar” conceitos que não foram propostos e arquitetados anteriormente. Certeza que vão ficar reclamando das closures do java 7 (ou 8) e comparando com as de Ruby ou de Groovy. E esses que estarão reclamando serão os mesmos que ficaram choramingando pra adicionarem as closures em java.

Criado 8 de setembro de 2010
Ultima resposta 28 de set. de 2010
Respostas 79
Participantes 42