Seria Ruby on Rails uma lavagem cerebral?
Atenção: Essa é a minha opinião baseada em fatos apresentados nos links. Se você tem uma opinião diferente, sinta-se à vontade para comentar, estou sempre aberto a novas opiniões!
Alguns fatos sobre PHP e Ruby:
- PHP carrega nas costas quase 10 anos de experiência.
- Ruby tem sérios problemas de escalabilidade.
- Construir um blog simples em Rails demora 15 minutos. Instalar o melhor sistema de blogs já criado (feito em PHP) demora 5 minutos.
- Comparar o Rails diretamente com o PHP é injusto, já que o primeiro é um framework e o segundo uma linguagem.
- Existem diversos frameworks para PHP similares ao Rails.
- A melhor documentação de uma linguagem web é do PHP, contando com detalhes e comentários ricos em praticamente todas as funções e estruturas de linguagem.
- PHP é uma linguagem um pouco confusa pela quantidade de símbolos.
- Wikipedia, del.icio.us, Flickr, Kelkoo, Digg e muitos outros serviços online dessa nova geração usam PHP.
- LAMP ainda é a alternativa mais barata para construir um site. Vários itens nessa lista também indicam que é além de barata, uma das mais eficientes.
- Existem funções demais no PHP e falta de padronização nos nomes.
- O PHP mantém um repositório semelhante ao apt-get, chamado PEAR. É possível conseguir código pra quase qualquer coisa por lá, automaticamente.
- Existem alguns bugs no PHP, no entanto é fácil identificar e evitar os mesmos com uma simples busca no Google.
- A comunidade PHP fornece, de graça, praticamente qualquer tipo de biblioteca necessária.
- É um mito que PHP é um código de difícil manutenção, isso é passado desde a orientação a objetos.
- PHP come Ruby no café da manhã.
- Ruby on Rails é mais divertido de programar, mas só é mais rápido pra programadores iniciantes.
Ruby exige menos linhas de código? é mais intuitivo? Nem sempre.
Alguns exemplos:
Exibir itens de uma array em Ruby:
<%
array = ['lista', 'de', 'itens']
array.each_with_index { |item, index| p “#{index}. #{item}” }
%>
Olha a leitura de nível desse código: “array com cada índice (item índice mostra índice item)”. Fácil de entender? Não pra mim.
Exibir itens de uma array em PHP:
<?
$array = array('lista', 'de', 'itens');
foreach ($array as $index => $item) { echo "$index. $item"; }
?>
Leitura de nível do mesmo código em PHP: “para cada array como indice => item (mostra índice item)”.
Eu prefiro PHP!
*Foto no artigo por Marcelo Gerpe.


27/4/2007 às 6:03 am
Eu estou com o PHP a anos e adoro programar em PHP, tanto estruturado quanto recentemente orientado a objetos, confesso que Rails me dispertou algo que não sentia a tempos, a mesma coisa que senti pelo PHp quando descobri, em breve estarei começando meus estudos com Rails e poderei tirar minhas conclusões, mas PHP não largo
27/4/2007 às 9:21 am
Ótimo post, pensei que era o unico a pensar dessa forma, apesar de ainda não conhecer muito de Rails, já vi o que o framework pode fazer, e sinceramente por enquanto prefiro PHP, esse eu sei que não vai me deixar na mão por falta de documentação e escalabilidade.
27/4/2007 às 11:22 am
Olá,
Tudo bem?
Sobre ao seu artigo, não captei a mensagem que você quis passar. Essa sua comparação de PHP com RoR, onde você deixou muitas vantagens e desvantagem de lado. O fato de alguns (a maioria..?!) dos grandes sites 2.0 ser desenvolvido com PHP (ou o que for) não quer dizer que é melhor do que outras.
Estou falando isso, porque também já programei em PHP, e quando chega um tecnologia que está se repercutindo a tendência e sempre ficar do lado da nossa. A um tempo atrás tive esse mesmo pensamento, mas vi que é muito diferente, existem N fatores para você escolher uma linguagem para trabalhar. Aprendi no trabalho, onde disputas como essa acontecem direto.
O PHP é uma ótima linguagem, sei disso, mas estão vindo linguagens que irá substituir ela e outras (http://www.tiobe.com/tpci.htm).
Não entendi porque a documentação PHP é melhor que as outras.
Rails tem apenas 3 anos, mas Ruby tem a mesma idade do PHP, porem não fez tanto sucesso (está começando agora, o motivo disso….ai é outros 500), mas nem por isso que dizer que é melhor.
Ah…e há uma diferença muito grande em desenvolver e cadastrar (um blog). Falar mal é fácil, porque não mostra um framework em PHP que desenvolver um Blog (simples) em 15 mim.
att.
27/4/2007 às 12:58 pm
Estevão, deixei claro no começo do artigo:
Apresentei vários fatores que me fazem acreditar que o PHP é melhor. Eu sei que criar um blog é diferente de fazer um
Mas eu não quero criar, já tem algo melhor pronto
Esses aí Estevão, são os meus “N fatores” para trabalhar com PHP ao invés de Rails. Se você tem os seus fatores, crie um post e faça um trackback pra cá
28/4/2007 às 4:58 am
Bom tendo em vista que você falou apenas de ruby, que é a linguagem utilizada no framework rails. Migrations, ActiveRecord não foram nem citadas por você, isso mostra que você foi imparcial para escrever o artigo.
outra forma das milhares de exibir um array em ruby:
# define um array
array = ['lista', 'de', 'itens']
# usa o laço for…in para acessar exibir os valores dos
# elementos do array
for elementos in array
puts nome
end
ou ainda:
# define um array
array = ['lista', 'de', 'itens']
# usa o laço for…in para acessar exibir os valores dos
# elementos do array
array.each do |elementos|
puts elementos
end
Bom, acho sua visão totalmente imparcial, as linguagens de programação não estão competindo para ver qual é melhor, você usa a que achar melhor para resolver seu problema, a que você mais gosta.
Como deu para notar que você gosta de php tivemos aqui uma visão unilateral. Mas é seu gosto. Para mim as duas são ótimas linguagens para se aprender para web.
28/4/2007 às 4:59 am
O comentário do segundo exemplo meu está errado. =o)
28/4/2007 às 10:03 am
BIN, obrigado pelo comentário. Realmente fui parcial, expus o meu ponto de vista somente.
Não citei o ActiveRecord porque achei desnecessário.. o PHP por exemplo tem um monte de frameworks que trabalham com ele, inclusive um oficial, dos mesmos criadores do PHP, que se chama Zend Framework. O mesmo vale pra demais patterns.
Quanto aos arrays, eu estava fazendo uma comparação de nível de linguagem (o quão próxima ela está da linguagem humana), se quer algo rápido pra exibir itens (completos, com índice) de um array, no PHP, pode usar simplesmente isso:
$meuArray = array("lista", "de", "itens");
print_r($meuArray);
E também devo deixar claro que suas soluções pra arrays mostram apenas os valores, as que eu citei no artigo e essa acima também exibem os índices (0,1,2).
Abraços
29/4/2007 às 6:40 am
Cara, um ótimo artigo!
Sem contar a velocidade de processamento de scripts. No PHP Conference 2006, fizemos vários testes, comparando PHP, RoR e Python. PHP 4 ficou lá em baixo, seguido de Python, RoR, e em primeiro lugar na velocidade, o PHP 5.
Acho que o BIN que está sendo meio imparcial. As linguagens devem ser comparadas sim. Devemos sempre buscar a melhor solução para um problema. Como hoje em dia, com linguagens de programação de alto nivel, é até ridículo desenvolver aplicações utilizando Fortran, Assembly, Cobol…
Não tenho o que reclamar do PHP, documentação quase perfeita, milhões de scripts na internet, comunidade SUPER ativa e unida, sem contar as ótimas libs disponíveis.
Muito bom artigo, parabéns!
Abraço
29/8/2007 às 3:47 am
cara, eu nao gosto do rails, mas voce só pode estar de sacanagem.
vamos ao pontos :
* php tem 12 anos de estrada (e 4 “engines” diferentes). Ruby tem a mesma “idade”.
* Rails tem problemas com escalabilidade, mas é contornável.
* Comparar construir um blog com instalar um pronto é muita má vontade na hora de fazer comparação ou é burrice.
* Concordo que comparar Rails com PHP é injusto. pena que voce nao foi justo no ponto anterior.
* Os frameworks PHP similares ao rails são tentativas mal sucedidas de imitar o rails. (mal sucedidas nao quer dizer que o framework é ruim, só não consegue imitiar o rails)
* Dizer que a melhor documentação é do PHP é forçar um pouco a barra. Mas ela é infinitamente superior ao do Rails, que é uma merda.
* PHP é mesmo confuso. Mas Ruby também tem suas pegadinhas.
* E daí que esses sites usam PHP? Tem um monte de site ruim que tambem usa PHP. Tem um monte de site bom que usa Rails. Isso não diz nada.
* LAMP é mais barato que Rails por que ? O que é mais barato? O software? Hospedagem ? Desenvolvimento? E é mais eficiente em que sentido? Velocidade do site, escalabilidade, desenvolvimento, manutenção, o que ? Voce nao disse nada de concreto aqui!
* é verdade
* o ruby tem GEM
* “Existem alguns bugs no PHP, no entanto é fácil identificar e evitar os mesmos com uma simples busca no Google”. Puta que pariu agora voce abusou. Existem trocentos bugs no PHP. Mas até aí tudo bem, todo software tem bug. Mas o pior é q a equipe do PHP cagava tanto pra bugs de segurança que Stefan Esser ficou puto, saiu do PHP Security Response Team e fez o “Month of PHP bugs” pra ver se a galera tomava vergonha na cara. http://blog.php-security.org/archives/61-Retired-from-securityphp.net.html
* A comunidade ruby (e a comunidade Python, Perl, etc) tambem fornece de graça as bibliotecas. Como a comunidade PHP é absurdamente maior que a comunidade Ruby, é natural que o PHP tenha muito mais bibliotecas.
* “É um mito que PHP é um código de difícil manutenção, isso é passado desde a orientação a objetos.” Se voce acha que orientação a objetos por si só acaba com os codigos de dificil manutenção voce é muito ingenuo. Ou inexperiente. Ou ambos.
* “PHP come Ruby no café da manhã.”. Entao perai, eu devo usar PHP porque todo mundo usa? A opniao pessoal nao vale? Devo ser maria vai com as outras? Seria o PHP uma LAVAGEM CEREBRAL?
* De onde voce tirou essa asneira que rails só é mais rapido para programadores iniciantes? PQP!
“Ruby exige menos linhas de código? é mais intuitivo? Nem sempre.”
Nem sempre. Mas na maioria das vezes ruby é mais intuitivo, legivel e sucinto.
Existem casos que o PHP pode ser mais legivel que o ruby, mas o exemplo que voce deu é horrivel.
Tudo bem voce preferir PHP. Gosto muito de PHP também. Mas voce foi muito infeliz nesse artigo.
28/1/2008 às 3:09 pm
Acho que você foi infeliz na suas colocações…
“PHP carrega nas costas quase 10 anos de experiência…”
Ruby existe desde 93, porém sua pretensão nunca foi o ambiente Web, com o Rails o cenário mudou e lógico que pouquíssimas pessoas conhecem seu legado.
“Existem diversos frameworks para PHP similares ao Rails.”
Pois é justamente, mas de todos que testei são cópias mal feitas do mesmo e olha que nem sou um programador PHP experiente.
“LAMP ainda é a alternativa mais barata para construir um site. Vários itens nessa lista também indicam que é além de barata, uma das mais eficientes.”
Isso não tem justificativa nenhuma, o mesmo cenário LAMP pode ser aquedado para o Ruby on Rails.
“O PHP mantém um repositório semelhante ao apt-get, chamado PEAR”
Ahhhh vc esqueceu, existe Ruby Gems!
“A comunidade PHP fornece, de graça, praticamente qualquer tipo de biblioteca necessária.”
Alguem por favor já viu alguma biblioteca paga em Ruby? tsc, tsc….
“Ruby on Rails é mais divertido de programar, mas só é mais rápido pra programadores iniciantes.”
Realmente nesse ponto vc fala uma trementa besteira! Acredito que 70% dos “early adopters” hj que escolheram Rails são programadores veteranos! Ja tenho vários anos como programador Web, fiquei quase 5 anos no ASP 3.0 e mais uns 4 no .NET, se fosse assim, grandes nomes como Bruce Tate, Martin Fowler e tantas outras pessoas importantes no mundo corporativo, não estariam ai apostando “atoa” nessa tecnologia…
7/3/2008 às 1:00 pm
mas eu prefiro o curintia que o parmera!
24/4/2008 às 2:08 pm
Comecei recentemente a entrar no mundo do RoR, bem mais por curiosidade do que por precisão, mas estou achando bem legal esse novo universo; Na minha opinião quem faz a linguagem é a necessidade, e o programador, eu por exemplo sou apaixonado pelo bom e velho Pascal, e por pior que falem , e critiquem e digam que é uma linguagem boa apenas para aprendizagem, até hoje me serviu muito bem, e continua me servindo agora que eu vivo no reino do pinguins
Eu tb uso o PHP e agora estou migrando algumas coisas para o PHP-GTK, e vou continuar usando, não creio que minha opção em também utilizar o RoR vá mudar o meu ponto de vista em relação ao PHP ou ao Pascal, acredito que ter mais opções de ferramentas para trabalhar não pode ser de todo prejudicial, é uma questão de praticidade, e principalmente de gosto eu acho. Vamos programar, o que importa é a funcionalidade.
/)
Um abração!!!
5/9/2008 às 5:20 pm
Cara, eu pensava igual a vc…
Mas o RoR é sinistro cara…
está no começo, mas trabalhar com a idéia do AJAX é perfeito usar o RoR.
Programar para RoR é muito mais rápido.