Java EE está indo para o brejo?

50 respostas
D

Pessoal, bom dia!

Queria comentar um assunto que têm me deixado preocupado. Embora eu seja programador JAVA SE e iniciei meu ingresso no mundo EE (web)…

Vou falar em português xulo (se é que posso chamar de português), mas que ilustrará bem minhas preocupações…

Cada vez mais ouço que o JAVA EE está indo para “as cucuias” e que o melhor é migrar para tecnologias ágeis, como RUBY. E esquecer mesmo JAVA… jogar para escanteio…

Gostaria de saber se é besteira de algumas pessoas - que sentem a necessidade de migrar para outras tecnologias - e que estão condenando o JAVA EE precipitadamente. Ou se é uma tendência que já está sendo notada… que inúmeros desenvolvedores estão pensando o mesmo. Ou se JAVA EE está se tornando mesmo ultrapassado…?

E se o JAVA EE estiver “indo para o brejo” mesmo, que medidas estão sendo tomadas pela ORACLE ou aquele comitê, para conter o problema??

Obs: Por favor, não fiquem irritados com o tópico que postei. Quero mesmo discutir idéias e tendências ou ver se estou errado com o que ando ouvindo e têm me preocupado…

50 Respostas

F

não há nada que indique o Java EE esta morrendo, aparentemente ele continua a todo o vapor, normalmente quem diz algo nesse estilo, de esquece Java é passado migre pra INFORME_UMA_LINGUAGEM_QUALQUER_AQUI, está somente maravilhado com algumas vantagens da nova linguagem que está aprendendo, a pessoa muitas vezes nem faz por mal.

Pode manter seus estudo em Java EE, mas é sempre bom não ficar dependente de uma unica linguagem.

D

cara… as maiores corporações usam java… o que rola é java ou .net…

ruby vem crescendo… é moda junto com grails,escala… são fáceis e mais produtivas mais na minha opinião pessoal é moda… as coisas que o ruby tem de legal o java 7 ja faz a maioria…

mais não tem nada a ver isso do java morrer… muito menos o J2EE,que é muito mais do que simplesmente servlets e jsp, para paginas.
J2EE tem ejb,jsf,jpa,web services… não tem como isso tudo morrer do nada não se iluda.

tem muito menos vagas para ruby… do que para java… e nunca ouvi falar de empresas que tem projetos de grandes usarem somente ruby.

L

O java vai morrer :shock:

M

<minha resposta padrão>olha as vagas de java nos sites de emprego e depois compara com as vagas de outras linguagens</minha resposta padrão>

J

Lembre-se que você está fazendo essa pegunta em uma comunidade Java. Faça a mesma pergunta em comunidades de Ruby ou Python e veja que a resposta será bem diferente. Não estou dizendo que o Java EE esteja indo pro brejo, até porque não existe tal absurdo em TI, mas as opiniões aqui podem ser parciais porque é dessa forma que a comunidade Java enxerga as coisas.
De maneira resuminada, pegue os dois lados, análise e tome suas decisões, tenha seus próprios insights e faça sua própria projeção.

Esse tipo de tópico apocalíptico já deu o que tinha que dá.

M

diego_qmota:

Obs: Por favor, não fiquem irritados com o tópico que postei. Quero mesmo discutir idéias e tendências ou ver se estou errado com o que ando ouvindo e têm me preocupado…

Ao invés de perguntar se tecnologia X vai pro brejo, porque não nos diz que tipo de profissional vc é e o que pretende para sua carreira. Por exemplo, quem quer trabalhar para uma “grande corporação” precisa lidar com tecnologias defasadas porque grandes corporações geralmente são conservadores nesse aspecto, enquanto profissionais visionários e inovadores não veem problema algum em assimilar novas tecnologias e utilizar nos seus produtos, e podem até ficar impressionados que ainda existam pessoas que usam EJBs e AppServers.

Ou seja, sem saber que tipo de profissional é vc e o que pretende para sua carreira só nos resta discutirmos assuntos pouco interessante (se tecnologia X vai substituir a tecnologia Y), enquanto deveríamos estar focados em nós, enquanto profissionais, o que pretendemos estar fazendo nos próximos, digamos, 5 anos.

D

java.lang.JJunior:
Lembre-se que você está fazendo essa pegunta em uma comunidade Java. Faça a mesma pergunta em comunidades de Ruby ou Python e veja que a resposta será bem diferente. Não estou dizendo que o Java EE esteja indo pro brejo, até porque não existe tal absurdo em TI, mas as opiniões aqui podem ser parciais porque é dessa forma que a comunidade Java enxerga as coisas.
De maneira resuminada, pegue os dois lados, análise e tome suas decisões, tenha seus próprios insights e faça sua própria projeção.

Esse tipo de tópico apocalíptico já deu o que tinha que dá.

É… eu sei que as opiniões não são muito imparciais… por isso até que escrevi a observação embaixo. Sei que o tópico é triste também. Mas devido a ouvir críticas, críticas, críticas e mais críticas de JAVA EE, pensei que tantas pessoas podem não estar tão erradas assim… Uma “demonização” exagerada da tecnologia praticamente… Tão exagerada que não dá para digerir essas opiniões sem desconfiança. Afinal, se é tããããoo ruim assim e o melhor é partir para RUBY, etc - porquê há tantos anúncios, crescimento, investimentos em torno do JAVA EE?! É um pouco discrepante isso…

Talvez tenha que analisar mesmo o escopo e os dois lados, para chegar a minhas conclusões…

D

mochuara:
diego_qmota:

Obs: Por favor, não fiquem irritados com o tópico que postei. Quero mesmo discutir idéias e tendências ou ver se estou errado com o que ando ouvindo e têm me preocupado…

