domingo, março 14, 2021

Resenha: The Old New Thing

No começo dos anos 2000, uma leitura diária era o blog  The Old New Thing (que continua com posts diários). O blog é escrito por um desenvolvedor da Microsoft, Raymond Chen, e trata (na maior parte do tempo) de detalhes e curiosidades sobre software, principalmente o Windows.

É claro que eu comprei o livro, o que me espanta é ele ter ficado na prateleira este tempo todo. 



Este livro é de 2007, época do lançamento do Windows Vista, e eu comprei em 2008. Joel Spolsky (outro cujo blog eu acompanhava) cravou Raymond como o representante da filosofia de compatibilidade acima de tudo na Microsoft. Filosofia esta que perdeu força no Windows a partir do Vista. Será que o livro envelheceu bem?

Durante muito tempo a ferramenta "séria" de programação para o Windows foi o Visual C/C++. Um programa escrito com o SDK do Windows tem que executar uma série de "encantamentos" e "rituais" para apresentar uma janela. Imagino que a maioria dos que lerem este post não tem ideia do que seja um "window class", "message pump" ou arquivo .rc. Neste sentido, as partes do livro que entram em detalhes de código provavelmente serão misteriosas e enfadonhas.

Ao longo dos anos as piadas com a Microsoft fizeram com que muitos pensem que a Microsoft só contrata idiotas e incompetentes. Poucos param para pensar na complexidade de um Windows ou tem ideia dos compromissos técnicos e do peso de um projeto que começou no início dos anos 80. Este livro dá algumas pinceladas nisto (provavelmente você vai descobrir uma série de recursos do Windows que nunca tinha ouvido falar). E é de assustar as adaptações feitas para que o Windows 95 suportassem softwares incrivelmente bugados e que insistiam em depender de aspectos internos do sistema.

Só para ficar em um exemplo surreal, tinha uma certa aplicação (o livro não aponta os culpados) que acessava uma região de memória após tela liberado. Para funcionar no Windows 95, quando este programa pedia para liberar o Windows mantinha a memória alocada e ligava uma pendência para liberar depois de algum tempo. Porque se o programa travasse a culpa era do Windows e não do programa (afinal, funcionava no Windows 3)...

Muita preocupações durante o desenvolvimento do Windows, já na época da escrita do livro, são obsoletas. Um byte não custa mais um dólar, dezenas de ciclos não são mais um overhead significativo e não existem mais problemas de compatibilidade com dispositivos USB (será?).

O ponto alto e durador do livro, na minha opinião, são as considerações sobre usabilidade e a relevância de fatores externos nas especificações.

Veredito: Tem trechos muito interessantes, mas a maior parte não vai interessar para a maioria das pessoas. Se o ebook fosse baratinho, recomendaria. Pelo preço atual sugiro dar uma olhada no blog.

Uma curiosidade: os posts do meu blog são publicados às 7:00 devido ao Raymond Chen.

Nenhum comentário: