Dando continuidade a esta série de artigos sobre linguagens de programação e tecnologias, o intuito desta coluna é comparar estas duas tecnologias, trazendo também maiores explicações sobre Ruby. Para maiores informações sobre PHP, acessar minha coluna Escolhendo a Linguagem: Java vs PHP.
Ruby é uma linguagem free e open source, com foco na simplicidade e na produtividade, totalmente orientada a objetos.
A primeira grande diferença entre as duas linguagens é que em Ruby tudo é objeto, enquanto o PHP possui uma série de métodos nativos e sua orientação a objetos foi desenvolvida posteriormente. Porém, as duas linguagens permitem programação procedural e scripts.
O grande atrativo do Ruby, como a própria proposta da tecnologia diz, é a grande velocidade de desenvolvimento. Normalmente, para o desenvolvimento de uma mesma funcionalidade, o Ruby precisa de menos linhas de código do que o PHP, além do código ficar mais legível.
Uma desvantagem do Ruby é a hospedagem, para aplicações que vão rodar em servidores compartilhados. Normalmente as empresas de hospedagem não apresentam um servidor Ruby como padrão no plano de hospedagem, e sim um Apache para rodar PHP. Acredito que isto ocorra porque o Ruby é bem mais novo do que o PHP. Apesar disto, o Ruby possui um plugin para ser rodado no Apache, além de possuir um servidor próprio, o Mongreo. Outra característica interessante do Ruby é que utilizando o JRuby suas aplicações podem rodar na Java Virtual Machine.
No quesito manutenabilidade, utilizando Ruby teremos um código mais legível e de mais fácil manutenção, por sua orientação a objetos. Utilizando o Rails (Ruby on Rails, framework da linguagem) este quesito ainda melhora e continua ganhando do PHP, mesmo utilizando um framework PHP como o Smarty ou PHP2Go. Porém, é possível escrever código script no Ruby, o que pode complicar sua manutenção futura.
O fator escalabilidade é o de mais difícil comparação, sendo que não consigo trazer uma informação muito precisa. O que tenho visto é que este item tem gerado longos debates e que especula-se que o Ruby apresenta maiores dificuldades para suas aplicações serem escaláveis do que o PHP. As notas no gráfico portanto serão apenas aproximações empíricas.
Apesar das duas linguagens terem mais ou menos o mesmo tempo de mercado, o Ruby acabou despontando depois, apresentando menos material disponível na internet. Uma rápida busca simples no Google pela palavra Ruby retorna cerca de 100 milhões de páginas, enquanto PHP retorna 9 bilhões. Esta não é uma étrica exata, mas pode dar uma idéia do material disponível. De acordo com desenvolvedores internos aqui da Krieser que conhecem as duas tecnologias, o PHP é um pouco mais fácil de se aprender e se sair programando do que o Ruby, que necessita o aprendizado de sua estrutura de objetos.
As duas linguagens são free e open source, porém é mais difícil se encontrar planos de hospedagem para Ruby, além de ser mais difícil de se encontrar desenvolvedores fluentes na linguagem. Assim, constatamos que o TCO do Ruby é um pouco maior do que o do PHP (a nota para este quesito é menor, portanto).
No último fator, portabilidade, o Ruby por si só pode ser utilizado no Mac, Linux e Windows. Além disto, o JRuby, que é um interpretador que gera bytecodes a partir de código Ruby, permite as aplicações rodarem em uma JVM, o que faz com que praticamente o Ruby "absorva" a portabilidade inerente do Java.
Assim, o PHP é uma linguagem mais amadurecida no mercado, com rápida velocidade de aprendizado, enquanto o Ruby é uma linguagem que está ganhando espaço em função da sua simplicidade, portabilidade e produtividade.

* Agradeço ao funcionário da Krieser Alberto de Paola pela ajuda na elaboração do texto.
Fonte: Baguete
Faça um Comentário