JornalJava

Sobre Java, o Universo e Tudo Mais

Comparação de Plataformas de Desenvolvimento WEB

Posted by Michel Lourenço 4 Comments

Todos nós já vimos/ouvimos diálogos como esse:

“FanBoy 1: Java é melhor!

FanBoy 2: Não, PHP é a melhor!

FanBoy 3: Nananinanão .NET é melhor!”

Uns falam que não da para comparar porque Java é uma linguagem e não uma plataforma como .NET, já outros que PHP foi feito pensando especificamente no desenvolvimento web enquanto o Java é mais genérico.

Não seria bom alguém montar uma plataforma para cada uma destas linguagens em forma de competição? Pensando nisso a FU Berlin, OSBF e a empresa de publicidade Heise organizam uma competição chamada Plat_Forms.

Esta competição já teve um ciclo em 2007 e está rolando um agora em 2011, na sua primeira versão bateram ponto as linguagens Java, Perl e PHP, já neste último evento entraram no circuito as linguagens Ruby e Javascript-On-The-Server.

Conforme a organização, o propósito desta competição não é determinar “A” melhor plataforma de desenvolvimento, mas sim para fornecer novos insights sobre o real (e não pretenso) prós, os contras e as propriedades emergentes de cada plataforma. Uma avaliação que analisa vários aspectos de cada solução, tanto externas (usabilidade, funcionalidade, confiabilidade, desempenho, segurança, etc) e internos (estrutura, modularidade, compreensibilidade, flexibilidade, etc.).

Resumidamente é uma competição onde equipes de alto nível de três programadores se juntam para implementar os mesmos requisitos para um sistema web dentro de dois dias, utilizando diferentes plataformas tecnológicas (por exemplo, Java,. NET, Perl, PHP, Python, Ruby, Scala, Smalltalk, JavaScript ou qualquer outra).

A avaliação do que cada equipe implementou é tão séria que eles levam em torno de seis meses para emitir um resultado, e para se ter uma idéia, os resultados de 2007 geraram 11 capítulos de um relatório detalhado.

Nessa avaliação de 2007 tiveram vários times de cada plataforma e para surpresa geral, no quesito quantidade de requisitos de GUI atendidos um time de Java ganhou de todos, em contrapartida outros dois da mesma plataforma ficaram em penúltimo e último, três times de PHP ficaram praticamente empatados em segundo lugar. A surpresa se deu porque linguagens de script como PHP e Perl tendem a sem extremamente mais produtivas, especialmente para pequenas tarefas, pese que o time de Java ganhador utilizou um framework comercial, diferente de todos os outros times(Java incluso) que optaram por frameworks open-source.

Já no quesito quantidade de código gerado este mesmo time que ganhou no quesito anterior perdeu, por utilizar um framework comercial de alta abstração, a quantidade de código gerada foi enorme, conciliado a verborragia natural do Java e que pese no lado positivo que foi o time que mais implementou requisitos.

Chegamos então no quesito que trata da facilidade de manutenção do código, que não teve nenhuma surpresa, o Perl ganhou de lavada, pois o produto permitiu uma manutenção mais simples e direta, o PHP foi similar, entretanto acabou em segundo.

Finalizando o resultado de 2007 derrubou algumas crenças negativas, como:

P.: Será que a linguagem Java é sempre improdutiva?

R.: Olhando para o sucesso da equipe vencedora do primeiro quesito, ele não é.

P.: Perl é ultrapassado?

R.: Não. Ao contrário, o pequeno tamanho das soluções e sua fácil manutenção sugerem que Perl pode ser uma plataforma particularmente forte.

P.: Aplicações PHP sempre são inseguras?

R.: Não quando usado apropriadamente, como demonstrado pelos resultados obtidos.

O denominador comum: todas as plataformas permitem atingir o sucesso, mas é preciso pessoas competentes para fazer isso acontecer.

Revendo tudo que aconteceu nesta primeira competição, mal posso esperar pelo resultado da edição atual, que deve sair até o meio do ano, pena que não teve quórum de times da plataforma .NET, tá certo que sabemos que eles não iam ganhar nada mesmo, pois teríamos uma ótima base para comparar de fato .NET e Java.

Referência:
http://www.plat-forms.org/

Posts Relacionados:

About Michel Lourenço

Analista de Sistemas e escritor nas horas vagas.

4 Responses so far.

  1. saulo says:

    Vou dar minha opiniao importando a definicao de outra area que me interesso muito, a programacao neurolinguistica, conhecida como PNL.
    “PNL é tudo aquilo que te traz resultados”.
    Usando isso nesse contexto, pararia-se essa coisa de comparar banana com maçã só pq ambos são frutas.
    Que ambos sejam bem escolhidos e deem o maior prazer gustativo e ponto final.
    Ponto.

    • mario says:

      Isso aí Saulo. Td bem q tem muito desenvolvedor fruta por ai… hehehehe. Fora brincadeiras, acho q vc esta certo. Basta vc saber explorar bem a linguagem q a coisa fica produtiva e o sistema bom.

  2. Carlos Daniel de Mattos Mercer says:

    Outro ponto a considerar é o custo da hospedagem e a popularidade da linguagem na WEB. Nesse quesito pela porcentagem de hosts, pensando também no Facebook, Joomla, WordPress, Moodle e outras plataformas específicas. Me parece que o PHP acaba tendo um uso muito maior na Internet que as demais soluções.

    • fulvius says:

      Com certeza! outra coisa bacana de ver é qual a sobrevida de uma tecnologia. De nada adianta usar uma puta linguagem com ótima tecnologia se ela não vai ter suporte ou se ninguem vai dar evolução a ela!

      Uma das melhores coisas q acho no java é o amplo suporte (tanto pela comunidade opensource qto pelas emrpesas), uma organização muito parecida com w3c e oasis (q é a jcp) e o uso declarado por amazon, ebay, e google (com gwt).

      Mas melhor de td é saber se vc gosta de programar nessa linguagem e se vc tem vontade de aprender todos os aspectos da linguagem pra programar corretamente. =)


  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Popular Posts

Quer Ganhar um Livro

Para aqueles que estão acompanhando o lançamento do SO Android ...

Java x C# - Chega!!!

Estou cansado de ver comparações entre linguagens na internet, e ...

Promoção: Ganhe um

Apesar do Natal já ter passado, o JornalJava continua trazendo ...

A História da Revol

Muito se fala sobre a revolução digital e a criação ...

Mantenha seu Código

Um problema comum em quase todas as profissões que podem ...

Switch to our mobile site