Python no ano do rato

February 7th, 2008

Hoje começou o ano do rato no calendário chinês.

O Tiobe Index escolheu Python como a linguagem do ano em 2007. Foi a que ganhou mais popularidade entre as 10 mais importantes. Subiu da 8a para a 6a posição. Acima de Python agora só existem linguagens muito famosas: Java, C, Visual BasicTM, PHP, C++.

Mas a melhor parte dessa notícia foi a análise no Tiobe: “There is no clear reason why Python made this huge jump in 2007″. Porque 2006 foi o ano da linguagem Ruby, mas havia um motivo bem claro: o reflexo da fama do Ruby on Rails, um framework Web inovador. No caso de Python, foram vários fatores ao mesmo tempo.

Do celular ao YouTube

O salto de 2007 foi fruto de um crescimento orgânico, no embalo de muitos anos comendo pelas bordas. Python passou Perl pela primeira vez, e Perl era a linguagem favorita dos administradores de sistemas. Hoje sysadmins de mega-instalações, da Rackspace ao Google dependem de Python como nunca antes. Python roda em celulares Nokia e nas plataformas Java e .Net. E não dá mais para instalar uma distribuição GNU/Linux moderna sem Python: ela está na infra-estrutura do sistema.

No desenvolvimento web, a maturação do Django trouxe ao Python uma alternativa tão sólida e ágil quanto o Rails, sem ser um clone dele. E além de Django temos Plone, TurboGears, Zope, Grok, Pylons. Frameworks web para todo tipo de projeto. Para quem não gosta de se enquadrar, tem até um “anti-framework”: web.py, o “segredo” por trás do site reddit.com, site que acabou comprado pela Wired.

O YouTube virou o segundo maior caso de uso de Python na Web (depois do Google, que desde o início fez propaganda de sua preferência). O YouTube já era feito em Python antes de ser adquirido pelo Google.

Pixels, vetores e curvas

Em 2007 Python foi adotada como linguagem de scripting oficial em aplicativos importantes como o Gimp e o Maya. Na lista Python-Brasil a gente nota uma migração de pessoas que foram abandonadas pelo fim do Kylix (o Delphi para Linux), e que optaram pelo Python com PyGTK para fazer suas aplicações desktop. Em aplicações científicas a linguagem também vem crescendo, e desde 2007 temos até um livro sobre isto em português, do biólogo Flávio Codeço Coelho. Meu amigo Tony de Marco, font-designer premiado, está estudando Python porque é a linguagem do FontLab, a mais avançada ferramenta de tipografia digital.

Inteligência coletiva

 

Um dos livros mais comentados neste final de ano foi o Programming Collective Intelligence, sobre aplicações práticas de machine-learning na Web. Não tem Python no título, mas essa foi a linguagem escolhida pelo autor para ilustrar suas técnicas. Python é uma linguagem tão expressiva e fácil de ler que é ideal quando se deseja enfatizar os algoritmos, em vez dos detalhes de implementação. Outro livro 5 estrelas na Amazon, que usa Python como veículo: Game Programming: The Express Line to Learning. Por sinal, os games são uma outra área onde Python ganhou muita importância recentemente, e já existe uma boa bibliografia a respeito. Também em 2007 saiu o Aprendendo Python no Brasil. Parece que todo mundo está descobrindo Python ao mesmo tempo.

E em 2008…

A onda do Django está apenas começando, e trará muita gente nova para o Python. Nosso amigo, o professor Marco André conta que esta foi a linguagem adotada na série Use a Cabeça da O’Reilly para seu novo livro de introdução à programação: Head First Programming. E até na disciplina MAC-110, onde os calouros do bacharelado em computação da USP aprendem a programar direito, este semestre a primeira linguagem não será C nem Java, mas Python. Pela primeira vez o FISL (Fórum Internacional do Software Livre) terá uma trilha exclusiva de palestras sobre Python.

