"Java não tem performace"  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
moacirjava
Virtual Machine Man
[Avatar]

Membro desde: 11/01/2008 11:31:08
Mensagens: 658
Localização: Minas Gerais
Offline

O título do tópico foi a seguinte frase de um cara que me entrevistou numa empresa. Depois de ter gasto uma grana com uma equipe de desenvolvedores Java para um projeto que durou 6 meses e que não teve êxito o diretor de ti da empresa decidiu "matar" a equipe e voltaram para o desenvolvimento em Delphi.

Depois disso fiquei pensando, Java para desktop pode até ser pesado (acho) mas para web ele é tão bem cotado, existem vários sistemas de banco e do governo desenvolvidos em Java, eu particularmente ADORO Java.
Já percebi também que, aqueles que mais "chegam o reio" em outras linguagens são porque não tem muito conhecimento dela e sempre acabam puxando a sardinha pro seu lado.

Comparando C#.Net e Java são parecidíssimas!! Até as classes de conexão com banco são praticamente iguais e já me disseram que C#.Net abstraiu toda a funcionalidade boa de Java.

Por que esse povo que não sabe muito bem Java fala tão mal de Java?
Java para desktop é mesmo pesadão?
E para Web?

"Para conseguir algo que você nunca teve, precisa fazer algo que nunca fez."

Analista de Sistemas.
SCJP 5


g4j
GUJ Ranger
[Avatar]

Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline

moacirjava wrote:
Por que esse povo que não sabe muito bem Java fala tão mal de Java?

Provavelmente nunca conseguiu aprender a programar (PROGRAMAR de verdade) em java.

moacirjava wrote:
Java para desktop é mesmo pesadão?

Vide a primeira resposta.

moacirjava wrote:
E para Web?

Vide a primeira resposta.

Isso não é problema com o java, mas sim com a capacidade do programador. Se o cara for ruim, pode fazer de uma funcionalidade simples um monstro...



Gerson Luiz Chagas

SCJP 5.0
SCWCD 5.0

m4rkk
JavaBaby

Membro desde: 07/11/2008 08:16:29
Mensagens: 88
Offline

Para as maquinas de hoje, que tem no minimo 1gb de ram e outras coisas... java não é pesado.
mas se for usar uma maquina de 5 anos átras aí sim ele pode se tornar pessado..

Developer
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

moacirjava wrote:Por que esse povo que não sabe muito bem Java fala tão mal de Java?

Porque Java pra Desktop era ruim. Podem me ignorar ou falar que estou errado, mas antes era lento e não tem nada que me faça pensar o contrário. Me desculpem a grosseria, mas já vi muita gente comentando que não é lento, que é só saber programar direito, mas ainda assim não me convenci.
Hoje é um pouco diferente... Ocorreram algumas alterações no Java 6 Update 10 (se não me engano, e no 7 está para melhorar mais ainda) que melhoraram a performance, então é bem provável que as coisas comecem a melhorar pro lado do Swing. Mas assim... Acho que Delphi é bem produtivo também, as vezes até mais que Java quando se trata de botõezinhos e caixinhas e formulários pra sistemas Desktop.

Sobre o Java 7, não lembro direito onde que li isso, mas ele vai ser quase 50% mais rápido que o Java 6. O Java 6, quando comparado ao 5, foi um pouco menos que 20% mais rápido. Acho que de uns tempos pra cá as coisas podem melhorar pro Java pra Desktop, quando Swing é usado. Eu, particularmente, já vi uma boa melhora na velocidade de aplicações Swing.

Dá uma procurada por Java 7 Performance. Devem ter vários artigos bem interessantes sobre esse tipo de coisa.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
moacirjava
Virtual Machine Man
[Avatar]

Membro desde: 11/01/2008 11:31:08
Mensagens: 658
Localização: Minas Gerais
Offline

E para Web de 0 a 10 Java se enquadra em que nível?

"Para conseguir algo que você nunca teve, precisa fazer algo que nunca fez."

Analista de Sistemas.
SCJP 5


r4it0.light
Debugger

Membro desde: 10/11/2009 20:34:01
Mensagens: 62
Offline

Alguém aqui vai desenvolver sistemas de tempo real se sim então JAVA é lento.


Vá estuda C mas C puro onde entra orientação a objeto já começa a fica lento.

Boa sorte com os controles de estoque em tempo real

Quem é o Juiz ?
marcosalex
GUJ Expert
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline

Pra desktop, tem existe o tempo de carregar a máquina virtual e mesmo as versões atuais consomem mais memória e são mais lentas que um aplicativo nativo, como o Delphi.

Pra Web a situação inverte, os aplicativos em Delphi são muito mais pesados e não tem a mesma performance, além dos programas ficarem grandes e gerarem muito tráfego de rede.

Mas mesmo pra desktop, existe o ganho de segurança e estabilidade que acredito compensarem o uso de Java. Uma aplicação em Java pode até demorar um pouco mais pra ser feita e precisar de um profissional com um pouco mais de conhecimento, mas em compensação é muito mais produtivo de dar manutenção. Dependendo da aplicação, isso faz toda a diferença.

E pra máquinas atuais, principalmente as que irão rodar esse tipo de aplicações, o processamento e memória dão e sobra. Se você tem 1 Gb de RAM e vai rodar só a sua aplicação de PDV, que diferença faz se o sistema vai precisar de 2 Mb ou de 12 Mb?
[Yahoo!] aim icon [ICQ]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

