A maldição da popularidade

Eu definitivamente não estou entre os mais antigos praticantes da indústria do desenvolvimento de software, mas já vi alguns fenômenos se repetirem o suficiente para desconfiar que devem ser alguma espécie de lei universal ou coisa parecida. Como sou um fanático por linguagens de programação, minha observação está nesse campo. Mais precisamente nas comunidades que se formam ao redor delas. Eu sei que comunidade é meio que uma palavra da moda hoje em dia, então pode abandonar este texto e passar para o próximo da sua lista de leitura de feeds de hoje: isso aqui certamente vai ser bem vazio e superficial.

Assim como qualquer coisa, linguagens de programação também passam por um período de maturação antes de se tornarem populares. No início elas só são usadas por verdadeiros geeks de linguagens que se divertem em procurar não a próxima grande revolução, mas boas idéias em termos de expressividade. Muitos deles nem chegam a usar direito as linguagens, preferindo aprofundar-se em uma e só ficar de olho em outra meia dúzia.

A maioria dessas pessoas atraídas nessa fase embrionária são programadores excepcionais e começam a ajudar a fazer várias das bibliotecas que vão servir de apoio para as massas que virão a usar a linguagem dali a alguns anos. Eles não fazem isso porque querem ser os senhores daquelas pequenas comunidades no futuro, mas simplesmente porque gostam e se divertem com isso. Afinal de contas, o que pode ser mais divertido do que fazer seu próprio cliente HTTP, por exemplo?

Não precisa responder.

Quando estão nesta fase, as listas de discussão, blogs e fórums sobre essas linguagens costumam ser bastante interessantes. O cara que está fazendo o cliente HTTP conversa com o cara que está tentando melhorar a biblioteca de coleções e todos têm idéias boas para dar. Toda semana alguém bola uma nova expressão idiomática elegante e você se impressiona cada vez mais. Começa a surgir o sotaque da linguagem.

Contraste isso com o que costuma acontecer cinco a dez anos depois se a linguagem chegar a se tornar popular. Neste ponto as listas de discussão começam a se repetir e parece que todo mundo só quer saber como redimensionar uma imagem para mostrar numa aplicação web.

Hora de partir para a próxima linguagem…

Não sei exatamente porque, mas as comunidades pequenas funcionam melhor. Talvez porque os geeks iniciais sejam simplesmente mais interessantes do que a horda de invasores que só querem “fazer um sisteminha” e usar a nova linguagem da moda. A linguagem não costuma mudar muito neste meio tempo. O sotaque usado pelos mais antigos continua mais ou menos o mesmo, mas a comunidade cresce. Com o aumento do número de participantes, qualquer um esperaria que aumentasse a quantidade de boas idéias. Mas ao invés disso, elas parecem diminuir. Ao invés de serem um grupo organizado de pessoas, as multidões se comportam mais como uma manada de touros: ficam pastando no mesmo lugar até que alguém resolva correr tresloucadamente para um lado, hora em que todo mundo decide fazer o mesmo e que alguns são atropelados no meio do processo.

Quando comecei a me interessar por Ruby, era bastante instrutivo acompanhar a ruby-talk. Dava pra distinguir facilmente a voz de gente como Jim Weirich e Hal Funton. Agora, três anos e várias reportagens em grandes revistas depois, tudo o que se vê nos mais variados fóruns da linguagem são as mesmas perguntas sobre como estabelecer relacionamentos NxN. Pelo menos a comunidade Ruby ainda não chegou na proporção da Java, onde encontra-se facilmente gente tentando desenhar diagramas de seqüência para qualquer porção de código que precise ser escrita.

Há coisas que fazem bem para uma linguagem de programação e ser citada em revistas de grande circulação não é uma delas. Isso com certeza faz com que mais gente tome conhecimento, mas as pessoas que importam já haviam sido apresentadas à tecnologia por outros meios. Estas são as pessoas que lêem, pesquisam e estão sempre tentando permanecer atualizados em relação a sua arte. Muito antes dos grandes canais descobrirem as novas tecnologias, elas já sabiam delas através de canais mais alternativos (e mais rápidos e vibrantes) como blogs, listas de discussão e fóruns. São essas pessoas que têm as idéias brilhantes, que escrevem as primeiras bibliotecas, que determinam o rumo das comunidades nascentes, enfim, que realmente fazem a diferença.

Claro que os grandes canais ajudam a dar visibilidade às tecnologias e tornam as coisas mais fáceis para os infelizes que precisam convencer doze níveis de gerência antes de usar qualquer novidade, mas a tecnologia em si não necessariamente evolui mais rápido por causa disso. As pessoas que fazem alguma diferença seriam atraídas pelos méritos da tecnologia de qualquer modo, sem precisar do catalisador da popularidade. A popularidade tem suas vantagens, mas é uma maldição disfarçada. Gente demais na maioria das vezes atrapalha ao invés de ajudar, obrigando os geeks do início a fazer malabarismos para encontrar o que ainda há de relevante e afastando os novos geeks que teriam boas idéias com todo o barulho.