Python pode não ter o marketing e o hype de outras linguagens, mas com sua versatilidade, elegância e confiabilidade, vem ganhando uma base sólida de usuários leais, através do boca-a-boca entre programadores. Tem sido assim nos últimos 15 anos, e a aceleração é notável à medida que ganhamos massa crítica. No ano do rato, a cobra vai se dar muito bem.

Novo exemplo de Grok: LoginDemo

December 29th, 2007

Inspirado pelo fantástico Useless Account eu resolvi montar uma aplicação exemplo em Grok para mostrar como criar contas de usuários, fazer logins e usar uma permissão: LoginDemo.

A maioria do código deste exemplo eu tirei do Kirbi (meu projeto no Google Summer of Code 2007 - svn), mas um par de linhas eu peguei no ótimo Permissions Tutorial do Luis, Uli e JW.

Fiquei com a impressão que isto tudo ainda está um pouco complicado demais no Grok. Talvez um PrincipalFolder com SessionCredentials- Plugin pudesse vir pré-instalado ao criarmos uma instância de grok.Application.

Principais recursos demonstrados:

  • barra no topo da tela mostra dados do usuário e estado do login
  • links na barra do topo mudam de acordo com o estado do login
  • usuário pode criar sua própria conta
  • uma listagem de contas criadas pode ser vista
  • a listagem de contas é protegida por uma permissão, exigindo log in
  • boa cobertura de testes funcionais (veja por exemplo join.txt em src/logindemo/ftests)

Há algumas tarefas ainda por fazer. Veja o README.txt.

Para experimentar o código, faça:

$ svn co svn://svn.zope.org/repos/main/grokapps/LoginDemo
$ cd LoginDemo/
$ python2.4 bootstrap/boostrap.py
$ bin/buildout

Neste ponto, um monte de eggs do Grok e do Zope 3 serão baixados e instalados. Para rodar os testes:

$ bin/test

Para subir a aplicação:

$ bin/zopectl fg

Daí acesse http://localhost:8080, usuário grok, senha grok, e crie uma instância da aplicação LoginDemo para experimentar.

Como manter seu site em pé sobre uma plataforma que não pára no lugar

May 21st, 2007

Está acontecendo uma longa discussão na lista Zope-pt sobre as dores evolutivas da platforma Zope/Plone. Vários depoimentos na lista ralatam muita dor de cabeça na hora de migrar sites antigos para versões recentes do Plone, e alguns até já se resignam em dar manutenção para sites que nunca sairão da versão do Plone em que foram criados originalmente.

Tenho pensado muito sobre esta questão porque uma parte importante do nosso discurso para promover o Zope/Plone é dizer que servem para construir sites duradouros. Então o que se passa, e como melhorar a situação?

Sites podres

Antes de mais nada, quero deixar claro que eu realmente acredito que usar um framework para fazer um site vale a pena porque estou fazendo sites dinâmicos desde 1995, e a experiência mostra que quando construímos sites na base de milhares de scripts improvisados e bancos de dados idem, o custo de manutenção é muito alto, tanto em dinheiro quanto em pessoal. Os melhores programadores não aguentam muito tempo as tarefas repetitivas de manter um site podre rodando, e acabam indo embora, levando consigo as esperanças de um dia construir uma solução mais racional; no serviço público eles não vão embora, mas “se aposentam” sem deixar o cargo. Acho que todos já viram isso acontecer.

Mas o pior é que, mesmo pagando caro pela manutenção destes espaguetes lógicos a gente se vê obrigado, periodicamente, a jogar fora um monte de código e começar de novo porque chega um ponto que simplesmente não dá mais para consertar.

Porque usar um framework

O grande Fred Brooks já disse: não existe a bala de prata. Não adianta procurar uma solução mágica para os problemas intrinsecamente difíceis de desenvolvimento de software. Mas usar um framework é uma maneira de aumentar a vida útil dos sistemas. Como?