moacirjava wrote:Depois de ter gasto uma grana com uma equipe de desenvolvedores Java para um projeto que durou 6 meses e que não teve êxito o diretor de ti da empresa decidiu "matar" a equipe e voltaram para o desenvolvimento em Delphi.


Provavelmente não era uma equipe com conhecimento suficiente ou não tinha um lider para alinhar as coisas.

O que eu quero dizer é que Delphi é mais produtivo porque você consegue fazer uma tela em instantes. Mas, por exemplo, se for um sistema grande que necessite de portabilidade e escalabilidade, talvez Delphi não seja a melhor opção. Já em outros casos, pode ser bacana. Tudo depende do que o usuário deseja e quanto preparada está sua equipe.

Já sobre performance, há muito tempo isso vem sendo discutido. Segundo alguns testes, por Java usar o JIT (http://pt.wikipedia.org/wiki/JIT), depois de um certo tempo de execução, a performance chega a ser muito próxima a C++. Ou seja, performance não pode ser usada como desculpa para não usar Java.

This message was edited 2 times. Last update was at 15/02/2010 13:30:57

marcosalex
GUJ Expert
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline

pozzo wrote:

Já sobre performance, há muito tempo isso vem sendo discutido. Segundo alguns testes, por Java usar o JIT (http://pt.wikipedia.org/wiki/JIT), depois de um certo tempo de execução, a performance chega a ser muito próxima a C++.


O problema é você esperar esse "algum tempo de execução". Pra rotinas repetitivas, esse argumento talvez seja válido, mas caso contrário tem perda de performance mesmo. Só que pras máquinas de hoje não faz tanta diferença sua máquina levar 2 segundos ou 3 segundos pra realizar a tarefa.
[Yahoo!] aim icon [ICQ]
r4it0.light
Debugger

Membro desde: 10/11/2009 20:34:01
Mensagens: 62
Offline

desisti de argumentar ..

This message was edited 1 time. Last update was at 15/02/2010 17:59:56


Quem é o Juiz ?
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

marcosalex wrote:
pozzo wrote:

Já sobre performance, há muito tempo isso vem sendo discutido. Segundo alguns testes, por Java usar o JIT (http://pt.wikipedia.org/wiki/JIT), depois de um certo tempo de execução, a performance chega a ser muito próxima a C++.


O problema é você esperar esse "algum tempo de execução". Pra rotinas repetitivas, esse argumento talvez seja válido, mas caso contrário tem perda de performance mesmo. Só que pras máquinas de hoje não faz tanta diferença sua máquina levar 2 segundos ou 3 segundos pra realizar a tarefa.


Fala Marcos. Bom, pesquisando melhor, encontrei um post de um colega meu que testou o "certo tempo" que me referi, e parece ser bem mais curto do que pensei. Veja e me diga o que você acha sobre isso:

http://celodemelo.wordpress.com/2007/10/11/jvm-portabilidade-e-desempenho/

This message was edited 1 time. Last update was at 15/02/2010 18:45:38

marcosalex
GUJ Expert
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline

Esse exemplo é um caso de loop ou recursão, onde realmente o JIT ajuda. Mas em casos onde não há loop ou rotina chamada mais de uma vez, não há tanto ganho.


Daí vai pela média de repetições que cada programa tem.
[Yahoo!] aim icon [ICQ]
r4it0.light
Debugger

Membro desde: 10/11/2009 20:34:01
Mensagens: 62
Offline

marcosalex wrote:Esse exemplo é um caso de loop ou recursão, onde realmente o JIT ajuda. Mas em casos onde não há loop ou rotina chamada mais de uma vez, não há tanto ganho.


Daí vai pela média de repetições que cada programa tem.


Como ?

Então qual o teste que você sugere para performance ?

Não entendi mesmo.


[]`s


Quem é o Juiz ?
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline

Eu já vi algumas aplicações C++ serem substituídas por aplicações Java, ambas de desktop. O Java tem boas ferramentas de profiling, coisa que você não encontra por aí em qualquer lugar. Agora, o que é performance para ele? Se for rodar em uma máquina muito tabajara, realmente, o Java é pior que o Delphi.

Os maiores problemas do Java, na minha opinião, ainda são o consumo de memória e o fato do Swing ser uma API pesada. Acho que ele seria pesado em qualquer lugar que fosse implementado, pois ele suporta múltiplos look&feel e faz a renderização de tudo usando a API de desenho do SO, não a API de componentes nativos. Por outro lado, ele é extremamente poderoso e personalizável, coisa que o Delphi não é.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
r4it0.light
Debugger

Membro desde: 10/11/2009 20:34:01
Mensagens: 62
Offline

Outra coisa que vale lembrar que o unico rival para o Java hj é o C#, que por sinal tem um framework para jogos sensacional o famoso XNA.

Claro tem o C e C++ mas dai o foco dessas linguagens é outro.

Com relação a Ruby, Python, Php e as demais, realmente elas não me agradam.

Comprei um livro de Rails mas acabei deixando ele de lado.


[]`s

This message was edited 3 times. Last update was at 16/02/2010 00:34:23


Quem é o Juiz ?
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team