Ao invés de perguntar se tecnologia X vai pro brejo, porque não nos diz que tipo de profissional vc é e o que pretende para sua carreira. Por exemplo, quem quer trabalhar para uma “grande corporação” precisa lidar com tecnologias defasadas porque grandes corporações geralmente são conservadores nesse aspecto, enquanto profissionais visionários e inovadores não veem problema algum em assimilar novas tecnologias e utilizar nos seus produtos, e podem até ficar impressionados que ainda existam pessoas que usam EJBs e AppServers.

Ou seja, sem saber que tipo de profissional é vc e o que pretende para sua carreira só nos resta discutirmos assuntos pouco interessante (se tecnologia X vai substituir a tecnologia Y), enquanto deveríamos estar focados em nós, enquanto profissionais, o que pretendemos estar fazendo nos próximos, digamos, 5 anos.

Gostaria de ter os dois perfis. De quem objetiva trabalhar em grandes corporações com tecnologias consolidadas e mais antigas implantadas e também de quem lida com o que há de mais novo. Não quero ter o perfil somente de quem faz aplicações com tecnologias mais novas e se tiver que trabalhar em uma grande corporação, irá se atrapalhar, por exemplo. Ou vice-versa.
A minha preocupação é somente se vou investir tempo e dinheiro em estudar algo que em breve pode ficar defasado…

M

diego_qmota:

Gostaria de ter os dois perfis.

Isso é o equivalente, em linguagem popular, a assobiar e chupar cana ao mesmo tempo.

D

mochuara:
diego_qmota:

Gostaria de ter os dois perfis.

Isso é o equivalente, em linguagem popular, a assobiar e chupar cana ao mesmo tempo.

É…eu sabia que ouviria isso… naturalmente não dá para focar nos dois caminhos. Mas pelo menos ter as noções necessárias para migrar de um para o outro (e não ser uma mudança “alien” se precisar mudar).
É que queria estuda rmais JAVA EE e começaram a surgir dúvidas por causa das opiniões que citei.

G

Voce ate’ consegue ter os 2 perfis, mas nunca vai ser especialista em nenhum. E’ o velho conceito de especialista X generalista.

D

Então… pessoalmente, eu prefiro o perfil de tecnologias consolidadas, como o JAVA EE.

Mas nem sempre é tudo do jeito que a gente gosta e como profissionais de TI, temos que ser flexíveis…

No momento, estou tendo que considerar outros caminhos… Fiquei na dúvida se valia a pena mesmo investir tempo e dinheiro em JAVA EE…depois de tudo que me disseram…

G

diego_qmota:

Mas nem sempre é tudo do jeito que a gente gosta e como profissionais de TI, temos que ser flexíveis…

No momento, estou tendo que considerar outros caminhos… Fiquei na dúvida se valia a pena mesmo investir tempo e dinheiro em JAVA EE…depois de tudo que me disseram…

Com certeza. Procure o que e’ melhor pra voce sempre. Já tive chance de trabalhar em outras áreas mas nao consegui largar o java (ainda) .

H

Já falaram o mesmo do Cobol e o mardito continua até hoje no mercado. Esse aí não morre tão cedo viu.

Java morrer acho difícil viu. Ainda mais que o governo brasileiro está utilizando a rodo! Ou seja, aqui no Brasil, vai perdurar muuuito tempo! =D

B

só pra constar, java EE != Web.

Java EE é muuuuito mais do que “java web”.

Encontre definições conceituais aqui http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition

P

Cara,

Existem soluções tecnológicas adequadas para cada necessidade de negócio…
se você precisa de uma plataforma robusta, estável, escalonável, extensível, segura,
com alta disponibilidade, transacional e baseada em linguagem e paradigmas (OO)
amplamentes conhecidos, a escolha mais lógica atualmente é JEE. Com relação ao JEE estar
"abrindo o bico", isto é falso. Eu mesmo estive envolvido (e conheço diversos projetos rolando)
para migração de plataformas .NET para JEE em GRANDES corporações. It’s just the beginning!

[ ]'s

G

Por ser uma linguagem de péssima produtividade, Java vai desaparecer sim, só está crescendo em alguns nichos porque ainda não perceberam o estrago que essa linguagem causa, e, pasmem, vai desaparecer antes do antigo e arcaico Cobol, porque essa história de orientação a objetos, do jeito que foi implementada no Brasil, só complicou as coisas, e a programação estruturada, que gera sistemas grandes e de difícil manutenção ainda vai ser a única opção, por não ser tão complexa como a Orient. a Objetos, é isso que eu penso.

D

Resolvi investir em um curso de JAVA EE. Estou gostando muito e hoje já não penso dessa forma…

Mas estou, assim como a comunidade, um pouco apreensivo quanto ao futuro. Vamos ver o que a ORACLE têm reservado para nós…

G

schranko:
Cara,

Existem soluções tecnológicas adequadas para cada necessidade de negócio…
se você precisa de uma plataforma robusta, estável, escalonável, extensível, segura,
com alta disponibilidade, transacional e baseada em linguagem e paradigmas (OO)
amplamentes conhecidos, a escolha mais lógica atualmente é JEE. Com relação ao JEE estar
"abrindo o bico", isto é falso. Eu mesmo estive envolvido (e conheço diversos projetos rolando)
para migração de plataformas .NET para JEE em GRANDES corporações. It’s just the beginning!

[ ]'s

Cara, acorda!!! o que vc viu de robusto em Java? bateu a cabeça? a verdade tem que ser dita, os sistemas produzidos em Java
serão sempre, naturalmente cheios de erros, é isso que Java produz: muitos erros , pela dificuldade inerente de se entender a sintaxe e a complexidade do Java que nada mais é do que um C++ com um Garbage Collector e gerenciamento automático de ponteiros, “baseado em paradigma OO” ???, e quem te fez a cabeça que o paradigma OO é a melhor solução para o desenvolvimento? agora que tá ‘abrindo o bico’ … ah … tá sim … e migrar de .Net para Java … cara … o .net É O JAVA cara!!! a M$ teve acesso ao JDK 1.1 e simplesmente copiou o Java e chamou de C# e .net, acorda e para de falar tanta coisa ‘fora do esquema’ , não é só porque vc conhece Java que a linguagem é a melhor, vai aprender alguma coisa, porque de desenvolvimento cara, vc tá é bem fraquinho mesmo!