7 Responses to “A maldição da popularidade”


  1. 1 Tetsuo 27/ago/2008 às 01\0130

    Hum… mas será que não é mais interessante e divertido porque no início, essas linguagens e frameworks não são ‘de brinquedo’? Tá, é super legal fazer seu próprio cliente HTTP, mas ele provavelmente vai implementar apenas um subset do padrão, vai ser vulnerável a ‘n’ falhas de segurança, vai ser rápido e eficiente como uma lesma. Mas vai ter só 20 linhas, olha que legal!

    Popularidade traz desvantagens? Sim! Mas para quem? Para os que mantém a tecnologia, surge a preocupação com coisas como compatibilidade retroativa, e chovem pedidos de correção de bugs e novas features, posts de ódio, etc., e isso é *chato*. Mas para quem os usa, o resultado são produtos muito mais robustos, flexíveis, e possíveis de se usar em um ambiente profissional.

    É fácil admirar os ‘gurus’ que ficam sempre pulando de tecnologia em tecnologia, procurando sempre o que há de mais novo. Mas os que realmente merecem confiança são os que além de inovar, continuam o esforço de maturação e evolução das tecnologias, que é o que mantém o mundo funcionando.

  2. 2 Raphael Lullis 27/ago/2008 às 02\0203

    Andou lendo o “Python Paradox” do PG, Thiago?

    Seu texto faz uma observação boa: aqueles que estão na ponta fazem progresso num ritmo impossível de ser acompanhado pela massa. Mas quando a massa chega lá, os que estavam na ponta já estão em outro ponto, rompendo novas barreiras. É assim para qualquer campo onde as pessoas não encontram um limite para a capacidade de expressão humana: software, literatura, música, pintura…

    Mas acho que isso não é um problema. Esse é um ciclo virtuoso de progresso. Os “atropelados” em questão são aqueles que são mais talentosos que a média, mas que não alcançaram o nível de um “gênio”. São os que conseguem reconhecer uma boa idéia quando se deparam com uma, mas que não conseguem alcançar essa fagulha divina por conta própria. Eles demoram menos tempo que a massa para alcançar o progresso feito pelos gênios, mas ainda assim estão atrás.

    Isso não é uma coisa ruim. Está longe de ser uma maldição. Nem todo mundo pode ser gênio, no fim das contas. E a massa sempre terá interesse no trabalho dos talentosos-mas-não-gênios. O Paulo Coelho e o Projeto Jakarta estão aí para comprovar isso.

  3. 3 Marcos Silva Pereira 27/ago/2008 às 02\0245

    Mais massa, mais inércia. Simples assim, não?

    O problema mesmo é a falta de educação e curiosidade das massas: custa fazer uma busca na lista? Custa escrever um teste para o método e verificar, por si só, como ele funciona? Garanto que são bem pequenas as chances de um funcionamento inesperado resultar em explosão.

    valeuz…

  4. 4 thiagoarrais 27/ago/2008 às 12\1212

    Raphael, o Python Paradox realmente daria uma ótima referência para este texto. Como não lembrei de incluir no texto original, pelo menos vou dar o link aqui nos comentários.

    Tetsuo, concordo com você. Estabilidade é bom tanto para os praticantes quanto para o pessoal que quer “fazer um sisteminha”, mas estagnação definitivamente não é bom para quem quer aprender. É por isso que muita gente usa um par de linguagens principais mas acompanha várias outras que ainda não chegaram a este ponto.

  5. 5 Walter Cruz 27/ago/2008 às 17\0551

    Isso num acontece com linguagens porque não certo sentido elas são ‘descartáveis’?

    Eu aconpanho há uns três anos a pg-hackers, e sempre achei as discussões interessantes (embora, é claro, não entenda todas). Acho que o desenvolvimento do kernel Linux deva ser bacana (embora talvez um tanto quanto caótico) para seguir.

    “s pessoas que fazem alguma diferença seriam atraídas pelos méritos da tecnologia de qualquer modo, sem precisar do catalisador da popularidade.” – eu estava pensando em algo parecido hoje cedo. ;)

  6. 6 André Faria Gomesê. 28/ago/2008 às 04\0408

    Ótimo texto Tiago, concordo com você!
    Por fazer parte da comunidade Java, sei bem do que você está falando. Desanima entrar em fóruns de discussão sabendo que boa parte dos tópicos são perguntas do tipo “Alguém sabe que erro é esse” com um NullPointerException gritante no stacktrace no corpo do post… Mas a gente ainda supera isso!!!

  7. 7 Fabio Espindula 28/ago/2008 às 23\1148

    Muito bom… Parabens pelo blog e continue nos presentiando com suas opinioes.


Comments are currently closed.




%d blogueiros gostam disto: