Todos deveriam aprender a programar? Spoiler: Não.

Ok, essa pergunta nunca me foi feita diretamente (não que eu me lembre), mas ela já surgiu algumas vezes quando eu discuto comigo mesmo. Não exatamente essa pergunta, mas talvez a questão de como seria um mundo onde todas as pessoas sabem “programar”.

Eu prometi na página Sobre que não escreveria nada muito chato sobre computadores e farei o meu melhor para cumprir a promessa.

Há algumas semanas o Youtube me recomendou esse vídeo. Eu não conheço o trabalho do code.org, então não vou julgá-los (até porque a ideia é boa). É um vídeo interessante de pessoas conhecidas falando sobre como escrever código é incrível (tem até o will.i.am), mas o que me chama atenção é a frase que inicia o vídeo, vinda de ninguém menos que Steve Jobs.

Eu não gosto muito de frases sem contexto porque eu já vi o que a internet (e não só ela) consegue fazer com essas coisas e se você é como eu é possível vê-la sendo dita aqui. Não sei se é relevante, mas este vídeo mostra mais ou menos em que período isso foi dito, o que ajuda a contextualizar.

Há aproximadamente um mês circulou pela internet um trecho de uma entrevista de Linus Torvalds na qual ele diz que não espera que todos saibam programar porque essa é uma atividade bem especifica. Na verdade a mídia foi um pouco mais sensacionalista (afinal eles tem filhos para alimentar) e não foi exatamente assim que a noticia apareceu na maioria dos blogs. De qualquer forma, a entrevista está aqui e é sempre melhor que um telefone sem fio.

Agora vem a pergunta, de qual lado eu estou. Bem, quem me conhece sabe que eu sou eu grande fã de Linux e talvez um pouco Apple hater, então não deve ser difícil descobrir a resposta (e ela está no título do post, anyway).

Este último parágrafo é uma brincadeira (só quero deixar isso claro). Se eu quisesse simplesmente responder essa pergunta teria feito isso no Twitter.

Eu acho que a questão não é exatamente essa e antes de falar sobre aprender a programar, eu quero falar sobre aprender. Nós temos uma instituição chamada escola cujo objetivo básico é ensinar (o que é diferente de levar alguém a aprender algo). Pessoas matriculam seus filhos em escolas onde acreditasse que esses filhos devam “aprender”. Porém, não é difícil encontrar filhos que retornam para casa sem “aprender” e cujos pais simplesmente não ligam.

Aqui é o momento perfeito para o complexo de vira-lata aparecer e dizer que o sistema de ensino brasileiro é uma merda[…] E por isso eu vou deixar o sistema de ensino de fora. Além disso, eu vejo esse problema de forma mais geral, não somente em uma classe ou país específicos.

Para mim, o maior problema é em como a gente vê e trata curiosidade na nossa sociedade. Você consegue ouvir bastante “Esse menino destrói todos os brinquedos que eu dou para ele” mas dificilmente ouve “Que incrível como ele, tão novo, já tem tanta curiosidade sobre como as coisas funcionam”. É muito frustante ouvir a primeira frase, curiosidade não deveria ser associada a algo ruim. Certa vez minha mãe disse algo como “… porque você faz tantas perguntas?” e meu pai respondeu “Mas ele está certo, é assim que se aprende“.

Muitos, se não todos, conhecem histórias de filmes onde certo personagem sofre bullying por ser “nerd” (e uma questão interessante é porque na maioria da vezes esse personagem é do sexo masculino, mas isso estenderia demais este post). Embora esses filmes fantasiem um pouco em sua premissa e exagerem em alguns pontos (afinal, é isso que filmes fazem), esse desmerecimento daqueles que são curiosos e querem “aprender” é algo completamente normal e aceitável.

A origem desse comportamento vem do conceito de que é esperado que poucas pessoas sejam curiosas e queiram descobrir como as coisas funcionam. E como sempre, o grupo maior oprime o menor. O conceito em si não é mal, algumas consequências dele são. Quantas pessoas por aí simplesmente entram no seu carro pela manhã, viram a chave e saem para o transito sem ao menos se questionar como todo esse maquinário funciona? Afinal, há sempre trabalho a fazer, pouco tempo a “perder” e, além disso, “nós” já concordamos que não dá para aprender tudo.

Quantos dos que lerão esse post já foram ligar um ar-condicionado num dia quente e pararam para pensar em como ele funciona? Ou ainda, quantos sabem como uma “simples” fechadura funciona?

Há um motivo para essas coisas não serem aprendidas em escolas e é porque elas são chatas. Não realmente chatas, e sim chatas porque funcionam e é aceitável seguir sua vida sem saber desses detalhes. Eu gostaria destacar o verbo aprender na primeira frase desse parágrafo, pois talvez o seu professor de física tenha tentado te ensinar como um ar-condicionado funciona (afinal, isso é algo fantástico para ele), mas, por ser chato você ignorou.

Alguém pode argumentar que uma pessoa não tem acesso fácil a ferramentas e materiais para montar o seu próprio carro e que isso é diferente com programas de computador (editor de texto, interpretador de python, etc). E se você pensa assim, tudo bem, eu jogo fora minha analogia a partir daqui.

Nós temos uma enorme população que sequer sabem qual a cara de um programa de computador simplesmente porque não tiveram a curiosidade de pesquisar sobre. Meus pais não saberiam dizer exatamente o que eu estudo e o chute mais próximo que eles poderiam dar é “Tem alguma coisa a ver com matemática”. Eu ouço bastante “Isso é muito difícil, deixa para os mais novos fazerem isso”. Bem, desmontar completamente um motor, encontrar um defeito e depois remontá-lo me parece muito difícil, mas algumas pessoas fazem isso. Além disso, eu nunca ouvi falar de limite de idade para aprender (mas isso também devia do foco do post e isso aqui já está longo). Mas tudo bem, afinal não é necessário saber dessas coisas mesmo.

Aprender a programar começa com uma curiosidade sobre como essas incríveis máquinas chamadas computadores funcionam e como essas entidades chamadas programadores (que segundo dizem, transformam café em código) domam essas máquinas e fazem elas obedecerem as suas ordens.

Certamente é muito boa a experiência de querer que um computador faça algo e, percebendo que ninguém programou isso antes, ir lá e fazer você mesmo. Ou descobrir um algoritmo que resolve um problema de uma forma que você nunca imaginou e, mesmo que muitos já tenham feito isso, implementá-lo só para vê-lo respondendo corretamente. Ou até mesmo o poder de escrever um pequeno script no linux que diz ao computador: “Sabe essa pasta aqui, então, entre em todas as pastas dentro dela, encontre só os arquivos que são jpg, converta-os para png, coloque os nomes em minúsculo e crie um zip com todos eles”, depois apertar Enter e vê a “mágica” acontecer (dica: use –verbose).

Porém, dar ordens a um computador é chato para a maioria das pessoas, ou como o Linus Torvalds disse: “…não é algo que esperamos que a maioria das pessoas faça”.


Eu concordo com o que Steve Jobs disse sobre programar ensinar a pensar.

Na verdade, ensina uma maneira de pensar e de ver o mundo que não é única e nem mais importante que as outras. Mas ao meu ver uma proposta mais interessante seria “Todos deveriam acreditar que ser curioso sobre como as coisas funcionam é interessante e agradável”. Assim as pessoas iriam experimentar programação e alguns iriam descobrir que gostam da ideia de dar ordens a computadores, não porque essa tecnologia é o “nosso futuro” como alguns dizem, mas porque é divertido e excitante.

E claro, eu sei que se isso realmente acontecesse a estrutura da sociedade mudaria completamente. E que isso provavelmente é utopia, já que a sociedade não mudaria para essa direção. Eu também não diria que sonho com um mundo assim. Só acho que “Todos deveriam aprender a programar” é uma ideia vazia se muitos não querem sequer aprender.

E assim eu termino o post. Ele ficou muito maior do que a maioria das coisas que eu escrevo, não tem imagens e representa a opinião de uma única pessoa. Pensando bem, esse post deve ser extremamente chato. Até mais.

Erick Pires

Estudante de Ciência da Computação

Rio de Janeiro, Brazil https://erickpires.com