J

gadriano:
schranko:
Cara,

Existem soluções tecnológicas adequadas para cada necessidade de negócio…
se você precisa de uma plataforma robusta, estável, escalonável, extensível, segura,
com alta disponibilidade, transacional e baseada em linguagem e paradigmas (OO)
amplamentes conhecidos, a escolha mais lógica atualmente é JEE. Com relação ao JEE estar
"abrindo o bico", isto é falso. Eu mesmo estive envolvido (e conheço diversos projetos rolando)
para migração de plataformas .NET para JEE em GRANDES corporações. It’s just the beginning!

[ ]'s

Cara, acorda!!! o que vc viu de robusto em Java? bateu a cabeça? a verdade tem que ser dita, os sistemas produzidos em Java
serão sempre, naturalmente cheios de erros, é isso que Java produz: muitos erros , pela dificuldade inerente de se entender a sintaxe e a complexidade do Java que nada mais é do que um C++ com um Garbage Collector e gerenciamento automático de ponteiros, “baseado em paradigma OO” ???, e quem te fez a cabeça que o paradigma OO é a melhor solução para o desenvolvimento? agora que tá ‘abrindo o bico’ … ah … tá sim … e migrar de .Net para Java … cara … o .net É O JAVA cara!!! a M$ teve acesso ao JDK 1.1 e simplesmente copiou o Java e chamou de C# e .net, acorda e para de falar tanta coisa ‘fora do esquema’ , não é só porque vc conhece Java que a linguagem é a melhor, vai aprender alguma coisa, porque de desenvolvimento cara, vc tá é bem fraquinho mesmo!

Troll detected.

Fala isso pros caras do Twiter, que usam java e os caras do orkut que trocaram .NET por java.

Para o troll não reclamar, segue

http://www.guj.com.br/java/143249-quais-linguagens-de-programacao-sao-utilizadas-em-grandes-sites-como-twitter-orkut-google-maps

=)

G

javablue:

Troll detected.

Fala isso pros caras do Twiter, que usam java e os caras do orkut que trocaram .NET por java.

Para o troll não reclamar, segue

http://www.guj.com.br/java/143249-quais-linguagens-de-programacao-sao-utilizadas-em-grandes-sites-como-twitter-orkut-google-maps

=)

E vc é bitolado cara!!! vc se fechou para uma linguagem, é só isso que vc conhece? bom, se for então lamento profundamente a sua limitação, mas a verdade é que é uma linguagem bem ruinzinha, vai estudar cara, aprenda alguma coisa por favor, e para vc BITOLADO não reclamar, pesquise a fundo e vc verá que essa linguagem é péssima, que dá uma produtividade muito ruim, e quem precisa de Twitter e de Orkut cara? acorda! faça algo produtivo e não fique aí dando atenção para as criações norte-americanas, ou vc é gringo? seja nacionalista, seja do Brasil, valorize as coisas feitas aqui e não sites inúteis de fora que só nos fazem perder tempo, ah google maps? cara, tem milhões de sites com mapas, não foi o Google que inventou o mapa na internet!!!

J

:smiley:

P

Hahaha…

Além do Twitter e Orkut o desenvolvimento p/ a plataforma Android é em JAVA!!!..e dizem ainda q a lingugem é ultrapassada… :?: :?: :?: :?: :?:

F

Trocaria todo meu conhecimento Java por ser um especialista em Cobol.
Muito raro. E muito bem pago.

C

Eu trocaria todo o meu conhecimento em computação por chocolate.
Muito bom. E eu teria chocolate para o resto da minha vida.

F

clone_zealot:
Eu trocaria todo o meu conhecimento em computação por chocolate.
Muito bom. E eu teria chocolate para o resto da minha vida.

E ia conseguir as mulheres como? dando chocolate pra elas?
8)

L

fabim:
clone_zealot:
Eu trocaria todo o meu conhecimento em computação por chocolate.
Muito bom. E eu teria chocolate para o resto da minha vida.

E ia conseguir as mulheres como? dando chocolate pra elas?
8)

Eu trocaria meu conhecimento em computação por dinheiro… dai sim teria chocolates e mulheres pelo resto da vida… :lol:

G

Esses não me parecem argumentos lógicos :roll:
Poderia desenvolver melhor o assunto? Imagine o seguinte: você tem que convencer seu diretor (ou cliente) a trocar de Java para xxx. Qual seria o xxx recomendado? Por que?
Talvez você tenha tido uma impressão errada, mas tem muita gente lendo essa discussão com a mente aberta, é uma boa oportunidade de argumentar e convencer!

clone_zealot:
Eu trocaria todo o meu conhecimento em computação por chocolate.
Muito bom. E eu teria chocolate para o resto da minha vida.

HAHAHAHA essa foi muito boa.
Eu faria o mesmo, mas acho que só conseguiria um BIS.

F

Quando vc fala JAVA EE vc indica que é um ecossistema de tecnologias para aplicações distribuídas.
A resposta é não !
JEE vai evoluindo conforme o tempo da mesma forma que tem acontecido nos seus anos de existência. No entanto, algumas tecnologias dentro do JEE podem ser morrer sim, mas nos chamamos isso de “descontinuadas” com EntityBean 2.X e JDO que foram substituídas por outras direcionadas pela propria comunidade. As linguagens tb podem ser, aparecendo outras linguagens para JVM… hoje temos mais de 240.
O atual JEE 6 agregou as mais novas tecnologias como WEB SERVICES REST…
E no futuro ja temos indícios de CLOUD, NoSQL e varias outras novas tecnologias emergente…
Falar que JEE ta morrendo é coisa de “partes contrarias” ai…
A questão é …vai ser substituído pelo que? kkkk não exite outra plataforma concorrente tão completa como Java hoje…quem sabe um dia…

