Heim  >  Artikel  >  Backend-Entwicklung  >  In welchem ​​Quellcode ist die Go-Sprache geschrieben?

In welchem ​​Quellcode ist die Go-Sprache geschrieben?

青灯夜游
青灯夜游Original
2022-12-27 16:49:185066Durchsuche

Der frühe Quellcode der Go-Sprache wurde in C-Sprache und Assembler-Sprache geschrieben. Ab der Go-Version 1.5 ist er vollständig in der Go-Sprache selbst geschrieben. Bereits Anfang 2014 hatte Google mit den Vorbereitungen begonnen, die C-Sprache vollständig aus dem Quellcode der Go-Sprache zu entfernen, was bedeutete, dass die Go-Sprache das Bootstrapping wirklich abschließen und den Go-Sprach-Compiler mit einer frühen Version neu schreiben konnte.

In welchem ​​Quellcode ist die Go-Sprache geschrieben?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

Die Go-Sprache hat jetzt Bootstrapping implementiert, was bedeutet, dass Golang jetzt selbst in Golang geschrieben wird. In den frühen Tagen wurde Go in Assemblersprache und C-Sprache implementiert. Später, als Go ausgereift war, begann die Go-Sprache mit einer frühen Version zu booten und den Go-Sprachcompiler neu zu schreiben.

Ab der Go-Version 1.5 ist es vollständig in der Go-Sprache selbst geschrieben. Der Quellcode der Go-Sprache ist von großer Referenzbedeutung für das Verständnis der zugrunde liegenden Planung der Go-Sprache. Lesern, die ein tiefgreifendes Verständnis der Go-Sprache erlangen möchten, wird empfohlen, ihn zu lesen.

Projektlink: https://github.com/docker/docker

Google realisiert nach und nach die „De-C-Sprache“ der Go-Sprache

Der Kern vieler Programmiersprachen Man kann sogar sagen, dass die C-Sprache die Kerngrundlage moderner Computer ist und auf der C-Sprache und Unix basiert. Ken Thompson und Dennis Ritchie haben die C-Sprache und Unix erstellt, und dann haben C und Unix alles neu generiert. JVM, PHP-Kern, GCC, Emacs, Vim, Unix, Linux usw. sind alle in der Sprache C geschrieben.

Die Go-Sprache ist natürlich keine Ausnahme. Der Go-Sprachcompiler wurde ursprünglich in der C-Sprache geschrieben. Einer der Autoren der Go-Sprache ist der berühmte Gründer Ken Thompson. Bereits Anfang 2014 hatte Google mit den Vorbereitungen begonnen, die C-Sprache vollständig aus dem Quellcode der Go-Sprache zu entfernen, was bedeutet, dass die Go-Sprache das Bootstrapping wirklich abschließen kann.

In welchem ​​Quellcode ist die Go-Sprache geschrieben?

Googles spezifischer Plan zum Bootstrap der Go-Sprache

Go-Sprache ist eine sehr effiziente Programmiersprache mit besserer Leistung und Ressourcennutzung als Java, C#, PHP, Python und andere auf virtuellen Maschinen basierende und interpretierte Sprachen . Auch die Effizienz ist höher. Grundsätzlich ist die Go-Sprache neben C/C++ die Hochsprache mit der besten Leistung. Im Vergleich zu C und C++ weist die Go-Sprache große Vorteile in der Syntax auf.

Sowohl Java als auch PHP können nur teilweise gebootet werden. Die JVM von Java muss noch in der C-Sprache implementiert werden, und der PHP-Kern muss ebenfalls in der C-Sprache geschrieben sein. Die Programmiersprache, die das Bootstrapping erreichen kann, muss Turing sein CSS Es gibt keine Möglichkeit, das Bootstrapping abzuschließen, und es handelt sich nicht wirklich um Programmiersprachen.

Googles spezifische Implementierungsschritte: Entwickeln Sie einen C-to-Go-Compiler, übersetzen Sie den Compiler-Quellcodebaum, um einen Go-Compiler mit offensichtlichem C-Stil zu konvertieren Go-Compiler im Sprachstil; Optimierung des Go-Compilers, hauptsächlich Optimierung von Prozessor- und Speicherleistungsproblemen, Hinzufügen paralleler Mechanismen, Optimierung und Eliminierung redundanter Prüfungen und Grenzüberprüfungsfunktionen mithilfe der neuesten Version des Go/Parser- und Go/Types-Ersatz-Compiler-Frontends;

In welchem ​​Quellcode ist die Go-Sprache geschrieben?

Warum möchte Google, dass die Go-Sprache Bootstrapping implementiert?

Die Bedeutung des Bootstrapping hat drei Hauptpunkte: das Testen der Bootstrapping-Programmiersprache; die Implementierung eines Compilers, der in einer höheren Programmiersprache geschrieben ist, und die Programmiersprache kann auch von der Entwicklung der Sprache selbst profitieren;

In der Lage zu sein, zu beweisen, dass zumindest die Programmiersprache Turing-vollständig ist, was beweist, dass die Programmiersprache selbst über solch leistungsstarke Fähigkeiten verfügt. Dies ist an sich auch eine Art Werbung für die Programmiersprache Sprache verfügt über starke allgemeine Fähigkeiten und sehr starke zugrunde liegende Fähigkeiten. Der Bootstrapping-Prozess ist im Wesentlichen ein Test der Programmiersprache. Während dieses Prozesses können die Kernentwickler viel Erfahrung und Erkenntnisse über die Programmiersprache selbst sammeln und so früh wie möglich Mängel und Designfehler in der Programmiersprache selbst entdecken , um rechtzeitige Anpassungen und Optimierungen zu ermöglichen.

Wenn also eine Programmiersprache gebootet werden soll, gilt: Je früher dies geschieht, desto besser. Der Bootstrapping-Prozess ist auch ein Prozess zur Verbesserung der Programmiersprache. Je früher der Bootstrapping-Vorgang abgeschlossen ist, desto ausgereifter ist er Der Grund, warum C/C++ so viele Jahre überdauert hat, ist, dass die Entwicklung anderer Programmiersprachen jetzt auch von diesen beiden Programmiersprachen abhängt .

Go-Sprache ist eine ausgezeichnete Programmiersprache mit modernen Designkonzepten, starken Fähigkeiten und guter Leistung. Obwohl es der Go-Sprache an Makros und Generika mangelt, wodurch sich Ihr Code stark wiederholt, weist die Go-Sprache mehr Mängel auf Eine relativ junge Programmiersprache, die durch die Übernahme der Vorteile vieler Programmiersprachen entwickelt wurde. Eine große Anzahl von Ingenieurspraktiken in der Go-Sprache haben bewiesen, dass es sich um eine äußerst leistungsfähige Programmiersprache handelt.

【Verwandte Empfehlungen: Go-Video-Tutorial, Programmierunterricht

Das obige ist der detaillierte Inhalt vonIn welchem ​​Quellcode ist die Go-Sprache geschrieben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn