David Hansson, criador do Rails: PHP pode ser considerado rápido e sujo

104 views
Skip to first unread message

Sandro J. S. Souza

unread,
Dec 4, 2008, 6:09:31 AM12/4/08
to ph...@googlegroups.com
Vejam a integra da entrevista dele na INFO:

O Rails é lindo!

O uso de plug-ins faz o desenvolvimento no Ruby on Rails ser tão fácil quanto a montagem de casinhas de LEGO, e os seguidores da plataforma são fanáticos que não se cansam de contar vantagem. Basicamente, essas são as duas únicas críticas de quem ainda não se rendeu às facilidades do framework criado pelo dinamarquês David Heinemeier Hansson, de 29 anos. Fenômeno de popularidade, o Rails vem ganhando espaço no campo em que o PHP, o Python e o Java reinavam absolutos por anos. Para Hansson, a explicação para essa popularidade, como você confere a seguir, é a beleza da linguagem Ruby e a filosofia de desenvolvimento do framework, que privilegia a criação rápida de aplicativos antenados com a web 2.0.

<INFO> Você começou programando em Java e PHP. Por que desistiu dessas linguagens e partiu para o Ruby?

<Hansson> Eu usava muito PHP e às vezes Java, mas nenhum dos dois ambientes realmente se encaixou na minha mente. Havia sempre alguma coisa irritante, algo que não estava certo. Achava inconveniente usar essas plataformas. É difícil especifi car quais funções fazem mais diferença, mas, no geral, o Ruby me permitiu escrever os códigos mais belos que eu já programei. Só essa razão é suficiente para mim.

<INFO> Você diz que o Rails proporciona um desenvolvimento rápido e limpo. Quer dizer que existem linguagens sujas?

<Hansson> O termo sujo significa que o código que você escreve não parece puro, elegante ou bonito. Normalmente isso também quer dizer que o programador sabe o que fez e sabe que um dia vai precisar voltar e arrumar as coisas. Mas é muito raro que esse dia realmente chegue, uma vez que você vai ser obrigado a corrigir coisas erradas que deixou para trás o tempo todo. Para mim, o PHP pode ser considerado rápido e sujo. É bem rápido fazer alguma coisa e colocá-la para funcionar e também é fácil fazer muita bagunça no meio do caminho.

<INFO> Como você compara o Ruby e o Python?

<Hansson> São linguagens similares em vários aspectos. Conheço um monte de programadores de Python e os considero de alto nível. O Ruby e o Python, no entanto, também têm suas diferenças fundamentais. Como um exemplo simples, uma das minhas partes preferidas sobre o Ruby é a habilidade de estender classes com novas funcionalidades. Isso quer dizer que você não vai precisar esperar por aquele longo processo de ter novas idéias e conceitos no centro da linguagem. Você pode fazer as coisas do seu jeito e evoluir por conta própria. Eles simplesmente não têm isso no Python. No Rails, nós basicamente criamos uma versão revisada do core do Ruby com a extensão Active Support, que embeleza a linguagem com todas as coisas que nós pensamos que ela deveria ter.

<INFO> O Ruby pode ser o sucessor do Java?

<Hansson> Na verdade, não. O Ruby fala com o coração dos programadores. O Java fala com a mente dos gerentes. Muita gente está trocando o Java pelo Ruby não porque o Ruby é melhor do que o Java. A razão é que o Ruby é uma coisa totalmente diferente.

<INFO> O Ruby começou no Japão. Isso é um obstáculo para o crescimento da linguagem? A documentação é mais escassa por causa disso, por exemplo?

<Hansson> Isso provavelmente foi uma realidade até um certo ponto, antes do lançamento do livro da picareta, em 2001 ("Programming Ruby: The Pragmatic Programmer's Guide", que ficou famoso por trazer o desenho da picareta na capa). Desde então, tivemos grande fartura na documentação disponível em inglês. Só para o Ruby on Rails já existem dúzias de livros, e não escritos apenas em inglês.

<INFO> Como foi trabalhar com o Matz (Yukihiro Matsumoto, o criador do Ruby)? Os desenvolvedores japoneses são diferentes dos outros?