Através da transformação da vivência de desenvolvedores experientes em requisitos ou casos de uso, e depois em uma visão geral, uma arquitetura, e finalmente em componentes de software que outros desenvolvedores podem usar para resolver problemas de uma certa natureza.

Por exemplo, o Plone+CMF+Zope2 formam um framework que nos ajuda a resolver problemas de publicação e gerenciamento de conteúdos em sites. Se multiplicarmos o número de desenvolvedores que contribuiram para este framework com os anos de experiência em desenvolvimento web de cada um deles, teremos milhares de anos de experiência acumulada. E esta experiência, através de muita discussão, trabalho, testes, e mais experiência, foi consolidada em um framework que hoje pode não ser a coisa mais pura e consistente, mas funciona como um framework e não como um monte de peças desconexas.

Mas eu usei um framework e meu site apodreceu mesmo assim

Posso falar por experiência própria. Em 1999 a Hiperlógica desenvolveu a primeira versão do Página-1, um CMS para sites de notícias. Na época, o framework era Zope 2.1 e só. O Página-1 chegou a ser usado em mega-sites, como o BOL e a AOL Brasil, portais que chegavam a publicar mais de mil páginas novas diariamente, principalmente graças a coletores automáticos de notícias, mas no caso da AOL havia também uma equipe de 40 jornalistas só para alimentar o portal.

Fazíamos todo o desenvolvimento via ZMI. Nosso código era organizado em ZClasses, primeiro usando apenas DTML, depois Scripts (Python), porque inicialmente estes não existiam. Quando pintou o ZPT, arrastei toda a equipe para esta nova tecnologia, muitos resmungando e arrastando os pés. Outras mudanças mais profundas a gente não incorporou. Uma delas foi o CMF. Vivíamos falando que era preciso reescrever o Página-1 sobre o CMF, mas infelizmente a empresa fechou as portas antes que isso fosse feito.

Assim como o Página-1, existem outros produtos rodando por aí, baseados em versões antigas do Zope, do CMF ou até do Plone, e com as mudanças mais profundas causadas pela chegada do Zope 3, muitos destes produtos vão ter que ser refeitos, ou vão desaparecer. Como chegamos nisso?

A grande vantagem e o problema maior do software livre

O software livre avança mais rápido que o software proprietário, e de maneira mais constante. Para produtos considerados estáveis, versões novas a cada três meses são comuns. Quem quer usar o que há de mais moderno no CVS tem que se atualizar todo dia, ou no máximo semanalmente. Ao mesmo tempo, não existe no software livre todo aquele marketing alardeando a necessidade de ter sempre a versão mais nova. É fácil se acomodar numa versão que funciona, ficar com ela e dedicar seu tempo a aprofundar suas customizações e extensões, em vez de ficar atualizando a infra-estrutura o tempo todo.

Mas é um erro que custa caro. Porque se você mantém seu site sempre rodando na versão mais atual, as migrações são menos doloridas. É como cuidar de um jardim: se existe uma manutenção constante, o trabalho cotidiano não é tão grande, e o jardim está sempre bonito e as plantas saudáveis. Se a gente abandona, as ervas daninhas se multiplicam, as larvas tomam conta, e logo é preciso arrancar tudo para recomeçar.

No caso do Plone, o que é realmente difícil é migrar algo feito há dois ou três anos para uma versão que acabou de sair do forno. E quando mais tempo a gente adia uma migração como esta, mais difícil ela fica. Até que a gente se desespera e começa a questionar a própria plataforma. Nesta hora é tentador pensar “já que eu vou ter que refazer tudo, então vou refazer usando este outro framework que está na moda”. Mas eu garanto: se você não mudar a forma de se relacionar com o framework, seja ele qual for, daqui a três anos você vai estar administrando outro site podre, e talvez pensando em adotar o J9EEE, o Erlang-on-Rockets ou o Plone 7 sobre Zope 5.

