Frage

Ich bin gespannt, über welche tools werden verwendet, um die nächste version von sich selbst.

Zum Beispiel, Delphi hat lange behauptet, dass "Delphi ist in Delphi geschrieben".

Ich gehe davon aus Visual Studio geschrieben mit Visual Studio.

Was sind einige andere Beispiele von tools, geschrieben in sich selbst?

War es hilfreich?

Lösung

Bjarne Stroustrup erwähnt in das Design und die Entwicklung von C ++ , dass die erst C ++ Compiler wurde in C ++ geschrieben.

Ich habe gerade bemerkt, ist dies auch eine Frage in seinem FAQ

  

Der erste C ++ Compiler (Cfront) war   in C ++ geschrieben. Zu bauen, dass ich zum ersten Mal   Gebrauchte C eine „C zu schreiben, mit   Klassen „-bis-C-Präprozessor.“ C mit   Klassen“war ein C Dialekt, wurde   die unmittelbaren Vorfahren C ++. Das   Präprozessor „C übersetzt mit   Klassen“Konstrukte (wie Klassen   und Konstrukteure) in C. Es war ein   traditionelle Präprozessor, die nicht tat   alle verstehen, die Sprache, links   die meisten von der Art, die Überprüfung für die C   Compiler zu tun, und übersetzt   einzelne Konstrukte ohne vollständige   Wissen. Ich schrieb dann die erste   Version von Cfront in "C mit Klassen".

Andere Tipps

Interessanterweise sind die VB.NET und C # Compiler selbst in nicht verwalteten C ++ geschrieben sind (was zu dem C ++ Team-T-Shirt: "Mein Compiler kompiliert yours"). Das C # Team hofft, ein vollständig verwalteter-C # C # Compiler für VS2010 haben gehostet werden.

Dies ist off-topic, aber streng genommen, es ist ein Beispiel für ein Werkzeug, das sich aufbaut.

Die reprap - eine Open-Source-3D-Prototyping-Maschine, die vor kurzem gab ‚Geburt‘ auf „seine erste vollständige replizierte Kopie arbeiten“.

Ich liebe diese Art von Sachen.

generisch gesprochen, sind C-Compiler in der Regel in C geschrieben ... * nichts-Kernel auf * nichts zusammengestellt, etc.

Außerdem gibt es die PyPy Projekt, das ein Python-Interpreter bietet geschrieben in Python.