<Hansson> Estive no Japão em 2006, para participar da RubyKaigi. Foi uma experiência divertida conhecer vários desenvolvedores japoneses. Já tínhamos alguns caras de lá nos ajudando com o Ruby on Rails, mas é verdade que eles têm uma conexão menor do que o ideal conosco por causa da barreira do idioma.

<INFO> Você é dinamarquês e foi para os Estados Unidos. O mercado para desenvolvedores web é muito centralizado?

<Hansson> Absolutamente não. Você pode realizar um grande trabalho onde quer que você esteja. Eu criei o Basecamp e o Ruby on Rails enquanto eu estava na Dinamarca. Porém, nunca é fácil trabalhar remotamente nem colaborar direto de outro país. Certamente é verdade que os Estados Unidos têm o maior volume de inteligência para o desenvolvimento na web. Talvez por isso tanta gente que realizou algo importante se muda para cá. Citando apenas a Dinamarca, posso falar de nomes como Rasmus Lerdorf (criador do PHP) e Anders Hejlsberg (autoridade em C#). Enfi m, mesmo com vários problemas, os Estados Unidos são um lugar incrível para que você faça as coisas acontecerem.

<INFO> Certa vez, Zed Shaw do projeto Mongrel (um servidor para Ruby) disse que a comunidade do Ruby on Rails é um gueto. Qual sua resposta para isso?

<Hansson> Desejo que o Zed fique bem, seja lá o que ele for fazer. Me sinto mal por ele. Não deve ser divertido andar por aí com tanta raiva não resolvida. Pensava que eu o conhecia melhor, mas fiquei muito decepcionado com ele e com o artigo em que diz isso.

<INFO> Você pode descrever a 37signals antes e depois do sucesso do Ruby on Rails?

<Hansson> Nossa empresa certamente se beneficiou desse fenômeno, ganhando exposição dentro da comunidade de programadores. Mas, ao mesmo tempo, a maioria de nossos clientes não é formada por programadores. Eles nem mesmo lêem blogs ou acompanham a cena tech. Por isso, esse sucesso tem sido um fator positivo, mas acredito que nós estaríamos muito bem do mesmo jeito se o Rails não tivesse dado tão certo.

<INFO> Durante o período em que o Twitter passou por problemas, chegaram a culpar o uso do Ruby on Rails pelas falhas. Isso faz sentido?

<Hansson> O site deles tinha uma arquitetura e uma configuração que não combinavam com sua escala. Isso tem muito pouco, se é que tem a ver, com a escolha deles por um framework ou uma linguagem específica. Parece que eles resolveram tudo agora. E eu realmente amo o Twitter, é uma grande idéia.

Juliano Barreto, da INFO
http://info.abril.com.br/professional/desenvolvimento/o-rails-e-lindo.shtml

--
Sandro J. S. Souza
www.htmlstaff.org

Fernando Norte

unread,
Dec 4, 2008, 6:25:25 AM12/4/08
to ph...@googlegroups.com
Olá Sandro e demais,

Faz muito tempo que eu não escrevo e apenas acompanho. Mas sem querer polemizar isso demais, sejamos menos xiitas que, para mim, ele está coberto de razão.

PHP é fácil, é uma das linguagens mais fáceis que já encontrei. Mas exatamente por esse motivo é muito fácil também se fazer uma bagunça ininteligível. De experiência própria, 99,9% dos códigos em PHP que eu peguei de terceiros eram uma bagunça total. Sem método, sem padrão, sem identação, com HTML enfiado no meio (minto, parece mais com intervenções de PHP no meio de todo o HTML), com querys "SELECT * FROM" e outras mazelas para todos os lados.... enfim  senão a lista fica extensa demais.

Abraços,

2008/12/4 Sandro J. S. Souza <xku...@gmail.com>

Vejam a integra da entrevista dele na INFO:
 
<INFO> Você diz que o Rails proporciona um desenvolvimento rápido e limpo. Quer dizer que existem linguagens sujas?


<Hansson> O termo sujo significa que o código que você escreve não parece puro, elegante ou bonito. Normalmente isso também quer dizer que o programador sabe o que fez e sabe que um dia vai precisar voltar e arrumar as coisas. Mas é muito raro que esse dia realmente chegue, uma vez que você vai ser obrigado a corrigir coisas erradas que deixou para trás o tempo todo. Para mim, o PHP pode ser considerado rápido e sujo. É bem rápido fazer alguma coisa e colocá-la para funcionar e também é fácil fazer muita bagunça no meio do caminho.


--
Fernando G. Norte
BHte - MG
cel: +55 31 9119 8814
-------------------------
MSN e Gtalk # fno...@gmail.com

Sandro J. S. Souza

unread,
Dec 4, 2008, 6:31:17 AM12/4/08
to ph...@googlegroups.com
Fernando, mas você há de concordar que, igual um amigo falou agora a pouco na PHP Brasil: "Quem faz o código 'cheiar mau' não é a linguagem, e sim o programador."...

Em 04/12/08, Fernando Norte <fno...@gmail.com> escreveu:

Arthur Vinicius

unread,
Dec 4, 2008, 6:34:16 AM12/4/08
to ph...@googlegroups.com
É isso que disseram,  a Linguagem não tem nada a ver, quem deixa sujo é o programador.

Mal Programador == Mal Programação (e pra isso não importa a linguagem)


2008/12/4 Fernando Norte <fno...@gmail.com>



--
Arthur Vinicius
arthu...@gmail.com | arthurvinicius.com

Igor Leroy

unread,
Dec 4, 2008, 6:37:31 AM12/4/08
to ph...@googlegroups.com
Mas convenhamos, PHP é a linguagem mais facil pra um iniciante fazer uma gambiarra e fazer a aplicação rodar.
Deve ter sido por isso que o criador do Rails falou que PHP é rapido mas "sujo".



2008/12/4 Arthur Vinicius <arthu...@gmail.com>



--
-- Igor Leroy
-- (31) 8371-0589
-- Desenvolvedor Web


Lucas Arruda

unread,
Dec 4, 2008, 6:47:42 AM12/4/08
to ph...@googlegroups.com
Acho que ele tem um pouco de razão quando diz o rápido e "sujo", como o Igor falou. Por ser uma linguagem rápida, fácil e poderosa e que ao mesmo tempo te possibilita inserir um monte de código "porco" no meio.

Mas, convenhamos, o Ruby é como ele mesmo descreve. Lindo, código bonito. Mas não é disso que vive uma linguagem. Ele é lindo para escrever um blog, lindo para quem não sabe programar, lindo para bloggers, mas na prática é uma linguagem com pouquíssima utilização concreta. O Ruby é mais um hype que ninguém sabe se veio mesmo para ficar. Pode ter conquistado seu nicho para quem precisa de tudo rápido e elegante, por achar programar complicado demais, mas não pode ser nunca comparada com PHP e Java e nunca pode os menosprezar porque os mesmos só estão bem no mercado porque são bem vistas e utilizadas pelo mesmo.



Lucas Arruda
lucasarruda.com


Marcelo Araujo

unread,
Dec 4, 2008, 6:50:09 AM12/4/08
to ph...@googlegroups.com
A subjetividade ainda reina :-)