J

Na minha opinião, não da pra medir a continuidade da tecnologia por esse quesito, a maioria das vagas são para manutenção em sistemas legados. Tanto que, por experiência própria (troquei de emprego esse mês), a maioria das empresas ainda usa o JBoss4.

MUITO conservadoras, eu mesmo encareis várias situações em que o Gerente de TI ou os Diretores não deixavam atualizar nem o JavaSE, tipo, da versão 1.4 para a 6, mesmo todo mundo sabendo que Java não quebra compatibilidade e nenhuma aplicação ia quebrar por causa da mudança do JDK. E desculpe a ignorância, mochuara, mas como assim “profissionais que ficam impressionados que ainda existam pessoas que usam EJBs e AppServers” ? O que há alem disso?

Que tipo de criticas você ouviu, diego? Sinceramente, a maioria das pessoas que criticam não conhecem realmente a plataforma…

O JavaEE pode até ficar defasado, mas o conceito por trás da plataforma não vai. O importante é você adquirir o “conceito”, por exemplo: apareceu na comunidade um certo “reboliço” porque “parece” que os ManagedBeans do JSF vão ser depreciados na próxima versão. Ai pensa, você vai, paga um curso caro e dedica um bom tempo pra aprender JSF, e depreciam os ManagedBeans, que são quase que o coração do framework. E ai, você perdeu tempo e dinheiro? Lógico que não. Você aprendeu todo o conceito de um pool-mvc, conceito de binding, etc, etc. Claro, você teve que perder tempo pra conhecer a spec, como funcionam os componentes, sintaxes, detalhes, etc, mas isso é um ciclo de aprendizagem de qualquer ferramenta ou linguagem. Mas o “conceito”, aquilo que move a tecnologia, fica com você. Outro exemplo? Estou estudando pra OCWCD. Estou na marcha lenta, e varias vezes me pergunto se compensa, afinal, quem usa JSP e TagLib hoje em dia? Mas questão é conceitualmente, o conteúdo é muito rico. Então, eu tenho que sacrificar um pouco do meu tempo de estudo para entender como funciona uma tecnologia “meio que defasada”, mas com isso, o ganho com o conceito por trás de tudo é imenso.

E só pra finalizar a minha opnião, já que eu me empolguei um pouco nesse post, concordo com você Diabo Loiro, mas não é que é moda, é só enxergar o contexto: Ruby, Scala, etc, são ótimas linguagens, mas a verdade é que nenhuma delas oferece uma plataforma igual ou pelo menos semelhante a do Java. O dia que isso acontecer, ai sim o Java cai. E realmente, agora que a Oracle está fazendo o que a Sun não estava nos seus últimos respiros, o Java vai andar, já tem até previsão pra versão 8, e acho que a linguagem vai oferecer um numero de API’s/Ferramentes/Etc que se pelo menos a mesma não se igualar ao nivel de ruby e scala, vai chegar muito perto.

G

FernandoFranzini:

vai ser substituído pelo que? kkkk não exite outra plataforma concorrente tão completa como Java hoje…quem sabe um dia…

Mas é aí que está: alguns procuram outras alternativas justamente porque a plataforma Java (Java EE, mais especificamente) está “completa demais”, quer dizer, inchada e excessivamente complexa. É como diz aquela frase: “menos é mais”

E sabe o que é curioso? Essa reclamação vem tanto dos caras da vanguarda (railers e similares) quanto dos mais tradicionais (vovôs do Cobol rsrs). Já trabalhei em projetos junto com equipe de mainframe, e um cara comentou que ficava impressionado com a quantidade de coisas que davam problema no ambiente Java (websphere).

E acho que ele tem sua razão: quanto tempo perdemos resolvendo problemas no sistema que não tem nada a ver com nosso código? Quantas vezes os serviços ficam indisponíveis por causa de algum piripaque inexplicável no servidor de aplicação? Então… isso não ocorre no mainframe, se o programa estiver correto ele vai funcionar e pronto. Também não ocorre em outras linguagens web mais antiguinhas, como ASP e PHP.

Bom, é isso… eu também não vejo nenhuma “ameaça” ao Java hoje em dia, e nem imagino que ele vá sair de cena assim tão fácil, mas é interessante conhecer outros pontos de vista.

F

Mas é aí que está: alguns procuram outras alternativas justamente porque a plataforma Java (Java EE, mais especificamente) está “completa demais”, quer dizer, inchada e excessivamente complexa. É como diz aquela frase: "menos é mais"
E sabe o que é curioso? Essa reclamação vem tanto dos caras da vanguarda (railers e similares) quanto dos mais tradicionais (vovôs do Cobol rsrs). Já trabalhei em projetos junto com equipe de mainframe, e um cara comentou que ficava impressionado com a quantidade de coisas que davam problema no ambiente Java (websphere).

A plataforma é completa sim, e é claro que tem que ter tudo! Seria um supermercado completo e nós os consumidores…precisando de algo…é correr na prateleira e pegar. Essa situação que vc levantou é verdade, mas a raiz do problema não é fato do JEE ser “grande d+” e sim na falta de conhecimento e domínio dos profissionais…
O que eu mais pego na consultorias que eu do por ai é profissionais com perfil errado definindo arquitetura sem base nenhuma…é só vc pegar muitos post aqui no forum…o que tem de nego criando aplicações JSF com JPA e dando deploy em JBOSS e Glassfish, usando perfil de deploy JEE6 FULL é brincadeira…ou até usando EJB sem necessidade nenhumaaaa…é uma lastima…

