← ver outras postagens

Sobre preguiça, automação, tipos e linguagem funcional

08/08/2021

Existe aquela frase famosa (que dizem ser) do Bill Gates onde ele diz "Eu escolho o preguiçoso pra fazer o trabalho difícil porque ele vai encontrar um jeito fácil de executá-lo".

Acho exagerado, mas talvez com um pingo de verdade? O termo preguiçoso é um meio pesado e poderia ser substituido por "pessoa que otimiza o tempo".

Não tô falando de um workaholic ou maluco da produtividade. Não é isso... É só aquela pessoa que quer usar o seu tempo da maneira mais eficiente naquele instante, seja pra evitar um processo repetitivo ou evitar de se preocupar com o que pode ser cuidado de um jeito mais fácil.

Automatizar uma tarefa, torna-lá mais fácil de ser executada, delegar preocupações, parecem ser processos de valorização e enriquecimento do tempo.

Elm, por exemplo, é uma linguagem de programação bem restritiva. Ela é fortemente tipada, imutável e com efeitos colaterais controlados. O que ela cobra na hora de desenvolver dentro dessa estrutura rígida, ela devolve ao garantir a "corretividade" do meu programa e a tranquilidade de que não haverá erros em tempo de execução.

Quando eu uso Elm, por mais trabalhoso que pareça ser seguir suas regras e limitações, eu estou na verdade escolhendo o caminho da preguiça, afinal o computador pode me auxiliar a escrever um programa mais correto sem sobrecarregar o meu cérebro. Se ele pode fazer este trabalho (através da análise estática por exemplo) então eu não preciso gastar meu tempo nem espaço mental com isso.

Elm é um exemplo mas existem outras linguagens como Haskell, Rust, PureScript, etc...

Na hora de escolher uma ferramenta você pode valorizar a sua popularidade, expressividade, quem banca seu desenvolvimento, etc. Eu, quando possível, gosto de escolher valorizar meu tempo.