Reveja suas prioridades, e seja mais feliz

Outro dia um cliente me consultou porque queria colocar uma sofisticada camada AJAX sobre o Plone 2.5 de sua intranet. Eu lhe disse para esperar pelo Plone 3, que está saindo com toda uma infra-estrutura avançada para integrar AJAX. E se a demanda de AJAX não puder esperar? Então quase todo o trabalho que for feito agora será perdido quando chegar o Plone 3. É melhor alocar o programador que estava pronto para fazer AJAX para começar já a migrar a intranet atual para o Plone 3 beta 3, para ver o que vai quebrar e resolver logo o que precisa ser resolvido.

Este pequeno exemplo ilustra um ponto muito importante. É claro que existe um custo de acompanhar de perto a evolução de um framework, fazendo atualizações sempre que muda a última casa decimal na versão. Mas existem também enormes benefícios. Um deles é evitar que o seu site apodreça. Outro é que, no caso do Plone, os aperfeiçoamentos costumam ser muito visíveis, atraentes e benéficos para os usuários finais.

Tempo emprestado a juros altos

Kent Beck, o guru de Extreme Programming, escreveu em algum de seus livros que quando a gente resolve um problema de maneira precária para ganhar tempo, estamos na verdade fazendo um empréstimo no Banco do Tempo. Mais tarde teremos que pagar por este tempo emprestado, e com juros. E quanto mais demorarmos para pagar, maior serão os juros. A visão dele não é moralista: ele aceita que fazer empréstimos às vezes é uma boa estratégia para aproveitar oportunidades. Mas se uma empresa faz empréstimos demais acaba quebrando. É preciso ter sempre consciência do seu grau de endividamento.

Na prática, muitas equipes que usam Plone hoje precisam rever a alocação dos desenvolvedores, para garantir que sempre tenha gente empenhada em fazer os produtos, customizações e extensões locais funcionar na versão mais nova do framework. “Mas na minha equipe ninguém tem mais tempo para nada”, já sei. Então explique a situação para o seu chefe. Mostre para ele que não tem alternativa melhor, que não é viável construir um site Web 2.0 sofisticado sem um framework, mas que para usar um framework é preciso acompanhar sua evolução, e que é melhor reduzir o ritmo de customizações para manter a infra-estrutura sincronizada do que customizar adoidado um sistema que vai apodrecer e ser jogado fora em três anos. E faça esta recomendação por escrito, num relatório. Porque se a decisão for continuar como está, vai ser bom para sua auto-estima encontrar este relatório na sua gaveta.

No caso da Hiperlógica, deixamos o Página-1 falir. Porque mesmo sabendo dos benefícios, não tivemos oportunidade de fazer as mudanças, algumas bem profundas, necessárias para acompanhar o framework. Talvez alguns sites fortemente customizados rodando Plone 2.0 ou 2.1 hoje se encontrem na mesma situação: sai mais barato recomeçar do que tentar refazer. Mas antes de jogar no lixo seu conhecimento acumulado em uma plataforma, assegure-se de aprender algo com esta triste experiência. E como consolo, considere isto: quem produz código costuma dar pouco valor à especificação, requisitos, casos de uso, arquitetura da informação, ícones, folhas de estilo etc. O seu software atual, mesmo podre, é um rico repositório destas coisas. E na hora de refazer você poderá aproveitar tudo isso que não é código-fonte.

Resumindo, o problema não está neste ou naquele framework, e sim em como a gente estima os custos de usar um framework e se manter atualizado nele, seja ele qual for. E se tem algo que a maioria dos desenvolvedores que eu conheço faz mal, e os adeptos do software livre fazem ainda pior, é estimar custos.