para os interessados eu escrevi sobre isso ha um tempo atras - http://fernandofranzini.wordpress.com/2007/08/31/aplicativos-web-com-java/

G

Esses não me parecem argumentos lógicos :roll:
Poderia desenvolver melhor o assunto? Imagine o seguinte: você tem que convencer seu diretor (ou cliente) a trocar de Java para xxx. Qual seria o xxx recomendado? Por que?
Talvez você tenha tido uma impressão errada, mas tem muita gente lendo essa discussão com a mente aberta, é uma boa oportunidade de argumentar e convencer!

Então: desenvolvendo melhor o assunto, apresentando argumentos lógicos:

O que tenho contra o Java é que o mesmo NÃO TEM HERANÇA VISUAL!!
mas então vamos ver o que é herança visual:

  • na herança visual o teu código HERDA TUDO, comportamento visual e TODOS os métodos, sem precisar chamá-los, o que
    significa que os métodos ficam disponíveis para serem chamados pela interface gráfica, fica tudo automático, com pouquíssimo
    código no herdado, mas precisa estar programado na classe-pai

  • no Java só tem o “extends” onde vc indica que vai herdar da classe pai e o “super.MÉTODO” onde vc chama um método da classe
    pai, um método de cada vez, no Java não tem palavra chave que herda tudo da classe-pai

  • porém o equivalente de EXTENDS em LINGUAGEM-POLÊMICA (*) (a indicação de que vai herdar no começo do programa) te dá
    herança visual, porque todos os botões da tela herdada herdam o comportamento da classe pai, sem fazer nada, simples assim, é só
    clicar em qualquer botão que já dispara o evento correspondente da classe pai, isso é muito, mas muito mais poderoso do que a
    herança em Java.

  • faço essa análise de Java porque parece que a mesma é entronizada / endeusada como sendo uma grande linguagem, contudo,
    pelas suas características ela tem pouco a proporcionar ao desenvolvimento de sistemas, ah … e não sou contra o Java, nem
    venham com essa, existem muitas linguagens e não é uma questão de ser contra, mas sou contra o endeusamento de uma
    linguagem / conceito, quando analisando a fundo se vê que é fraca / fraco , e aí foram sendo inventadas várias gambiarras para
    suprir a falta de herança-múltipla (o que também não entenderam e também é dispensável, não é necessário ter herança-múltipla e
    sim é ULTRA-NECESSÁRIO ter herança visual), aí vieram com vários subterfúgios como INTERFACES/COMPOSIÇÃO e outras coisas
    gambiarrentas, que volto a falar, se você analisar a fundo vai ver que isso é um grande erro

    obs: não vou citar aqui o nome da LINGUAGEM-POLÊMICA porque tem uns e outros que vão vir com 4 pedras na mão até dizendo que isso de herança visual só funciona em sistemas desktop e é verdade, mas e quem colocou nas vossas cabeças que os sistemas tem que ser feitos inteiramente para a web? p. ex. a prefeitura de Curitiba usa a LINGUAGEM-POLÊMICA em seus sistemas Client-Server
    e lá o Java foi para o brejo, se mostrou absurdamente menos produtivo (na questão de prazos) e foi deixado de lado, sendo dado manutenção nos poucos sistemas feitos em Java, mas os sistemas grandes ficarão na LINGUAGEM-POLÊMICA. Um bom entendedor já deve saber que linguagem é essa, ah … e pode ter outras mais recentes como C# que já devem ter essas características de herança visual, mas não sei ao certo.

F

Bom amigo gadriano, eu respeito sua opinião, mas tenho postar a minha tb…
Eu discordo totalmente de vc:

  1. Não existe tal conceito na orientação objeto (Herança Visual). Se apareceu tal coisa, por favor me ajudem com livros, links etc…
  2. Pelo seu descritivo isso é comportamento de framework/componentes e não sintaxe/semântica de linguagem ou características do paradigma.
  3. Java tem outras criticas sim com tipagem primitiva, falta de herança múltipla, closures nativa etc etc etc…mas todos sabem que temos outras linguagens que gera o byte code que tem na JVM, mas isso que vc citou não são.
  4. Produtividade não é requisito funcional e nem requisito não-funcional. Produtividade é capacidade de fazer alguma coisa em menos tempos possível. Vc conhece alguem produtivo usando algo que não saiba usar? kkkk

Eu tb não sou contra e a favor de nenhuma tecnologia! Eu simplesmente uso o que for e faço o que precisar para cumprir os requisitos e atender o cliente…

J

Herança visual é herança de tela? É isso que faz tua linguagem ser tão absurda? Nossa hein…

Essa tua linguagem que você não quer falar o nome se chama Delphi. Delphi tem seus usos e é muito legal.

Mas não é ela que vai matar o java.

Ninguém falou que Java é a linguagem do século, você que sem argumento algum diz que Java tá indo pro brejo.

G

Pelo que entendi, isso seria uma imitação da herança visual em Swing. Uma janela filha possui automaticamente todos os elementos e comportamentos do pai, e acrescenta os seus próprios.
Bem, no Java realmente não deu para escapar da chamada "super.metodo()" ....
E dependendo do layout manager utilizado os componentes da filha iriam interferir na posição de todos os elementos.
A classe filha também não poderia implementar os mesmos listeners que o pai, pois iria sobrescreve-los. Teria que se usar classes à parte para os listeners (mesmo que anônimas).

public class HerancaVisualTest {
	public static void main(String[] args) {
		SuperFrame pai = new SuperFrame();
		pai.setLocation(200, 200);
		pai.showGUI();
		
		ChildFrame filho = new ChildFrame();
		filho.setLocation(350, 200);
		filho.showGUI();
	}
}

class SuperFrame extends JFrame implements ActionListener {