Wenn gcc (das Gnu C Compiler http://gcc.gnu.org/ ) nicht weit verbreitet, können Sie es von der Quelle zu kompilieren hatte, stage1 Compiler kompiliert, dann stage2 mit Stufe 1 kompilieren, bis Sie Ihre endgültige Compiler haben. Ich nehme an, es muss auch heute sein.

Hier ist ein weiteres Beispiel: Monos C # Compiler Selbst Hosting - dh es geschrieben ist in C # und verwendet selbst zu kompilieren.

Dog fooding bezieht sich auf die allgemeine Praxis eines Unternehmens intern sein eigenes Produkt verwenden, vor allem während seiner Entwicklung.

Viele Leute mögen, wie Lisp kann in Lisp implementiert werden.

Squeak ist ein Smalltalk-80 Umsetzung in sich selbst geschrieben.

  

sogar seine virtuelle Maschine vollständig in Smalltalk geschrieben ist es einfach zu debuggen zu machen, zu analysieren und zu ändern.

Suns Java-Compiler ist seit langem in Java geschrieben. Allerdings jüngste Arbeiten wird auch einen JIT-Compiler in Java zu schreiben. Dies ist die JVM-Komponente, die Java-Bytecode auf native Prozessorbefehle umwandelt.

Wir verwenden entwickeln Realbasic verwenden. Die IDE ist in sich selbst geschrieben, oder so habe ich führen, zu glauben.

ghc, die Haskell Compiler wird meist geschrieben in Haskell.

tcc ist ein weiterer Selbst Hosting-C-Compiler für x86 und ARM. Sein Anspruch auf Ruhm ist sein, na ja, winzig (100k oder so für Präprozessor, Compiler, Assembler und Linker).

Ich würde davon ausgehen, dass so ziemlich jedes tool, das Teil der typischen Entwicklungsprozess einbezogen werden, die seine eigene Entwicklung, so gut wie möglich.Dies umfasst:

  • bestimmte Programmiersprachen, vor allem diejenigen zusammengestellt
  • IDEs
  • text-Editoren
  • version-control-Systeme
  • bug-Tracker
  • build-Systeme

Wenn Sie auf einem team-building-eines dieser Werkzeuge, und Sie sind nicht zu entwickeln, die für eine bestimmte Nische, die nicht für Ihr team, ich weiß nicht, warum Sie es nicht benutzen, um sich selbst aufbauen.Die Entwickler werden die Benutzer des Produkts ist eine der besten Möglichkeiten, um mögliche Verbesserungen.

Für die AmigaOS gibt es eine dritte Partei Basic-Interpreter war (kann mich nicht erinnern, den Namen), für die Sie später einen Compiler kaufen konnte. Der Compiler wurde als Quelle geliefert, so hatte man den Interpreter zu verwenden, um den Compiler zu laufen selbst zu kompilieren ...

Kent Beck zitieren:

  

... es kann ein wenig scheinen, wie Gehirnchirurgie auf sich selbst durchführen.

Visual Studio und Team Foundation Server selbst bauen. Es heißt Dogfooding , ein Begriff, wenn auch nicht in Microsoft stammt, ist es sicherlich mag

Oracle Application Express ist eine Web-Anwendung Entwicklungswerkzeug das in sich selbst gebaut.

Eclipse-IDE im Allgemeinen aufgebaut und entwickelt mit Eclipse IDE.

Es ist ziemlich typisch ein Sprachen-Compiler in seiner eigenen Sprache geschrieben haben. Dies nennt man Selbst Hosting oder Bootstrapping .

Maven2 verwendet Maven2 gebaut. Ok, es ist nicht gebaut (dh geschrieben ) mit sich, da es sich um ein Werkzeug (dh Compile ) Projekt zu bauen, aber es seinen eigenen Code verwendet zu kompilieren .. .

Ich war erstaunt, mit JSLint

Kurz gesagt hat es als Javascript "Compiler" beschrieben worden ist Javascript.

Ich baue einen IDE-basierte Code-Generator, und ich bin mit ihm selbst zu bauen. Wenn die Tat, wie Stroustrup hat, bin ich baue zunächst ein gültiges Generatormodell und mit einem Pre-Prozessor den letzten C ++ Code bauen zu kompilieren. Sobald ich eine gute Arbeits Version der IDE haben, werde ich starten Sie es weitere Versionen von sich selbst zu bauen.

Es ist wie eine neue Dimension der Bedeutung von „rekursive Programmierung“ geben!

AFAIK hat der OpenJDK sich mit der installierten Java bauen erste und danach mit sich selbst.

Natürlich ist das Jetbrains Team verwendet eine eigene IDE IntelliJ IDEA diese IDE zu entwickeln.

Ich nehme an, dies für die meisten IDE-Anbieter wahr ist.

Soweit ich weiß, wenn EMACS von der Quelle, die alle mit dem elisp Code Bootstrap. Ich fand, dass ziemlich bemerkenswert.

Nicht ganz, was Sie fordern, sondern die gesamte Entwicklungsumgebung für die Revolution http://www.runrev.com verwendet Revolution selbst gebaut, und die Quelle (mit Ausnahme von Kleinteilen, die die Lizenz erzwingen) vollständig in Source-Form ausgesetzt. Also, wenn Sie den Weg nicht mögen die Entwickler-Umgebung implementiert ist, können Sie es ändern. Finden Sie einen Fehler, zu beheben. Sie können auch leicht zusätzliche Entwicklungs-Tools bauen und sie integrieren.

Ada und Forth

gab ich die Smalltalk-80 eine Steigerung beantworten. Best, eleganteste Beispiel kann ich mir vorstellen. Die Frage erinnert mich auch an einem etwas verwandtes Problem, das populär verwendet werden: ein Programm schreiben, das sich ausgibt. Nicht das gleiche Niveau von Bootstrapping, aber ein wenig Spaß Programmierung Puzzle für Ihre Unterhaltung. Vielleicht nicht in allen Sprachen?

Die alte Watcom C / C ++ Compiler gebaut wurde mit sich selbst.

Kragen Sitaker Ur-Scheme ein schönes Beispiel für a kleine nicht-triviale Compiler selbst geschrieben. Die Seite Links zu mehreren mehr guten Quellen in dieser Vene.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top