sexta-feira, 13 de janeiro de 2012

Principais diferenças entre PHP e JAVA

Diferenças mitológicas e reais sobre PHP e JAVA

    Minha comparação é até OO, ou seja, classes e interfaces... algumas críticas duras ao PHP me fez estudar um pouco o JAVA e entender que algumas das inverdades realmente são inverdades.

    Podemos começar pela ideologia de cada linguagem, o PHP foi criado com um propósito visionário totalmente diferente do JAVA, contudo o PHP na sua versão 4 começou a  engatilhar em OO, e deu um grande salto em sua versão 5.1.

    Entre as principais diferenças entre essas posso pontuar que:

- PORTABILIDADE - O Java tem a portabilidade de S.O. e interface(web, desktop,...) usando a JVM, servidores, isso acho fantástico, O PHP por sua ver precisa apenas do Apache ou IIS instalado em qualquer S.O. isso também é portabilidade, mas, não podemos esquecer que o PHP foi feito para WEB e não para interagir com múltiplas interfaces. O PHP é mais específico e o JAVA mais abrangente.

- ORIENTAÇÃO A OBJETOS - PHP não é OO, sinceramente isso não é um comentário de quem conhece PHP. Primeiro o conceito de OO é independente de linguagem, e PHP corresponde a implementação desse conceito, usando visibilidade, métodos e classes abstratas e final, a forma de sobrecarga e sobrescrito muda um pouco. Mas a implementação segue a risca, diria que 90% da sintaxe e semântica são idênticas.

- TIPAGEM - Sim, acredito que esse é um dos fatores mais fortes para desconfiança do PHP, pois o mesmo só aceita tipagem para tipos do grupo composto(array e objeto) na passagem de parâmetros. O Java tipa até o ar que você respira, ele tem uma abordagem bem curiosa e customizada sobre memória, sem contar também do garbage collector que ambas linguagens implementam!

- DEBUG - O Java por sua vez conta com um debug instalado no eclipse excepsional, tenho certeza que isso impacta no tempo de desenvolvimento, pois ele mapeia qualquer mudança que possa dar erro e mais, ele aponta a solução. No PHP você até tem o debug mas prefiro usar o velho die(var_dump(...));, velhos habitos precisam mudar...

Daqui pra frente vamos comentar usando ambas as linguagens!

Nenhum comentário:

Postar um comentário