	public SuperFrame() {
		initializeGUI();
	}
	
	public void initializeGUI() {
		setLayout(new GridLayout(0,1));
		
		// Adiciona conteudo do PAI
		JButton button = new JButton("Botao do pai");
		button.addActionListener(this);
		add(button);
		
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public void showGUI() {
		this.pack();
		this.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent arg0) {
		JOptionPane.showMessageDialog(SuperFrame.this, "Botao do pai pressionado");
	}
}

class ChildFrame extends SuperFrame {
	public void initializeGUI() {

		// Mostra tambem o conteudo do pai.
		// Se tivesse heranca visual nao precisaria dessa linha pois todos os
		// elementos e comportamentos seriam herdados automaticamente
		super.initializeGUI();

		// Adiciona conteudo do FILHO
		add(new JLabel("Eu sou o filho"));		
	}	
}
(podem colar no Eclipse que funciona :) só está sem os imports )

Sem questionar as qualidades do delphi, não acho que essa característica isoladamente faça tanto a diferença. Não é bom se apegar tanto a features específicas, elas vêm e vão assim como as linguagens... cada uma tem seu jeito de fazer as coisas.

G

javablue:
Herança visual é herança de tela? É isso que faz tua linguagem ser tão absurda? Nossa hein…

Essa tua linguagem que você não quer falar o nome se chama Delphi. Delphi tem seus usos e é muito legal.

Mas não é ela que vai matar o java.

Ninguém falou que Java é a linguagem do século, você que sem argumento algum diz que Java tá indo pro brejo.

ei , peraí, não fui eu quem abriu esse tópico de “Java EE está indo para o brejo” !!!

F

Vamos aos fatos:
Ruby:

  • Twitter trocando camadas e mais camadas de Ruby para Java;
  • O criador do framework Lift(para desenvolvimento web em scala) afirmou que uma de suas principais motivações foi o fato do Ruby on Rails não ser Enterprise e que o próprio criador da linguagem afirmou isso(em meados de 2007);

Porém:

  • Lift usa fortemente os idiomas de scala, considerados por alguns como “excessivamente complexo”. Muitos recomendam utilizar o framework Play + plugin scala
  • O fato é que o plugin scala para o Play ainda está imaturo nem suporta ainda a versão 2.9. Saída: grails

Porém:

  • Grails ainda é considerado uma alternativa lenta em comparação com Java ou até mesmo Lift e Play+scala

Solução:
Java ou .Net

Fato:

  • .Net roda apenas em ambientes Windows e muitos consideram a máquina virtual lenta;
  • Java tem uma máquina virtual altamente performática

Solução: Java ???

Não necessariamente. A conclusão é que nós como programadores vemos a sintaxe de uma linguagem como a principal razão para adotar uma plataforma, porém pensando como empresa há diversos fatores a se considerar como compatibilidade com banco de dados e sistema operacional, escalabilidade, estabilidade, retrocompatibilidade e etc…

G

FernandoFranzini:
Bom amigo gadriano, eu respeito sua opinião, mas tenho postar a minha tb…
Eu discordo totalmente de vc:

  1. Não existe tal conceito na orientação objeto (Herança Visual). Se apareceu tal coisa, por favor me ajudem com livros, links etc…
  2. Pelo seu descritivo isso é comportamento de framework/componentes e não sintaxe/semântica de linguagem ou características do paradigma.
  3. Java tem outras criticas sim com tipagem primitiva, falta de herança múltipla, closures nativa etc etc etc…mas todos sabem que temos outras linguagens que gera o byte code que tem na JVM, mas isso que vc citou não são.
  4. Produtividade não é requisito funcional e nem requisito não-funcional. Produtividade é capacidade de fazer alguma coisa em menos tempos possível. Vc conhece alguem produtivo usando algo que não saiba usar? kkkk

Eu tb não sou contra e a favor de nenhuma tecnologia! Eu simplesmente uso o que for e faço o que precisar para cumprir os requisitos e atender o cliente…

A herança é um conceito de OO, sempre foi, sendo VISUAL então é melhor ainda, mas se não existe o conceito de herança visual, bom, deveria existir porque é muito necessário, os livros falam dos pilares da OO?

  • herança
  • polimorfismo
  • encapsulamento
    tá, mas porque eu insisto em herança? porque nos sistemas atuais onde chegamos? onde estamos? temos reuso? a resposta é:
    bem pouco, chamar métodos, como é feito hoje (em qquer linguagem) isso já existia em qualquer linguagem antiga, passava-se parâmetros e se chamava funções/sections no Cobol/procedures/etc no fundo é tudo a mesma coisa, acaba gerando milhões de linhas e não tem reuso de funcionalidades, os sistemas atuais sejam em Java, Delphi, etc ESTÃO ASSIM, vou repetir NÃO TEM REUSO DE CÓDIGO e só a herança é que possibilita a reusabilidade de código, mas atualmente o conceito se perdeu, não é ensinado por nenhuma faculdade no Brasil, o próprio pai do Java desaconselha a herança e o assunto foi deixado de lado, mas não deveria ser assim.
    Sim, herança visual é usada em frameworks/componentes, mas também pode e deve ser usada na sintaxe/semântica da linguagem
    para encapsular funcionalidades e poder ser herdado de forma visual, aumentando e muito a reusabilidade de código.
J

gadriano:

Sim, herança visual é usada em frameworks/componentes, mas também pode e deve ser usada na sintaxe/semântica da linguagem
para encapsular funcionalidades e poder ser herdado de forma visual, aumentando e muito a reusabilidade de código.

Mas o Java não te impede de usar herança, use a vontade se ela te trazer problemas depois quem tem que lidar com isso é você…