Dá para ter uma vinda longa, próspera e saudável usando um framework. Basta estar preparado para pagar os custos de usá-lo. No caso do Plone, continuo apostando que o custo é bem menor, e os benefícios para o usuário final muito maiores, do que qualquer amontoado de scripts, larvas, tabelas e ervas daninhas que alguns chamam de site.

“O Americano Tranquilo”

February 2nd, 2007

O título original é “The Quiet American”. Será que “O Americano Calado” seria uma tradução melhor?

Faz tempo eu queria ver este filme, pelo tema de política internacional e pelo Michael Caine. Ontem Marta e eu vimos, e achamos um filme muito atual, pelo paralelo entre a desastrosa intervenção americana no Vietnã e o que se passa hoje no Iraque. O roteiro é muito acima da média, para começar porque não é maniqueísta, coisa rara em produções de Hollywood. É baseado em um livro do Graham Greene, e isso explica a qualidade literária da trama, dos diálogos e das falas do narrador. Grande filme.

Um de seus temas é o que eu chamo de positivismo americano. Talvez por ter vencido a 2a Guerra e chegado à lua, o povo ianque tem uma confiança exagerada em planos, esquemas, fórmulas, simulações, enfim, qualquer coisa que reduza a realidade a termos mais fáceis de entender. O que eles não percebem é que sua realidade pasteurizada só faz sentido para eles mesmos. E pior: logo esquecem que a realidade não é aquela reduzida para caber em seus planos, mas sim aquela outra, suja e incontrolável.

Uma vez eu vi o lendário e culto programador Larry Wall, numa conversa informal durante um FISL, fazer uma autocrítica sobre a política externa americana: “Nosso problema é achar que os outros países são tão multi-culturais quanto o nosso”.

Eu queria rolar no chão às gargalhadas, mas consegui me conter e dizer-lhe que, com todo respeito, permita-me discordar mas me parece ser uma opinião geral entre latino-americanos e europeus que os americanos são o povo menos multi-cultural do ocidente, e que multi-culturalismo não se limita a ter restaurantes de todas as partes do mundo, mas inclui também falar outras línguas, ouvir música e assistir filmes de outros países, fazer turismo no exterior, enfim, um monte de coisas que a grande maioria dos americanos não tem o menor interesse em fazer.

Você já notou que a esmagadora maioria dos gringos que vêm para o Brasil vêm a trabalho? Sou capaz de apostar que a maioria das viagens de americanos para o exterior, independente do destino, são a negócios. Nas melhores praias do Brasil é muito mais fácil encontrar um alemão, um francês ou mesmo um inglês que um americano. E quando estão aqui em serviço, os gringos em geral não fazem a menor questão de sair do hotel entre um compromisso comercial e outro. Porque se não puderem ficar no quarto vendo o mundo pela CNN eles têm medo de ficar desinformados!

Existem as exceções, é claro. Tenho grandes amigos americanos, mas eles são genuinamente multi-culturais e interessados no que se passa em outros países. São também unânimes em discordar do jeito Bush de ver o mundo.

Um americano que resolveu se redimir contando umas verdades é o Robert McNamara, que foi secretário de defesa dos EUA no tempo da guerra do Vietnã. No imperdível documentário The Fog of War (”Sob a névoa da guerra”) ele conta que foi a um jantar comemorativo do estabelecimento de relações diplomáticas entre o Vietnã e os EUA. Na ocasião, figuras importantes dos dois lados do conflito puderam trocar idéias cara a cara, pela primeira vez. Um general vietnamita explicou ao McNamara porquê os EUA não tinham a menor chance de vencer a guerra, dizendo mais ou menos assim: “Estamos há mais de dois mil anos sustentando nossa independência em relação os chineses, que estão aqui do lado. Vocês achavam que podiam vir do outro lado do mundo e tirar a nossa soberania?”

Agora todos PhD’s que assessoram o Sr. Bush, MBA, acreditam que com um bom plano e 120.000 soldados é possível implantar uma democracia à sua moda numa terra que aprendeu a escrever leis há mais de 5.000 anos, antes de todo mundo. Ou será que eles não sabem que a Babilônia é o berço da civilização?

