Autosuficiență (compilatoare)

Autosuficiența ( în engleză  self-hosting ) în dezvoltarea de software este utilizarea unui program pentru a crea versiuni noi ale aceluiași program. Termenul se aplică cel mai adesea compilatoarelor care își pot compila propriul cod sursă . De asemenea, programele autonome includ de obicei nuclee ale sistemului de operare , interpreți de linie de comandă și sisteme de control al versiunilor.

Istorie

Primul compilator autonom a fost scris pentru limbajul de programare Lisp de Hart și Levin la MIT în 1962. Ei au scris un compilator pentru codul sursă Lisp în Lisp și l-au testat într-un interpret care exista deja în acel moment . De-a lungul timpului, compilatorul a devenit autosuficient și a putut să-și compila propriul cod sursă.

Exemple

Când Ken Thompson a început să dezvolte Unix în 1968, el scria și compila programe pe GE-635 și le rula pe PDP-7 . Odată ce prima versiune a nucleului Unix, a interpretorului de comenzi , a editorului, a asamblatorului și a altor câteva utilitare au fost puse în funcțiune, sistemul de operare Unix a devenit autonom - programe noi puteau fi scrise și testate pe PDP-7 însuși fără utilizarea dispozitivelor de la terți. [unu]

Douglas McIlroy a scris un TMG ( Compiler Compiler ) cu TMG pe o bucată de hârtie, convertit manual în codul de mașină și a portat acel cod de mașină pe PDP-7 al lui Ken Thompson. [2]

Dezvoltarea sistemului GNU se bazează în mare parte pe utilizarea GCC (compilatorul GNU C) și GNU Emacs (un editor de text popular), care permite dezvoltarea software-ului liber în cadrul proiectului GNU fără dependențe externe de altele, potențial non-libere. software.

Multe limbaje de programare au implementări autonome: compilatoarele pentru aceste limbaje sunt scrise în limbajele însele. În unele dintre aceste cazuri, implementarea originală a fost dezvoltată folosind un alt limbaj de programare, limbaj de asamblare sau chiar cod de mașină .

Vezi și

Note

  1. Dennis M. Ritchie. „Dezvoltarea limbajului C” Arhivat 3 aprilie 2017 la Wayback Machine . 1993.
  2. Ken Thompson. VCF East 2019 - Brian Kernighan îl intervievează pe Ken Thompson . Preluat la 28 octombrie 2019. Arhivat din original la 11 iunie 2021.