Jak neselhat a doletět na Měsíc a zpět
i Zdroj: PCTuning.cz
Historie Článek Jak neselhat a doletět na Měsíc a zpět

Jak neselhat a doletět na Měsíc a zpět | Kapitola 5

Michal Rybka

Michal Rybka

6. 6. 2021 12:23 7

Seznam kapitol

1. Tolerance k chybám 2. ROM s dráty 3. Margarete Hamiltonová 4. Zkusili jste to restartovat? 5. Pryč s chaosem 6. 21312 Women of NASA

Bylo nebylo, počítače byly tak strašně nespolehlivé, že jste je prostě nemohli provozovat jen tak: Bez parity, na integrovaných obvodech a bez dozoru samotné. Přesto se našli lidé, kteří bojovali s chybami – a mezi nimi jedna opravdu výjimečná vývojářka, která software zodolnila tak, že jste mu i život mohli svěřit!

Reklama

Mezi další věci, které prosadila, byla formalizace používaného jazyka a zákaz commitů neintegrovaného kódu do hlavní verze – vše se muselo testovat odděleně a držet samostatně do doby, než proběhly integrační testy. Ukončila kreativní chaos plný šílenců, kteří komentují svoje zdrojáky latinsky a jsou hrdí, že tomu nikdo nerozumí – alespoň v NASA, v menších firmách takoví jedinci přežívají úspěšně dodnes – a stále nenávidí formální commity a dokumentaci. 

Hamiltonová se nakonec stala ředitelkou Software Engineering Division a byla zodpovědná za integraci obecně. V roce 1969 vznikla její slavná fotka, jak stojí vedle hory výpisů. Ve skutečnosti je to „tak trochu fake“: Reálně je zdroják dlouhý „pouze“ dva balíky, takže pro focení vzali všechny kopie, které zrovna našli v laboratoři. 

Intenzivní práce na projektu si ale vybrala svoji daň. Její muž vystudoval ještě práva na Harvard Law School v 1963 a stal se z něj ochránce občanských práv, konkrétně se v rámci Civil Liberties Union zabýval ochranou svobody slova. Každý z nich mířil jiným směrem, a nakonec se v roce 1967 rozvedli. V roce 1969 se vdala podruhé za Dana Licklyho.

V roce 1976 Hamiltonová založila Higher Order Software, kde se zabývala vývojem robustního softwaru. Na základě svých zkušeností pak v roce 1986 založila Hamilton Technologies, kde vyvinula Universal Systems Language (USL) – nástroje pro popis komplexních systémů a jejich formální testování ještě před reálným testováním. Systému se říká Development Before the Fact (DBTF) a je založen na formálním dokazování správnosti. 

Základní princip jejího testování je založen na tom, že prostě nemůžete jen tak spustit kód a koukat, co to udělá: Ne v případě, že řídíte raketu anebo letadlo. Jsou situace, které se prostě nedaly otestovat, před Apollem 11 nikdo nevěděl, zda se návratový modul skutečně oddělí a vystoupá zpět na orbitu! Spousta věcí musí být navržena předem a musí tam být zabudované bezpečnostní pojistky pro neočekávané situace – ne vyloženě pro chyby, ale pro situace, které vás předem ani nenapadnou.

Takový kód si nemůžete pižlat na koleně. A Hamiltonová přišla s tím, že návrh komplexního a bezpečného kódu je vlastně inženýrská práce jako každá jiná – a prosadila pro ni název „softwarové inženýrství“. Je to obor, který studuje jak budovat velké softwarové systémy, jak je bezpečně napojovat a jak předcházet chybám. Softwarové inženýrství není zrovna obor, který „geniální kodeři“ milují, ale bez systematického přístupu bychom se softwarem zažívali mnohem děsivější dobrodružství.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama