Postagem em destaque

Huguinho e Zezinho surfando com granizo

Imagem
Certa vez, em outubro de 2023, Huguinho e seu amigo Zezinho foram surfar no final da tarde. O vento estava forte e a chuva, constante. Quando chegaram perto da praia, mal conseguiam segurar suas pranchas. O mar estava bem mexido, e ainda tiveram que andar cerca de 1 km até o pico. Quando estavam se aproximando, começou a cair granizo! Dava para ouvir claramente o barulho das pedras contra as pranchas. Eles se abrigaram embaixo do posto avançado dos salva-vidas, mas não adiantou muito. Ficaram olhando o mar — que estava bem agitado e quebrando bem longe — e perceberam que estava difícil passar a arrebentação. Como o granizo não parava, decidiram entrar assim mesmo. Logo que entraram no mar, o granizo cessou, mas aí começou o verdadeiro desafio: passar a arrebentação. Depois de levar várias séries na cabeça e quase sem forças, finalmente conseguiram. E começaram os raios! Quando estavam quase decidindo sair por causa deles, os raios pararam. Ufa! É algo estranho: você está lá, só você (c...

Curiosity e suas 2,5 milhões de linhas de código

Após o sucesso do pouso da Curiosity, fiquei imaginando em que linguagem de programação foi utilizada, principalmente, no módulo de pouso. Meu palpite era na linguagem C, e depois de algumas pesquisas no Google, pude confirmar minhas suspeitas.

Agora, por que os programas rodam tão bem, visto que o computador (um RAD750) é bem modesto e são cerca de 2,5 milhões de linhas de código?

O primeiro ponto a ser observado é o sistema operacional. A nave usa o VxWorks. Talvez você não conheça o VxWorks pelo nome mas com certeza já utilizou algum produto que o utiliza. Veja a lista de produtos que usam este sistema operacional - é auto-explicativa.

O segundo ponto, são as regras de codificação seguidas, das quais destaco (são 31 regras no total):
  • Utilizar funções com poucas linhas de código, para tornar o código simples e compreensível;
  • Evitar o uso de recursão;
  • Verificar o fim dos loops;
  • Não utilizar alocação dinâmica de memória (após a inicialização);
  • Checar valor de retorno das funções;
  • Checar os parâmetros das funções.
Ou seja, nada demais: simplesmente clareza no código e cuidado na programação.

Fonte: JLOUIS Ramblings

Comentários

Postagens mais visitadas deste blog

Google Hacking

Netflix não mostra ícone de streaming

Radar no KM 175 da BR101