2008/12/4 Lucas Arruda <lucas...@gmail.com>:
--
Marcelo Araujo
Zend Certified Engineer
http://msaraujo.jmcodex.com
+55 34 9144 1472

Fernando Norte

unread,
Dec 4, 2008, 6:50:52 AM12/4/08
to ph...@googlegroups.com
2008/12/4 Igor Leroy <ip.l...@gmail.com>
Mas convenhamos, PHP é a linguagem mais facil pra um iniciante fazer uma gambiarra e fazer a aplicação rodar.
Deve ter sido por isso que o criador do Rails falou que PHP é rapido mas "sujo".

Só para não passar em branco, é esse o ponto que o Igor levantou. Por ser mais fácil, simples e acessível atrai um bando de gente inexperiente que logo logo "se acha" um programador.

Sinceramente, programar é uma das coisas que eu acho mais fácil e simples da face da terra, consiste apenas em capturar, tratar e "dar saída" em dados (para os mais novos: antigamente TI era chamada de TPD - tecnologia em processamento de dados). Mas o ato de pensar, antes de sair programando desenfreadamente, parece quase inexistente na maioria dos "programadores" que cruzei por aí.

Basta reparar aqui mesmo na lista, quantas vezes não aparece alguém (depois some ou não) que nunca programou na vida, ou não tem a menor idéia do que signifique "algoritmo" ou "lógica" e vem com perguntas simples, querendo soluções mais simples e prontas ainda? Para fazer o seu site pessoal ou para aprender, tudo bem, é válido, mas muitas vezes essas mesmas pessoas estão empregadas, realizando trabalhos "profissionais" e se auto-intitulam programadores.