PS. Na real, os Chenneys e Condies da vida são mais cínicos que ignorantes. Estão fazendo o jogo de seus verdadeiros patrões nas indústrias bélica e petrolífera, e estufando suas contas secretas com o dinheiro dos contribuintes intranquilos.

Morro v.1.0

January 26th, 2007

O Morro dos Ventos Uivantes, da Lotus Honda Corp., é um novo sistema integral. Enriquecido de vitamina e ferro, o MVU substitui com vantagens o ferro de passar convencional.

O sistema é dividido em três módulos: depilador, maquiador e milton. Milton e o maquiador trabalham juntos, exercendo mutuamente uma crítica implacável, porém construtivista. Um é piagetiano, e o outro é discípulo de Papert™. Os dois trabalham bem bom.

A principal novidade trazida pelo MVU, no entanto, é seu depilador incremental interativo. O gafanhoto (como é chamado pelos técnicos da Lotus), opera na faixa de 80 MHz$, com 40.000 watts de potência. O segredo de sua performance extraordinária nas dobrinhas e partes moles está na disposição oblíqua de suas três escovas.

Ainda não tive tempo de realmente usar o MVU. No próximo número, traremos um teste completo do sistema. Por enquanto, basta dizer que Mary Shelley, principal autora do Morro, me garantiu que não ficaremos decepcionados. De fato, Mary nunca me decepcionou.

Empresas e meritocracias

January 10th, 2007

Trabalho com um produto chamado Plone, que serve para fazer portais comunitários, institucionais e corporativos.

É curioso como a requisição #2 de qualquer empresa que usa o Plone é retirar o crédito dos artigos (a #1 é colocar seu logo no canto superior esquerdo).

Porque será isso? Eu tenho uma teoria: as empresas normalmente odeiam dar crédito a seus funcionários (existem exceções, mas são raríssimas). Na mente corporativa, os funcionários são como engrenagens em uma máquina. Dar destaque ao trabalho individual de um funcionário vai contra os interesses corporativos. O filme Rollerball fala sobre isto (o original de 1975 é uma obra prima de direção de arte; da versão mais recente eu só vi o lamentável trailler).

Aliás, “a mente corporativa” é uma mente-colméia, como a mente Borg, cujo único interesse é o lucro, até por razões estatutárias e legais. Para quem curte pensar sobre estas coisas, vale muito a pena ver o documentário “A Corporação“. Na 2001 tem o DVD para alugar. A parte mais engraçada do filme é quanto eles usam um checklist padrão de diagnóstico psiquiátrico para concluir que as pessoas jurídicas comportam-se como psicopatas.

A maior lição que o software livre traz para o mundo é a seguinte: a meritocracia, dando crédito a cada colaborador, e o trabalho voluntário permitem que a gente crie coisas incríveis e de muito valor sem dependermos de empresas. Admirável mundo novo!

PS. Não, eu não odeio empresas em geral. Odeio principalmente aqueles oligopólios com que somos obrigados a nos relacionar: bancos, telefônicas, planos de saúde, seguradoras…

Second Life, IBM e o futuro da Internet

November 29th, 2006

Hoje o Prof. Imre me enviou um tremendo link: Why We Need an Open Source Second Life. O texto dá o que pensar. Ele conta como grandes empresas como Adidas, Dell e Reuters estão investindo grana real para criar presenças virtuais no universo 3D Second Life.

Historicamente, a IBM foi decisiva na disseminação de tecnologias que mudaram o mundo: o artigo não menciona, mas o microcomputador era pouco mais que um hobby de ultra-geeks até a IBM dizer que era útil e importante para as corporações. O artigo relembra o papel igualmente decisivo da IBM ao validar perante o mercado a Web, o comércio eletrônico e o software livre. Pois bem, o artigo discute em vários parágrafos como a IBM está considerando os universos 3D tipo Second Life uma plataforma estratégica para seus negócios no futuro, e já está investindo milhões de dólares nesta visão.

