22
O desenvolvedor, os paradigmas e as revoluções científicas
Texto escrito em 2013
Mais um livro para ser incluído na lista das minhas boas leituras de 2013: "A Estrutura das Revoluções Científicas" de Thomas Kuhn. Meu primeiro contato com o texto se deu em 2001 quando prestei vestibular para Filosofia na UFMG, mas naquela época só li um trecho e acabei deixando-o de lado. Somente neste finalzinho de 2013 pude lê-lo na íntegra e talvez tenha sido A grande leitura do ano. Bom: antes tarde do que nunca, e neste post vou expor o paralelo que encontrei com a nossa realidade (parece que escreveu para nós).
(aviso: este é um post denso)
De que trata este livro?
É tratada a história da ciência. Não é a narrativa de como esta evoluiu, mas sim uma crítica ao modo como até 1962 se pensava a história da ciência. Kuhn rompe com a idéia de que a evolução da ciência seja acumulativa, ou seja, que o crescimento científico se dá apenas através do acúmulo de novos conhecimentos. Não: para Kuhn de tempos em tempos ocorre uma espécie de "reboot" teórico que transforma profundamente a visão que temos do mundo e o modo como fazemos ciência.
Este reboot se dá através da substituição do paradigma corrente. Bom: o que é um paradigma? Para Kuhn é todo grande feito científico que trás resultados até então nunca obtidos (de grande magnitude) e que provê um novo ferrametnal sob a forma de teorias, metodologias e pré-concepções. Este ferramental, esta nova visão de mundo é adotada pela geração corrente e posterior de cientistas, que o usa para resolver os problemas deixados em aberto.
Os cientistas que adotam o paradigma compõem uma comunidade que o autor chama de ciência normal que, por sua vez, tem seu modo de trabalho descrito de uma forma bastante interessante e próxima a nós. Seu trabalho consiste em resolver quebra-cabeças. O problema se apresenta como uma série de peças que encaixamos com o objetivo de formar uma imagem coerente com o paradigma vigente. Para tal já temos todo um ferramental pronto que na prática apenas adaptamos conforme novas dificuldades vão surgindo. Usamos a teoria x, y e z junto com as preconcepções a, b e c usando a metodologia plus e pronto: a imagem se forma, coerente com esta visão de mundo.
Mas há anomalias, anomalias estas que não conseguem ser tratadas pelo paradigma corrente. Inicia-se uma crise: nosso ferramental não é mais tão poderoso quanto imaginávamos e então surge uma nova visão de mundo, um novo paradigma que explica melhor estes fatos horrorosos. E assim inicia-se a revolução científica. Um bom exemplo é a astronomia Ptolomaica, que via o céu como algo basicamente estático. Tudo ia bem até começarem a prestar mais atenção nos cometas. Como explicá-los? Surge o novo paradigma com Copérnico, e com isto o problema se resolve com um novo ferramental. A Terra cede o centro ao Sol, não mais é estática, mas móvel, assim como os demais planetas.
O grande soco me veio no capítulo 9: "As Revoluções Cientíticas como Revoluções na Concepção do Mundo". A revolução científica é mais profunda: com ela um novo mundo surge. Dois cientistas, cada qual com seu paradigma vêem o mesmo objeto de formas completamente distintas (como este pato/coelho ao lado). Enquanto o céu é estático para Ptolomeu, para Copérnico é algo dinâmico. Ei: falo sobre isto há anos aqui no blog. Lembram quando eu escrevia sobre determinismo linguístico?
E eu, desenvolvedor, o que tenho a ver com isto?
Conforme lia o texto via meu desenvolvimento profissional. Meu primeiro paradigma era o procedural: via o sistema como uma série de módulos compostos por funções e rotinas (alguém ainda usa esta palavra, rotina?). De repente meu paradigma mudou, os sistemas ficaram maiores, eu precisava de algo melhor para lidar com aquela complexidade, veio a orientação a objetos, e com ela fui mudando aos poucos minha visão procedural para uma orientada a objetos. (já escrevi sobre esta experiência aqui)
Me lembrava dos momentos de crise nos quais a minha linguagem corrente (Visual Basic ou Delphi) não mais me atendia quando a web nos engoliu. A Web era em si um paradigma completamente novo para todos nós. Inclusive no sentido de Kuhn: resolveu uma série de problemas (como o de instalação, por exemplo) e ao mesmo tempo criou uma ciência normal, formada por uma nova categoria de programadores, os programadores web (ou frontend, ou webmasters ou o nome que melhor se encaixar).
No livro de há um capítulo sobre estas crises, o sexto, entitulado "As Crises e a Emergência das Teorias Científicas". Troque "Teoria Científica" por "Ambiente de Desenvolvimento" em sua leitura e verá que, se já passou por isto, o texto trata exatamente da mesma situação. Não há uma troca imediata: antigos hábitos vão se misturando a um novo modo de trabalho e com ele o que realmente valia à pena se mantém, e o que não se adequa é eliminado. É um período de crise profissional (termo usado por Kuhn em 1962) acompanhado de imensa insegurança. "O que será de mim? Estou obsoleto? Conseguirei aprender isto? Será que esta novidade não é mera picaretagem ou hype?".
É fascinante, por exemplo, no texto de Kuhn, ler a imensa resistência que emerge diante dos novos paradigmas. Digo uma coisa: EXATAMENTE o que vêmos quando apresentamos uma nova ferramenta ou paradigma de desenvolvimento. Impressionante como um texto de 1962 consegue descrever em detalhes o nosso dia a dia.
Penso em Grails: quando surgiu mudou radicalmente o modo como eu via o desenvolvimento Java EE. Era a emergência do conceito de convenção sobre configuração, não se repita e tantos outros em uma comunidade acostumada a um modo de trabalho absolutamente diferente.
Pensem em Node.js: é uma visão completamente diferente da que estamos acostumados. Javascript do lado servidor? E numa thread única??? E ainda por cima funciona?????? E toda uma gama de anomalias que eram difíceis de serem resolvidas com outras abordagens de repente são resolvidas de formas mais simples. É um novo paradigma surgindo? Talvez: o tempo dirá. Após a leitura do Kuhn está me parecendo um. Nâo o Node.js em si, mas talvez o modo de trabalho.
É interessante que no texto de Kuhn é exposto que não há também um único paradigma: muitas vezes (todo o tempo) eles convivem lado a lado. A substituição não se dá do dia pra noite, e muitas vezes se mantém lado a lado eternamente, ou mesmo um usando o outro. Exemplo: a física de Newton e a relatividade de Einstein, cada um no seu quadrado e muitas vezes dando as mãos. Penso que em tecnologia é a mesma coisa: uso PHP para alguns casos, Grails em outros, Node.js em algumas situações e por aí vai.
Concluindo
"Cientistas", desenvolvedores, bruxos, são todos a mesma coisa. Terminada a leitura do livro vi que ia muito além da "mera" história da ciência. É o modo como encaramos as mudanças que atropelam nossas vidas e alteram nossa visão do mundo que muitas vezes acreditamos ser tão sensata, tão segura.
É um livro que deveria estar na prateleira de todo programador, qualquer um que trabalhe com desenvolvimento ou qualquer outra área. Ao final acredito que nos traga humildade e também um alívio: as anomalias são a janela para um novo mundo. É só saltar por ela.
22