Bootstrapping (Programmierung)

Prozess in der Programmierung
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Mai 2013 um 13:51 Uhr durch Der Messer (Diskussion | Beiträge) (GHC-Artikel entsteht in den nächsten Stunden/Tagen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Bootstrapping (auch Ureingabe[1]) bezeichnet in der Programmierung den Prozess, mit einfachen Entwicklungswerkzeugen mächtigere zu programmieren.

Die einfachste Umgebung ist etwa ein sehr grundlegender Texteditor und ein Assembler. Mit diesen Werkzeugen kann man einen komplexeren Texteditor und einen einfachen Compiler für eine höhere Programmiersprache schreiben, und so weiter, bis man eine grafische integrierte Entwicklungsumgebung und eine sehr hohe Programmiersprache hat.

Compiler für eine Programmiersprache X werden oft in derselben Programmiersprache X geschrieben (Beispiele: Fast alle C-Compiler, PyPy, Glasgow Haskell Compiler). Damit ergibt sich ein Henne-Ei-Problem: Wie wird der neue Compiler erstmals compiliert? Mögliche Wege sind:

  • Ein anderer Compiler für X wurde in einer anderen Programmiersprache Y geschrieben.
  • Frühere Versionen des Compilers wurden in einer Teilmenge von X geschrieben, für die ein anderer Compiler existierte.
  • Der Compiler für X ist cross compiled von einer anderen Architektur, auf der ein Compiler für X existiert.
  • Der Compiler wurde von Hand kompiliert – und möglicherweise hinterher auf seinen eigenen Quellcode angewendet.
  • Der Compiler hat sich selbst mithilfe eines Interpreters, der in einer anderen Sprache Y geschrieben wurde, kompiliert.

Referenzen

  1. Bootstrapping. dict.cc, abgerufen am 17. März 2011.