A elegância da simplicidade

UNIX is very simple, it just needs a genius to understand its simplicity.

Começar um artigo por uma citação não será propriamente ortodoxo, não obstante, sendo uma coluna de opinião, de alguém que “não se importa”, não creio que seja “grave”!

Posto isto, vamos ao que realmente interessa! A elegância da simplicidade, pode parecer um assunto pouco interessante, mas na verdade tem muito que se lhe diga! A título introdutivo, gostaria de relembrar os tempos dos microprocessadores de 8 bits, extremamente simples, como o caso dos 8080, Zilog Z-80, Motorola 68000, etc… Nessa altura, a simplicidade tanto de hardware como software era no mínimo elegante, para não dizer “bela”, uma vez que muito era feito, com muitíssimo pouco! O próprio código escrito para essas plataformas era simples, compacto, eficiente e eficaz, super “económico” em termos de recursos de memória RAM e processamento, além de “simples” de entender, tanto para o comum dos mortais, como para os mais “tecnologicamente ávidos”. Por esta altura a “simplicidade” era tanta, que a beleza do código, bem como do hardware, residia nela. A beleza, a elegância e o motivo de orgulho, de quem produzia software, hardware, componentes, etc… residia na simplicidade do que se fazia! Simplesmente elegante, eficiente, performante, eficaz!

Feita esta breve introdução e passando mais concretamente ao actual, em que tudo, ou quase tudo é “complexo”, deselegante, “feio”, quase imperceptível e rebuscado, muitas vezes repara-se que na ânsia de “produzir mais”, se deixou de medir qualidade em simplicidade, para se medir em número de linhas de código de um software, ou em número de transístor de um circuito, tantas vezes perdendo desempenho, em favor do facilitismo, criando novos problemas, novas dificuldades, e tornando algumas, realmente difíceis de detectar e de corrigir. Apenas a título de exemplo as duas vulnerabilidades conhecidas por MeltDown e Spectre, que passaram anos, despercebidas, tanto nos microprocessadores, como no código do kernel dos sistemas operativos, que dada a sua “extrema deselegância”, tornou simples a passagem dessas falhas despercebidas e complexa a correcção das mesmas.

[...]

Leia o artigo completo na edição 59 da Revista PROGRAMAR

Publicado na edição 59 (PDF) da Revista PROGRAMAR.