Mas a grande idéia do texto é a seguinte: o principal atrativo do Second Life e de outros mundos 3D que estão nascendo não é visual. É social. E isso significa que possivelmente estamos vendo o nascimento de algo que tem o potencial de ser mais importante que a própria Web na história futura da Internet.

Quando a Microsoft era legal

November 26th, 2006

No início dos anos 90 eu trabalhei muito próximo à Microsoft. Tinha grandes amigos trabalhando lá (ainda tenho um). Na época acreditávamos que a Microsoft era uma força positiva, democratizando o acesso à computação e combatendo o então Império do Mal: a IBM e seu virtual monopólio no mercado de mainframes, os computadores de grande porte com seus analistas-sacerdotes.

Entre 91 e 93 minha principal fonte de renda foram cursos e consultorias em Visual Basic, ministrados para grandes clientes da MS. Na época, o Visual Basic era uma ferramenta realmente inovadora e muito bem feita.

A Microsoft deu um baile na IBM. O episódio do OS/2 foi o melhor exemplo disso. As duas empresas começaram juntas a desenvolver e promover aquele que seria o substituto do DOS. Mas a MS secretamente apostava todas as fichas no Windows, e assim que o produto tornou-se usável, abandonou para sempre o OS/2. De quebra, esta finta tirou da jogada importantes fabricantes de aplicativos, como a Lotus e a WordPerfect, que torraram recursos programando para OS/2, quando a MS pôde se concentrar em otimizar o Excel e o Word apenas para o Windows.

Agora a Microsoft está consolidada como um monopólio corporativo nefasto (todos os monopólios corporativos são nefastos, não só o da MS). E não sou só eu que digo isto: ela tem sido repetidamente processada, multada e cerceada em países democráticos ao redor do mundo por práticas anti-competitivas contrárias aos interesses do público.

Enquanto isso, a IBM virou uma grande usuária e apoiadora do software livre. Desde 2002 a IBM fatura mais com venda de serviços ligados a software livre do que com licenciamento de patentes. Veja este gráfico. Não que a IBM tenha se regenerado. E não acredito em Papai Noel, nem em corporações boazinhas. É só que a IBM não concentra mais tanto poder hoje, e é de seu interesse combater o monopólio da MS. Nisto ela e eu estamos de acordo.

O software livre é a melhor receita que existe para limitar o poder excessivo da Microsoft, e evitar que a IBM ou qualquer outra venha a exercer um monopólio na computação.

Cabeções e formiguinhas

November 26th, 2006

Este é o nome da minha teoria para explicar o crescimento acelerado da linguagem Ruby no mercado.

Os cabeções são caras que nem o mega-guru Martin Fowler, autores premiados como Bruce Tate e os “Pragmatic Programmers” (autores do excelente livro homônimo), e super-astros da programação, como Paul Lutus, criador do GraFORTH. Formadores de opinião de peso aderindo a Ruby em função de sua implementação clara e elegante de orientação a objetos. Porém se dependesse só dos cabeções, Ruby ainda estaria num nicho como Haskell e Scheme.

Daí entram as formiguinhas, atraídos pelo açucar do Ruby on Rails. As formiguinhas são incontáveis programadores ao redor do mundo que ganham a vida construindo a Web em projetos de pequena escala. Para os mais espertos ou experientes (sofridos?), as vantagens do RoR são evidentes e o retorno, quase imediato.

A junção destes atrativos, de um lado conceituais, e de outro pragmáticos, é muito forte.

Fotos de Boston

October 26th, 2006

Publiquei uma duzia de fotos da minha passagem por Boston no Flickr: http://www.flickr.com/photos/luludico/.