Soběstačnost (překladače)

Soběstačnost ( anglicky  self-hosting ) ve vývoji softwaru je použití programu k vytvoření nových verzí stejného programu. Tento termín se nejčastěji používá pro kompilátory , které mohou kompilovat svůj vlastní zdrojový kód . Samostatné programy také obvykle zahrnují jádra operačního systému , interprety příkazového řádku a systémy správy verzí.

Historie

První samostatný kompilátor byl napsán pro programovací jazyk Lisp Hartem a Levinem na MIT v roce 1962. Napsali kompilátor pro zdrojový kód Lisp v Lisp a otestovali jej v interpretu , který v té době již existoval . Postupem času se kompilátor stal soběstačným a byl schopen sestavit vlastní zdrojový kód.

Příklady

Když Ken Thompson začal v roce 1968 vyvíjet Unix , psal a kompiloval programy na GE-635 a spouštěl je na PDP-7 . Jakmile byla spuštěna první verze unixového jádra, interpreter příkazů , editor, assembler a několik dalších utilit, operační systém Unix se stal samostatným – nové programy bylo možné psát a testovat na samotném PDP-7 bez používání zařízení třetích stran. [jeden]

Douglas McIlroy napsal TMG ( Compiler Compiler ) s TMG na kus papíru, ručně převedený na strojový kód a portoval tento strojový kód do PDP-7 Kena Thompsona. [2]

Vývoj systému GNU je z velké části založen na použití GCC (překladač GNU C) a GNU Emacs (oblíbený textový editor), který umožňuje vyvíjet svobodný software v rámci projektu GNU bez externích závislostí na jiných, potenciálně nesvobodných software.

Mnoho programovacích jazyků má samostatné implementace: kompilátory pro tyto jazyky jsou napsány v jazycích samotných. V některých z těchto případů byla původní implementace vyvinuta pomocí jiného programovacího jazyka, assembleru nebo dokonce strojového kódu .

Viz také

Poznámky

  1. Dennis M. Ritchie. „Vývoj jazyka C“ Archivováno 3. dubna 2017 na Wayback Machine . 1993.
  2. Ken Thompson. VCF East 2019 – Brian Kernighan vede rozhovor s Kenem Thompsonem . Získáno 28. října 2019. Archivováno z originálu 11. června 2021.