Esse esquema de Herança Visual funciona em Java sim e bem por sinal… acabei percebendo que nos utilizamos isso aqui na empresa onde todas as telas de cadastro estendem de um cadastro padrão que possui o comportamento default e elas somente modificam o que é preciso. Se entendi bem é o que você queria fazer…

F

gadriano:
FernandoFranzini:
Bom amigo gadriano, eu respeito sua opinião, mas tenho postar a minha tb…
Eu discordo totalmente de vc:

  1. Não existe tal conceito na orientação objeto (Herança Visual). Se apareceu tal coisa, por favor me ajudem com livros, links etc…
  2. Pelo seu descritivo isso é comportamento de framework/componentes e não sintaxe/semântica de linguagem ou características do paradigma.
  3. Java tem outras criticas sim com tipagem primitiva, falta de herança múltipla, closures nativa etc etc etc…mas todos sabem que temos outras linguagens que gera o byte code que tem na JVM, mas isso que vc citou não são.
  4. Produtividade não é requisito funcional e nem requisito não-funcional. Produtividade é capacidade de fazer alguma coisa em menos tempos possível. Vc conhece alguem produtivo usando algo que não saiba usar? kkkk

Eu tb não sou contra e a favor de nenhuma tecnologia! Eu simplesmente uso o que for e faço o que precisar para cumprir os requisitos e atender o cliente…

A herança é um conceito de OO, sempre foi, sendo VISUAL então é melhor ainda, mas se não existe o conceito de herança visual, bom, deveria existir porque é muito necessário, os livros falam dos pilares da OO?

  • herança
  • polimorfismo
  • encapsulamento
    tá, mas porque eu insisto em herança? porque nos sistemas atuais onde chegamos? onde estamos? temos reuso? a resposta é:
    bem pouco, chamar métodos, como é feito hoje (em qquer linguagem) isso já existia em qualquer linguagem antiga, passava-se parâmetros e se chamava funções/sections no Cobol/procedures/etc no fundo é tudo a mesma coisa, acaba gerando milhões de linhas e não tem reuso de funcionalidades, os sistemas atuais sejam em Java, Delphi, etc ESTÃO ASSIM, vou repetir NÃO TEM REUSO DE CÓDIGO e só a herança é que possibilita a reusabilidade de código, mas atualmente o conceito se perdeu, não é ensinado por nenhuma faculdade no Brasil, o próprio pai do Java desaconselha a herança e o assunto foi deixado de lado, mas não deveria ser assim.
    Sim, herança visual é usada em frameworks/componentes, mas também pode e deve ser usada na sintaxe/semântica da linguagem
    para encapsular funcionalidades e poder ser herdado de forma visual, aumentando e muito a reusabilidade de código.

O pai do Java não desaconselha o uso de herança, diz apenas que você deve usar herança quando houver uma clara noção de classificação/hierarquia e não para apenas reaproveitar código. O problema da herança é o alto acoplamento entre a classe filha e a classe base.

F


A herança é um conceito de OO, sempre foi, sendo VISUAL então é melhor ainda, mas se não existe o conceito de herança visual, bom, deveria existir porque é muito necessário, os livros falam dos pilares da OO?

  • herança
  • polimorfismo
  • encapsulamento
    tá, mas porque eu insisto em herança? porque nos sistemas atuais onde chegamos? onde estamos? temos reuso? a resposta é:
    bem pouco, chamar métodos, como é feito hoje (em qquer linguagem) isso já existia em qualquer linguagem antiga, passava-se parâmetros e se chamava funções/sections no Cobol/procedures/etc no fundo é tudo a mesma coisa, acaba gerando milhões de linhas e não tem reuso de funcionalidades, os sistemas atuais sejam em Java, Delphi, etc ESTÃO ASSIM, vou repetir NÃO TEM REUSO DE CÓDIGO e só a herança é que possibilita a reusabilidade de código, mas atualmente o conceito se perdeu, não é ensinado por nenhuma faculdade no Brasil, o próprio pai do Java desaconselha a herança e o assunto foi deixado de lado, mas não deveria ser assim.
    Sim, herança visual é usada em frameworks/componentes, mas também pode e deve ser usada na sintaxe/semântica da linguagem
    para encapsular funcionalidades e poder ser herdado de forma visual, aumentando e muito a reusabilidade de código.

Mais um vez tenho que discordar…tudo que vc citou até aqui são questões arquiteturais e não recursos de sintaxe/semântica ou plataforma.
Vc pode pegar a linguagem e plataforma que vc quiser…se a arquitetura projetada estiver inflexível…não tem milagre nenhum que faça a coisa acontecer…
Bom final de semana…

G

javablue:
Herança visual é herança de tela? É isso que faz tua linguagem ser tão absurda? Nossa hein…

Essa tua linguagem que você não quer falar o nome se chama Delphi. Delphi tem seus usos e é muito legal.

Mas não é ela que vai matar o java.

Cara, quando você fala Java, vc quer dizer Eclipse né? (um bloco de notas NÃO RAD e free por enquanto), cai na real cara, acorda, precisa matar uma coisa que já nasceu morta? JAVA NÃO É RAD, mas precisa ser RAD? claro que precisa ou então vamos escrever tudo em C++ porque é isso que Java é , um C++ com coletor de lixo na memória. Rapid Application Development significa que você programa com a tecnologia de componentes visuais, arrastando componentes visuais para um Form sim e o que tem de errado nisso?, pára de endeusar uma IDE (Eclipse) e o pouco de Netbeans que usam por aí , porque essa tecnologia tá a anos-luz de distância de ser algo produtivo e você fica aí perdendo tempo na vida achando que sabe alguma coisa, ah e não esqueça aprenda uma linguagem RAD.

P

gadriano:
javablue:
Herança visual é herança de tela? É isso que faz tua linguagem ser tão absurda? Nossa hein…

Essa tua linguagem que você não quer falar o nome se chama Delphi. Delphi tem seus usos e é muito legal.

