Java para Desktop ou WEB eis a questão?

Daniel.

Uma JVM moderna, como a Jikes RVM ou a HotSpot 1.5, funciona de forma adaptativa visando maximizar a performance do programa sendo executado. Isso pode ter significados diferentes dependendo do tempo total da aplicação.

Podemos dizer que uma JVM quer minimizar a seguinte fórmula:

Hoje o tr não afeta muito as decisões da JVM então podemos pensar nele como constante.

A client jvm assume que te não vai ser grande, então não é bom perder muito tempo compilando. Se o código ficar duas vezes mais lento mas você tiver salvo 100x em tempo de compilação (sim, pode chegar a proporções dessa grandesa) a client jvm vai estar contribuindo em diminuir o tempo total de execução.

Já a server jvm imagina que o programa vai rodar por um longo período de tempo, então gastar mais tempo fazendo profiling, especulando e compilando vai resultar em um total menor de tempo de compilação.

Moral da historia, jvms adaptativas são uma droga para se fazer benchmark por que os resultados vão ser sempre questionaveis e meio duvidosos.

A forma mais usual de se resolver isso é primeiro fazer algumas rodadas de aquecimento com a JVM antes de rodar o teste para valer. Isso com -Xbatch, para desligar background compilation.

A explicação mais obvia da performance ruim da server JVM é que ela se propos a fazer otimizações mais agressivas no código e isso resultou em um tempo total pior que o da client JVM.

Quando ao teste em C postado no outro forum, falho, inocente. Não fala dos parâmetros usados com a jvm e o compilador C, tão pouco das versões. O gcc em modo normal (para debug) gera código muito lerdo.

[quote=Luca]Olá

Há uma restrição adicional que é a interdependência dos pacotes. Quando um pacotes depende de vários outros, o instalador precisaria ser inteligente o bastante para perceber isto e ir baixando e instalando na ordem certa. Não tenho a menor idéia sobre como esta informação poderia chegar ao instalador.

[]s
Luca[/quote]
Olá para você, tembém! :wink:

Não queria chegar nas dependências ainda (mesmo porque acho que esta minha discussão dentro deste tópico não vai se estender muito), mas já que você tocou no assunto…

Acho que faltou dizer que eu estou pensando no modelo utilizado por alguns novos sistemas de instalação de pacotes, sobretudo os baseados em instalação a partir do código-fonte: um conjunto de shell scripts individuais com informações específicas para cada pacote (suas dependências, endereços para download dos arquivos, comandos necessários para a instalação/desinstalação, etc.) e um programa central que faça o trabalho duro (resolução de dependências, gerenciamento dos downloads, etc.). O programa central obteria as informações necessárias a partir dos scripts, calcularia as dependências, faria o download dos arquivos e, ao proceder com a instalação, invocaria os scripts, deixando que estes se encarreguem de executar os comandos necessários junto ao SO.

Quando eu questiono a viabilidade/vantagem (na verdade, estou mais preocupado com a viabilidade do que com as vantagens) de se implementar um instalador em Java, é a este programa central que eu me refiro.

Está mais claro, agora?

Todo sistema de instalação de software supoe que exista um DAG de dependencia entre os pacotes. Este grafo todos os vértices possuem cores, uma para instalado e outra para não instalado.

Para saber quais pacotes, e qual ordem seguir, ao instalar o pacote P, o sw deve calcular no grafo a árvore com raiz em P com os pacotes não instalados. O passo seguinte é o de instalação, que funciona da seguinte forma:

Simples assim.

Eu nunca vi uma descricao tao complicada pra algo tao simples… talvez eu nao esteja lendo livros teoricos o suficiente :mrgreen:

[quote=ricavalim] Pessoal, vocês já repararam como cada vez mais estão levando o Java para o lado WEB ao invés de desktop?
Pode perceber, nas 3 últimas Java Magazine os assuntos de capas foram algo relacionado a WEB.
Para todas as pessoas que não conhecem Java, logo dizem: "Java é igual PHP (credo :x ) pra faze coisas para WEB né???

Precisamos mudar isso galera… Como podemos começar???

Forte Abraço a todos[/quote]

Começando a tirar estes .java ridiculos das URLs do forum que todo mundo sabe que é em PHP. Ou admite que é PHP ou muda pra java.

Que tal JavaBB ?

http://info.abril.com.br/professional/desenvolvimento/uol-troca-phpbb-pelo-javabb.shtml

Desculpem o mau jeito, mas esses .java estavam me irritando, e agora eu explodi… Não consigo imaginar um forum serio e respeitado de java como este renomeando .php por .java pra nao ser zuado.

abraços a todos e mais uma vez perdoe a franqueza

Cara, esse papo de que java é lento é coisa antiga…
Hoje em dia existem diversos produtos desktop em java que rodam muito bem e apresentam boa performance

Era lento sim, o netbeans por exemplo
quando eu rodava no meu k6-II 500 em 2002

[quote=dohko]Cara, esse papo de que java é lento é coisa antiga…
Hoje em dia existem diversos produtos desktop em java que rodam muito bem e apresentam boa performance

Era lento sim, o netbeans por exemplo
quando eu rodava no meu k6-II 500 em 2002[/quote]

Até mesmo em máquinas menos parrudas. experimenta remover uma pá de plugins desnecessarios que ele fica levin levin.