Que é o mal programador que faz bagunça, independente da linguagem, é fato, mas com uma ferramenta simples, que não te exige um mínimo de organização atrai essas pessoas 'bagunceiras' como moscas no lixão.

Att,

Fernando Norte

unread,
Dec 4, 2008, 7:13:00 AM12/4/08
to ph...@googlegroups.com
2008/12/4 Lucas Arruda <lucas...@gmail.com>

Mas, convenhamos, o Ruby é como ele mesmo descreve. Lindo, código bonito. Mas não é disso que vive uma linguagem.

Olá Lucas,

Pode não ser disso que uma linguagem viva, mas é disso que um software SOBREVIVE.
Se você não faz as coisas de forma organizada e bem arrumada (essa é a 'beleza' que ele se refere), seu software será precário e uma atualização um pouco mais complexa que a a idéia original (ou o que foi concebido) será mais fácil destruí-lo e começar do zero do que aproveitar alguma coisa dele.

Fazer as coisas rápidas, sem método, sem pensar antes você até consegue o resultado pretendido (talvez pelo programador, mas pouco para quem usa ou depende do software). Mas como será que outra pessoa dará continuidade a essa bagunça? Ler programa dos outros, documentado e arrumado é uma coisa chata e difícil, imagina algo criado desorganizadamente?

E IMHO, a opção de fazer tudo rápido e 'sujo' tem sido preferida e eu entendo qualquer crítica que as pessoas façam ao PHP ao ponto de torcerem o nariz, pois essa turma bagunceira parece ser mais a REGRA do que a exceção; seja por incompetência ou pela demanda (eu mesmo já tive - e ainda tenho - que fazer gambiarras apressadas por causa dos prazos insanos que clientes impõem). E quem sofre com isso são aqueles que tentam fazer um bom serviço com uma boa opção, e os próprios clientes que parecem não se importar para refazerem seu software barato e vagabundo 1 vez por ano.

Att,

Lucas Arruda

unread,
Dec 4, 2008, 7:31:52 AM12/4/08
to ph...@googlegroups.com
Olá Fernando e demais,
 
Pode não ser disso que uma linguagem viva, mas é disso que um software SOBREVIVE. 

Com certeza Fernando e isso remete ao ponto de que quem é responsável pelo código é o programador e não a linguagem.



Se você não faz as coisas de forma organizada e bem arrumada (essa é a 'beleza' que ele se refere), seu software será precário e uma atualização um pouco mais complexa que a a idéia original (ou o que foi concebido) será mais fácil destruí-lo e começar do zero do que aproveitar alguma coisa dele. 

Sim, mas ele se refere ao fato que a linguagem se propicia um código belo e não que todo código Ruby é belo, até porque ele nunca poderia afirmar tal coisa. Embora o fato da "sujeira"do PHP possa atrair codificadores "sujos" e a "beleza" do Ruby possa atrair quem codifica de forma "elegante", não quer dizer que isso é um fato.


Fazer as coisas rápidas, sem método, sem pensar antes você até consegue o resultado pretendido (talvez pelo programador, mas pouco para quem usa ou depende do software). Mas como será que outra pessoa dará continuidade a essa bagunça? Ler programa dos outros, documentado e arrumado é uma coisa chata e difícil, imagina algo criado desorganizadamente? 

