Multidões

May 10th, 2008 § 8 comments

Eu me empolguei com computadores na primeira vez em que ouvir falar sobre eles. A possibilidade de comandar uma máquina, fazê-la executar o que eu queria e isso muito mais rápido do que qualquer coisa que eu poderia fazer manualmente era uma coisa saída das páginas de um livro de ficção científica–que, é claro, eu sempre li aos montes.

Minha primeira linguagem foi o Pascal. Eu tive a sorte de pular o Basic e partir direto para um linguagem mais poderosa, mais estruturada. Eu ainda me lembro da sensação de completar um programa particularmente complexo que implementava não só sua própria funcionalidade (um espécie de Paint que era requerido para o trabalho final de programação), como também toda uma família de objetos para interface gráfica com um loop de processamento de mensagens, controle de hardware. Esse era um código que ainda queria ter.

Poucos anos mais tarde eu estava programando na versão mais evoluída do Pascal, o Delphi. Eu já passara então por C, C++, Visual Basic (que me empolgou pela parte visual, é claro, mas cuja linguagem conseguia me irritar nos mínimos detalhes), e já tivera o meu primeiro contato com o mítico Lisp. Foram bons anos com Delphi, dos quais, ironicamente, só saíram três aplicações puramente desktop. Todos os demais anos que eu gastei com o Delphi foram em desenvolvimento Web. Eu perdi a conta de quantos ORM implementei, de quantos frameworks Web, bibliotecas e serviços construí. Foi uma época de aprendizado enorme.

Desde então eu já passei por dezenas de linguagens. Algumas profissionalmente, outras pelo mero prazer de descobrir uma sintaxe nova e ver o que há de interessante. Eu ainda não encontrei uma linguagem que não possui uma característica que a redimisse. Mesmo em linguagens que eu jamais usaria hoje para implementar um projeto a menos que fosse um requisito obrigatório passado pelo cliente, eu encontrei algo de interessante. Pode ser que o resto da linguagem tenha sido descartável, mas alguma coisa sempre era suficiente para justificar a existência da linguagem.

Smalltalk foi a linguagem que mais me fascinou. Foram anos antes que eu publicasse alguma coisa real na mesma, mas eu sempre experimentei com o que havia de interessante. Seaside, no mundo Web, ainda representa para mim o ideal de um framework Web atual.

Linguagens são arte. E arte é algo inteiramente subjetivo no aspecto de gosto e preferências. Mas linguagens também são ferramentas. E para isso, nada melhor do que pragmatismo. Mas a combinação dos dois pode produzir resultados fascinantes.

Eu sustento minhas próprias escolhas, entretanto. Eu não preciso de validação externa para entender o que é interessante e o que deixa de ser interessante. Eu acolho novos pontos de vista, e gosto de entender o que os outros vêem. E eu também tenho preferências. Elas mudarão e eu não me preocupo com isso. Há beleza em qualquer lugar–em última instância, programação também é religião.

Tagged