Sobre a lentidão de Java, tem esse artigo pra ler.

O melhor toolkit gráfico que eu conheço é o Swing. Sinceramente, é a melhor plataforma que conheço para se programar aplicações desktop (tente programar usando MFC que você vai entender nítidamente o que estou dizendo).

As queixas que já vi relacionadas à lentidão normalmente se devia ou a má programação ou a códigos que realmente eram pesados. No entanto, há outras alternativas também, como por exemplo o SWT, que é nativo.

No caso do SWT, no entanto, ele só iria comprovar a própria incompetência do reclamante, pois seria código nativo, sendo executado como interface para código java,que geraria código igualmente lento.

[quote=ricavalim]

Cara pra falar para VBzeros é cruél pois eles estão acostumados com Wizards e tudo mais.

Tenho um colega VBzero que foi usar o Netbeans e achou “java ruim” pois ele “foi colocar um botão na janela e ele tomou o a janela inteira”…Eu mereço mesmo… :lol:

A Paz!![/quote]

Já trabalhei com pessoas fanáticas pela M$ e é muito complicado convercê-las de que Java é uma ótima linguagem
Alegam que o “arrastar e soltar” é fantástico… :lol:
As pessoas ficam tão mal acostumadas que quando eu perguntava sobre o código
falavam : “Ahh, nem sei, eu arrastei e ficou assim”…
Deve ser maravilhoso quando dá um bug, se mal entendem o código, imagina como iriam achar o erro ? :lol:

Não abro mão, Java é Java…Java é a melhor linguagem na minha opinião…

Abraços

Eu acho Java pra desktop razoável. Não acho “The Best”.

[quote=carlos.macleod][quote=ricavalim] Pessoal, vocês já repararam como cada vez mais estão levando o Java para o lado WEB ao invés de desktop?
Pode perceber, nas 3 últimas Java Magazine os assuntos de capas foram algo relacionado a WEB.
Para todas as pessoas que não conhecem Java, logo dizem: "Java é igual PHP (credo :x ) pra faze coisas para WEB né???

Precisamos mudar isso galera… Como podemos começar???

Forte Abraço a todos[/quote]

Começando a tirar estes .java ridiculos das URLs do forum que todo mundo sabe que é em PHP. Ou admite que é PHP ou muda pra java.

Que tal JavaBB ?

http://info.abril.com.br/professional/desenvolvimento/uol-troca-phpbb-pelo-javabb.shtml

Desculpem o mau jeito, mas esses .java estavam me irritando, e agora eu explodi… Não consigo imaginar um forum serio e respeitado de java como este renomeando .php por .java pra nao ser zuado.

abraços a todos e mais uma vez perdoe a franqueza[/quote]

PHP? GUJ em PHP? :shock:

Desculpe-me mas desta vez não da pra deixar passar batido. Da uma olhada no rodapé da página e leia a parte onde diz Powered by JForum. Acho melhor você se informar amigo.

"

o_O

"

[quote=carlos.macleod]Começando a tirar estes .java ridiculos das URLs do forum que todo mundo sabe que é em PHP. Ou admite que é PHP ou muda pra java.

Que tal JavaBB ?

http://info.abril.com.br/professional/desenvolvimento/uol-troca-phpbb-pelo-javabb.shtml
[/quote]

http://info.abril.com.br/professional/desenvolvimento/forum-do-uol-games-escorrega-c.shtml

Essa foi a coisa mais engraçada que eu já vi na vida. Não sei exatamente o que aconteceu, porque ambas as partes, o UOL e o desenvolvedor do JavaBB, não explicaram. Mas tudo deu errado. Em primeiro lugar o JavaBB não agüentou o tranco, e isso pode ser por várias razões além do código em si. Em segundo lugar é bem pobre de recursos. E por último o negócio é bugado!

A seqüência de acontecimentos foi realmente cômica. O UOL trocou o PHPBB pelo JavaBB e deram uma reportagem à Info dizendo que era um sucesso e o pior, o criador apareceu em uma foto dizendo que “Java é seguro, estável e de fácil manutenção”. O problema é o fórum tem vários problemas, como por exemplo você conseguir logar com a conta de outra pessoa. Depois alguém encontrou ele em um blog se gabando do seu trabalho… Pronto, era o que faltava para transformá-lo em Judas.

Nossa cara, pegaram a foto do cara e zoaram muito. Fizeram várias montagens com ele dizendo “Java é seguro, estável e de fácil manutenção”. Dá uma olhada lá nas threads, ele já é lenda na internet.

Coitado do cara, nem sei se a culpa é dele e provavelmente ele não foi o único desenvolvedor a trabalhar nisso, mas nunca ri tanto na minha vida sobre posts em um forum da internet. Existe uma thread lá só com montagens de fotos com ele (pegaram até foto do Orkut dele) e da última vez que eu vi estava com 20 e poucas páginas.

O pessoal da equipe do UOL também deve estar desejando o mal do cara, porque não tiraram nenhuma das fotos e nem sequer editaram nada. Acho que eles querem jogar a culpa no profissional e tirar o c* da chefia do UOL da reta.

EDIT: a julgar pela quantidade de reclamações dos usuários de lá sobre recursos que estão faltando, o PHPBB tem muitos fãs na internet.