Sim, mas mais uma vez, isso não depende só dá linguagem. Depende, principalmente, do programador. Apesar de o Java ser uma linguagem que te propicia codificar de uma maneira mais limpa e ajuda evitar erros, conheço vários programadores Java que fazem código "sujo". O negócio é como é feito e não com o que é feito.


 E IMHO, a opção de fazer tudo rápido e 'sujo' tem sido preferida e eu entendo qualquer crítica que as pessoas façam ao PHP ao ponto de torcerem o nariz, pois essa turma bagunceira parece ser mais a REGRA do que a exceção; seja por incompetência ou pela demanda (eu mesmo já tive - e ainda tenho - que fazer gambiarras apressadas por causa dos prazos insanos que clientes impõem). E quem sofre com isso são aqueles que tentam fazer um bom serviço com uma boa opção, e os próprios clientes que parecem não se importar para refazerem seu software barato e vagabundo 1 vez por ano. 

Na verdade, como já disse alguém anteriormente nessa thread, a maioria que se diz programador PHP é apenas um aprendiz, alguém que fez um site pessoal ou algo assim. Se você fala de programadores mesmo, acho que é mais exceção do que regra. O problema é que justamente essa facilidade oferecida pelo PHP o queima, ao mesmo tempo que fez ele ganhar mercado tão rápido. Acho que, no fundo, a culpa do PHP por ter esses problemas está no próprio mercado, que pediu uma linguagem mais fácil e que mais pessoas pudessem "programar", já que tinha demanda de pessoas e ela não era suprida. E até as pessoas o queriam para que pudessem eles mesmo fazerem o seu site. O resultado dessa brincadeira toda você já conhece. O cliente paga pouco, se sente satisfeito com isso e depois fica com um "pepino" na mão. "Dança", também, muitas vezes, quem sabe programar em PHP.



Lucas Arruda
lucasarruda.com

Norivan

unread,
Dec 4, 2008, 8:35:26 AM12/4/08
to PHP MG
PHP não é sujo o programador que é cascão.

Até mesmo trabalhando com Java vira e mexe pego códigos extremamente
macarrônicos. A varriável que afeta na questão do código ser sujo ou
não são duas, o programador e a "permissão" da linguagem.

Em PHP talvez você realmente encontre mais bagunça do que em Java por
exemplo, simplesmente porque muitas vezes o que é PHP passaria em Java
soltaria um StackTrace gigante na cara do programador. Isto tem seu
lado bom e ruim, fica mais organizado? fica, mas o tempo de
desenvolvimento aumenta e custo tb.

Michael Mafort

unread,
Dec 4, 2008, 8:45:56 AM12/4/08
to ph...@googlegroups.com
Norivan falou e disse, concordo.

2008/12/4 Norivan <nor...@gmail.com>



--
Michael Mafort
CRIASOL - Desenvolvimento Web
Diretor de Tecnologia
+55 31 9846-5904
michae...@criasol.com.br

Bernardo Vieira

unread,
Dec 4, 2008, 11:52:23 AM12/4/08
to ph...@googlegroups.com
Só para adicionar, uma das coisas que convida ao programador desavisado
criar códigos melequentos em PHP é a dualidade entre programação
procedural e orientada a objetos, e claro, a implementação ainda
incompleta da orientação a objetos. Algumas outras coias que me fazem
achar PHP uma linguagem deselegante (mas nem por isso deixo de gostar de
PHP):
- falta de padronização na nomenclutra das funções: por que temos
is_array, is_numeric is_qualquercoisa e depois o mais fundamental de
todos, isset segue um padrão diferente? O mesmo raciocínio vale para
str_* e strpos
- volta e meia os $needle / $haystack aparecem com a ordem invertida em
funções semelhantes
- implementar o padrão singleton sem uma porrada de notices é impossível
(leia-se: quero um construtor privado!)
Se parar para pensar acaba aparecendo mais coisa, mas aí ia dar a
impressão que eu estou de picuinha com o PHP.
Reply all
Reply to author
Forward
0 new messages