Mas não é ela que vai matar o java.

Cara, quando você fala Java, vc quer dizer Eclipse né? (um bloco de notas NÃO RAD e free por enquanto), cai na real cara, acorda, precisa matar uma coisa que já nasceu morta? JAVA NÃO É RAD, mas precisa ser RAD? claro que precisa ou então vamos escrever tudo em C++ porque é isso que Java é , um C++ com coletor de lixo na memória. Rapid Application Development significa que você programa com a tecnologia de componentes visuais, arrastando componentes visuais para um Form sim e o que tem de errado nisso?, pára de endeusar uma IDE (Eclipse) e o pouco de Netbeans que usam por aí , porque essa tecnologia tá a anos-luz de distância de ser algo produtivo e você fica aí perdendo tempo na vida achando que sabe alguma coisa, ah e não esqueça aprenda uma linguagem RAD.

Meu deus quanto ódio nesse coração!!

ashauhsuahushauhsuahusha

Só uma coisa o cara que vc citou não disse nada sobre o eclipse nem netbeans!

J

gadriano:
javablue:
Herança visual é herança de tela? É isso que faz tua linguagem ser tão absurda? Nossa hein…

Essa tua linguagem que você não quer falar o nome se chama Delphi. Delphi tem seus usos e é muito legal.

Mas não é ela que vai matar o java.

Cara, quando você fala Java, vc quer dizer Eclipse né? (um bloco de notas NÃO RAD e free por enquanto), cai na real cara, acorda, precisa matar uma coisa que já nasceu morta? JAVA NÃO É RAD, mas precisa ser RAD? claro que precisa ou então vamos escrever tudo em C++ porque é isso que Java é , um C++ com coletor de lixo na memória. Rapid Application Development significa que você programa com a tecnologia de componentes visuais, arrastando componentes visuais para um Form sim e o que tem de errado nisso?, pára de endeusar uma IDE (Eclipse) e o pouco de Netbeans que usam por aí , porque essa tecnologia tá a anos-luz de distância de ser algo produtivo e você fica aí perdendo tempo na vida achando que sabe alguma coisa, ah e não esqueça aprenda uma linguagem RAD.

Quando eu endeusei uma IDE? :shock: Cara, você tá começando a ficar paranóico. Rs

Java nasceu morto? Po, até pra quem tá morto ele é beeem utilizado, aliás muito mais que o seu amado Delphi :smiley:

Não tem porque discutir com alguém que se acha acima dos outros e fala que o mundo e o mercado, usam uma tecnologia morta.

Seja feliz cara, ignore Java e ganhe seu dinheiro. Que eu ganho o meu como eu quero. :smiley:

F

Eu só me lembro do JavaForever vendo a discussão ai kkkkkkkkkkkkkkkkkkk


:lol: :lol: :lol: :lol:

G

Bom, a verdade sempre dói, mas eu não uso tecnologia ruim não, ah posso ser paranóico mas não sou maria-vai-com-as-outras como você, mas se você prefere escrever muitas linhas com a tecnologia obsoleta/morta então tá né, fazer o que?

G

Ah … e quanto a Java ser mais utilizado do que Delphi, vai me dizer que você acreditou nessa mentira, essa tua afirmação é baseada em que? em estatísticas de utilização de linguagem baseada em número de acessos à páginas de busca? ha ha ha … cara isso não mostra nada, não prova nada, não mede nada … quer saber? quanto mais a palavra JAVA é digitada nas buscas, sabe o que eu acho? é porque é tão confusa a linguagem que os programadores precisam de muitos acessos pra tentar entender alguma coisa dessa linguagem absurda, ah … e outra coisa, como Java não tem componentes, nem é orientada à objeto, porque OO tá no componente ou você não sabia disso? então nem OO Java é, mas continue acreditando em tudo que os norte-americanos falam e divulgam por aí!!! então pra você Java é a maravilha porque é só isso que você sabe, e não vou mais discutir com você!!!

J

Pronto esta frase acabou a discussão.

J

gadriano:
javablue:

Quando eu endeusei uma IDE? :shock: Cara, você tá começando a ficar paranóico. Rs

Java nasceu morto? Po, até pra quem tá morto ele é beeem utilizado, aliás muito mais que o seu amado Delphi :smiley:

Não tem porque discutir com alguém que se acha acima dos outros e fala que o mundo e o mercado, usam uma tecnologia morta.

Seja feliz cara, ignore Java e ganhe seu dinheiro. Que eu ganho o meu como eu quero. :smiley:

Ah … e quanto a Java ser mais utilizado do que Delphi, vai me dizer que você acreditou nessa mentira, essa tua afirmação é baseada em que? em estatísticas de utilização de linguagem baseada em número de acessos à páginas de busca? ha ha ha … cara isso não mostra nada, não prova nada, não mede nada … quer saber? quanto mais a palavra JAVA é digitada nas buscas, sabe o que eu acho? é porque é tão confusa a linguagem que os programadores precisam de muitos acessos pra tentar entender alguma coisa dessa linguagem absurda, ah … e outra coisa, como Java não tem componentes, nem é orientada à objeto, porque OO tá no componente ou você não sabia disso? então nem OO Java é, mas continue acreditando em tudo que os norte-americanos falam e divulgam por aí!!! então pra você Java é a maravilha porque é só isso que você sabe, e não vou mais discutir com você!!!

E você acha que tudo o Delphi é maravilha, por que você só sabe isso? Cara, você tem problema…e não é pelo fato de não gostar de java, e sim achar que só você está certo o tempo todo. Ê ego gigante hein? Você programa melhor do que todo mundo, programa a melhor linguagem, tem o melhor carro e a mulher mais gata é isso?

Fala sério viu…cada troll.

Criado 1 de setembro de 2010
Ultima resposta 17 de ago. de 2011
Respostas 50
Participantes 23