§ 8 Responses to Multidões"

  • Caro Ronaldo,

    Gosto muito de seus textos, eu me identifico bastante e vejo que você consegue dizer de forma clara coisas que não consigo.

    Parabéns.

    Achei bastante interessante você ter dito que linguagens são arte e que você não precisa de validação externa para entender o que é interessante. Também penso assim.

    Passei também por diversas linguagens, desde Basic – minha primeira linguagem – e Assembly de Z80 até Java. Passei por C, Perl, Python, Fortran, C++, Common Lisp, Smalltalk e algumas outras, quase nessa ordem, algumas profissionalmente, outras só por curtição, o que me expandiu bastante a visão e me deixou vacinado contra evangelizadores.

    O evangelismo e o marketing de alguns grupos defensores dessa ou daquela linguagem tentam provar o contrário do que foi dito aqui, tranzendo a «boa nova» da ferramenta definitiva, mas a verdade não é bem essa.

    A evolução só pode vir da diversidade; toda unanimidade é burra.

    []’s
    Cacilhas, La Batalema

  • Ronaldo says:

    Mais uma vez obrigado. Ultimamente eu tenho fica espantado com a quantidade de gente que eu considero bem versada nesse tipo de assunto, defendendo ferozmente sua linguagem como a solução final e recorrendo a cada truque mais esdrúxulo para manter as justificações. Eu acredito fortemente em simplicidade e acho que sintaxe realmente pode ser um impedimento, mas ainda não consigo ver essa solução final. Só o fato de que existem poucos frameworks Web-friendly já mostra muito disso.

    Mas, é como você disse: evolução vem de diversidade. E finalmente temos um playing field mais diverso depois de anos de polarização. Isso provavelmente resultará em muita coisa legal.

  • Alex Saueressig says:

    Olá Ronaldo!
    Você diz que pequenos detalhes podem sustentar a existência de determinadas linguagens.
    Fiquei bastante curioso. O que você pensa sobre PHP nesse contexto, mesmo sabendo que não gosta desta linguagem.
    Não tenho muita experiência, e uso PHP hoje.
    Minha curiosidade advém disso…
    Abraço!

  • Lucas says:

    O teor do conteúdo do seu blog é de ótima qualidade. Parabéns. Serei leitor assíduo

  • Witaro says:

    “Linguagens são arte”. “Mas linguagens também são ferramentas”. As duas frases juntas lembraram-me esse trecho do “Tao te ching” (Lao Tse – tradução de Wu Jyn Cherng):


    A argila é trabalhada na forma de vasos
    Através da não-existência
    Existe a utilidade do objeto

    Portas e janelas são abertas na construção da casa
    Através da não-existência
    Existe a utilidade da casa

    Assim, da existência vem o valor
    E da não-existência, a utilidade.

    ***

    E isso me lembra coisas como “Lego”, “Smalltalk”, o princípio “aberto-fechado”…

    Estou pensando o quanto é importante equilibrar esses dois aspectos. Por exemplo, enfatizar apenas o aspecto de arte pode ser ruim… Pois a “utilidade” parece também estar associada a uma certa “não-existência” do seu autor, de forma que permita abertura para a contribuição de Outros e suas necessidades… Enfim, um tema interessante para design de linguagens. Voltando ao post, concordo com o Rodrigo. Em bem mais de um contexto, monocultura e dogmatismo não ajudam em nada a evolução e liberdade das visões.

  • Ronaldo says:

    Alex, o PHP, com todos os seus defeitos (sintaxe incoerente em certos aspectos, bibliotecas problemáticas, etc) é extremamente flexível e, graças à sua integração com o Apache, incrivelmente fácil para implantação. Isso confere ao PHP o status de uma das únicas–ou provavelmente a única–linguagem verdadeiramente Web-friendly hoje em dia.

    A sintaxe, por mais que eu não goste de muitos aspectos da mesma, é bem flexível e você pode fazer bastante coisa de uma maneira bem descomplicada (carregamento dinâmico de classes é um exemplo). Há o preço de performance de usar muitas dessas coisas, mas são bem convenientes quando necessário. Isso dá para ver em frameworks como CodeIgniter, Symfony e CakePHP que conseguem fazer muito dentro de uma mágica limitada. :)

    Lucas, opa, obrigado! :)

    Witaro, perfeita essa passagem! Belíssima. Essa dualidade é, pelo menos para mim, a essência de um caminho mais coerente dentro de qualquer faceta da vida. Lembro muito de Kim Stanley Robinson, “um excesso de razão é em si próprio uma forma de loucura”.

    De certa forma, quando eu falo em pragmatismo, é esse o princípio que eu estou querendo especificar e que você descreveu de maneira muito melhor.

  • Alex Saueressig says:

    Me tranquiliza um pouco saber que o PHP, no ponto de vista de alguém que conhece bastante de linguagens, não é totalmente ruim.
    Já as limitações, a que você se refere, estão além do meu conhecimento/necessidade atual. Mas me motiva a experimentar outras soluções.
    Obrigado pela resposta!

  • leocadio says:

    Olá, paz e bem!

    Parabéns por mais um belo texto!!!

    E não poderia de cumprimentar os comentaristas inspiradíssimos.

    Realmente, não se ensina a filosofar… simplesmente se filosofa com diriam grandes pensadores!

    Oxalá Ronaldo continue assim!

    []s livres,

    Leo
    Guarujá, SP-BR

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Multidões at Superfície Reflexiva.

meta