DEV Community

loading...
Cover image for O desenvolvedor, os paradigmas e as revoluções científicas

O desenvolvedor, os paradigmas e as revoluções científicas

Henrique Lobo Weissmann (Kico)
Progr(amo), logo existo. Fundador da itexto.
・6 min read

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?

Link para o livro na editora Perspectiva Link para o livro na editora Perspectiva

É 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.

Um pato? Um coelho? Ambos? Um pato? Um coelho? Ambos?

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.

grails_logo

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çãonão se repita e tantos outros em uma comunidade acostumada a um modo de trabalho absolutamente diferente.

Seria o Node.js sinal da emergência de um novo paradigma? Seria o Node.js sinal da emergência de um novo paradigma?

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.

Discussion (0)