Boa noite a todos,
hoje gostava de partilhar algo muito importante que encontrei por acaso.
Acredito que isto é tão importante que deveria ser partilhado a todos os que desenvolvem software e dado como visualização obrigatória a todas as pessoas que começam a desenvolver algum tipo de software, seja em que linguagem for, seja que tipo de software for.
Basicamente é um vídeo de 2 horas e 15 minutos em que um senhor, Eskil Steenberg, on the top of his "game", que praticamente só programou em C nos últimos 15 anos e que fez um conjunto de libs do zero, como que edificando uma montanha que usa diariamente, e usa essas essas libs de C que vai construindo e aprimorando, desde há 15 anos, o mesmo código que ele corria à 15 anos e não por o código ser velho ou legacy ou roughten, mas pelo facto do código ser tão actual e com estratégias de desenvolvimento, que o tornaram tão mantivel e actual hoje como era desde há 15 anos atrás quando ele começou a construir pedra sobre pedra esta montanha.
Neste vídeo ele partilha muitas dessas estratégias passando por n temas desde os mais simples aos mais complexos.
Mas todos importantes.
É como assistir a uma Master Class de um mestre e ele é um verdadeiro mestre.
Prestem especialmente atenção à forma como ele se protege das ratoeiras que o poder do C lhe dá e como as usa a seu favor quando necessário.
Prestem atenção aos patterns que ele usa para não ter problemas, como que se guardar preventivamente contra possiveis erros, prestem atenção as dificuldades na programação em geral que ele salienta e em particular, na programação de protocolos ou da forma astuta como ele resolver os problemas de alocação de memória e de coisas como double free's. As estratégias dele e os patterns dele.
Por isso sugiro-vos mesmo que vejam este vídeo e que o divulguem, pois é mesmo uma pérola que tive a sorte de por acaso encontrar.
Este senhor é de facto um mestre enquanto programador.
Video - Eskil Steenberg - How I program CAs libs dele são open source, com licença free BSD, logo podem ser usadas para muitos fins e estão todas documentadas no site seguinte. Acredito que valha bem a pena dedicar algum tempo a estudá-las e perceber como ele as implementou, beber conhecimento deste mestre, principalmente duas, que são a Forge e a Testify, que contém as coisas de programação mais comuns e coisas de low level e as coisas de programação de protocolos, as coisas de memory allocation e as coisas de debugging.
This website is documenting all the libraries developed by Eskil Steenberg
GamePipelinehttp://gamepipeline.org/index.htmlObrigado,
Cumprimentos,
João Carvalho