Heim  >  Artikel  >  Backend-Entwicklung  >  Ist die Go-Sprache eine Low-Level-Sprache?

Ist die Go-Sprache eine Low-Level-Sprache?

青灯夜游
青灯夜游Original
2022-11-30 20:01:556604Durchsuche

go-Sprache ist keine Low-Level-Sprache. Die zugrunde liegende Sprache wird auch als Low-Level-Sprache bezeichnet. Dies bezieht sich auf eine Sprache mit geringer Implementierungseffizienz, hoher Ausführungseffizienz, starker Steuerbarkeit der Hardware, kleinem Zielcode, schlechter Wartbarkeit und schlechter Portabilität. Die Go-Sprache ist eine Programmiersprache auf hohem Niveau. Sie wurde entwickelt, um praktische Probleme im Entwicklungsprozess großer Systeme zu lösen. Sie unterstützt Parallelität, einheitliche Spezifikationen, Einfachheit, Eleganz und leistungsstarke Leistung.

Ist die Go-Sprache eine Low-Level-Sprache?

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

Low-Level-Sprache, auch Low-Level-Sprache genannt, bezieht sich auf eine Sprache mit geringer Implementierungseffizienz, hoher Ausführungseffizienz, starker Steuerbarkeit der Hardware, kleinem Zielcode, schlechter Wartbarkeit und schlechter Portabilität.

go-Sprache ist keine Low-Level-Sprache. Go-Sprache ist eine High-Level-Programmiersprache Open Source von Google im Jahr 2009. Sie wurde entwickelt, um praktische Probleme im Entwicklungsprozess großer Systeme zu lösen. Sie unterstützt Parallelität, einheitliche Spezifikationen, Einfachheit und Eleganz sowie leistungsstarke Leistung. Es wird von vielen Befürwortern der Go-Sprache verwendet und bezeichnet es als „die C-Sprache im Cloud-Computing-Zeitalter“.

Go-Sprache ist eine C-ähnliche Hochsprache und senkt zwar die Schwelle der C-Zeigerprogrammierung, birgt aber auch einige potenzielle Programmierfallen. Selbst erfahrene Go-Sprachveteranen geraten versehentlich in Fallstricke. Also muss man aufpassen.

Lassen Sie uns über die Entwicklungsgeschichte der Go-Sprache und die Merkmale der Go-Sprache sprechen.

Die Benennung von Go

Ist die Go-Sprache eine Low-Level-Sprache?
Dies ist eine E-Mail, die Rob Pike am 25. September 2007, 15:12 Uhr, an Robert Griesemer und Ken Thompson zum Thema Programmiersprachendiskussion gesendet hat Der Text der E-Mail lautet:

Ich habe mich auf der Heimfahrt inspirieren lassen: * Nennen Sie diese Programmiersprache „go“. Sie ist kurz und einfach zu schreiben. * Werkzeugklassen können benannt werden: goc, gol, goa. * Das interaktive Debugging-Tool kann auch direkt „go“ heißen. * Das Suffix der Sprachdateien ist .go usw.
Wie viele großartige Unternehmen, die in Garagen geboren wurden, hat auch der Name der Go-Sprache etwas mit Autos zu tun. Das Obige ist der Ursprung des Namens der Go-Sprache. Mir persönlich gefällt der Name Go sehr gut. Er scheint eine zufällige Idee zu sein, ist aber sehr präzise. Es hat das reine Blut von Google und verkörpert die Merkmale einer einfachen und eleganten Sprache. Und das Schlüsselwort zum Öffnen einer Coroutine in Go ist go.

20 % der Zeit der Google-Ingenieure

Seitdem begannen Robert, Rob und Ken mit der Forschung und Entwicklung innerhalb von Google. Erst 2009 wurde das Go-Projektteam offiziell Open Source ist das japanische Schriftzeichen der Sprache, das als offizieller Geburtstag offiziell der Außenwelt zugänglich gemacht wird. Der Quellcode wurde zunächst auf

http://code.google.com gehostet und in den folgenden Jahren nach und nach auf GitHub verschoben. Die Arbeitsmethode „20 % Zeit“ von Google ermöglicht es Ingenieuren, 20 % ihrer Zeit mit der Arbeit an ihren Lieblingsprojekten zu verbringen. Der Sprachdienst Google Now, Google News, Verkehrsinformationen auf Google Map usw. sind allesamt Produkte von 20 % time. Auch die Go-Sprache war zu Beginn in 20 % der Fälle ein Produkt.

Die drei Gründer der Go-Sprache

Die drei wichtigsten Gründer der Go-Sprache werden in der E-Mail erwähnt:

Ist die Go-Sprache eine Low-Level-Sprache?
Lassen Sie uns diese drei großen Jungs kennenlernen:

  • Rob Pike: Er war Mitglied des Unix-Entwicklungsteams bei Bell Labs, der Hauptleiter bei der Entwicklung des Plan9-Betriebssystems und der Hauptleiter bei der Entwicklung des Inferno-Betriebssystems.
  • ken tomption: Gewinner des Turing-Preises, Autor der Sprache B, Vorgänger der Sprache C, einer der Erfinder von Unix und Hauptautor des Betriebssystems Plan 9. Mitentwickeltes UTF-8.
  • Robert: Entwickelter Code für Googles V8-JavaScript-Engine und Chubby.

Gehe zur Sprachlinie

Die Entwicklung von Programmiersprachen ähnelt der Evolution von Arten. Jede Programmiersprache lernt von den vorherigen Sprachen und entwickelt und verbessert diese dann. Die folgende Abbildung zeigt, welche Vorteile Go von seinen Vorgängern geerbt hat, auf den Schultern dieser Giganten steht und im Cloud-Zeitalter eine immer wichtigere Rolle spielt.

Ist die Go-Sprache eine Low-Level-Sprache?

Eigenschaften, die die Go-Sprache von ihren Vorgängern erbt:

  • C-Sprache: Die Go-Sprache wird manchmal als „C-ähnliche Sprache“ oder „die C-Sprache des 21. Jahrhunderts“ beschrieben. Go erbt eine ähnliche Ausdruckssyntax, Kontrollflussstruktur, grundlegende Datentypen, Aufrufparameterwertübertragung, Zeiger und viele andere Ideen von der C-Sprache sowie die Laufeffizienz von kompiliertem Maschinencode und die Laufeffizienz von kompiliertem Maschinencode, die C Sprache hat schon immer Wert auf eine nahtlose Anpassung an bestehende Betriebssysteme gelegt.
  • Pascal: Aber es gibt noch andere Vorfahren im Stammbaum der Go-Sprache. Ein einflussreicher Zweig stammt von der von Niklaus Wirth entworfenen Pascal-Sprache. Dann inspirierte die Modula-2-Sprache das Konzept der „Pakete“. Dann gab die Oberon-Sprache die Unterscheidung zwischen Modulschnittstellendateien und Modulimplementierungsdateien auf. Die Oberon-2-Sprache der zweiten Generation wirkt sich direkt auf die Syntax des Paketimports und der Paketdeklaration sowie auf die Deklarationssyntax von Methoden aus, die durch die objektorientierten Funktionen der Oberon-Sprache bereitgestellt werden.
  • CSP: Ein weiterer Vorfahr der Go-Sprache, der die wichtigen Merkmale der Go-Sprache mitbringt, die sie von anderen Sprachen unterscheiden. Es wurde von dem wenig bekannten Forschungspapier zur Parallelität inspiriert, das von Tony Hoare von Bell Labs veröffentlicht wurde 1978. Grundlagenliteratur, Kommunikation sequentieller Prozesse (CSP). In CSP ist ein Programm eine Reihe parallel laufender Prozesse ohne gemeinsamen Status. Sie verwenden
  • Pipelines
  • zur Kommunikation und Steuerungssynchronisation. Tony Hoares CSP ist jedoch nur eine Beschreibungssprache zur Beschreibung der Grundkonzepte der Parallelität und keine Allzweck-Programmiersprache, die ausführbare Programme schreiben kann. Go-Sprache verwendet Pipes, um in Coroutinen zu kommunizieren. Schwergewichtige Anwendungen

Das Folgende sind einige der schwergewichtigen Anwendungen der Go-Sprache:

Vorteile von GoIst die Go-Sprache eine Low-Level-Sprache?

Stimme eines Programmierers: Wenn die reale Welt mich braucht, dann ich kann innerhalb weniger Tage ein Produktionssystem prototypisieren, testen und bereitstellen und fünfmal mehr Anfragen pro Sekunde mit sehr geringem CPU- und Speicheraufwand verarbeiten. Ich denke, nur die Go-Sprache kann das. Go-Sprache hat folgende Vorteile:

  • Separate Binärversion: Durch die Go-Projektkompilierung wird eine statische ausführbare Datei generiert. Diese Datei kann unabhängig und ohne weitere Abhängigkeiten ausgeführt werden. Dieser Ansatz eignet sich besonders für Cloud-native Containerumgebungen.
  • Kreuzkompilierung: Kompilieren Sie Binärdateien auf jedem Betriebssystem, die auf anderen Plattformen laufen. Beispielsweise können auf einem Mac-System Binärdateien kompiliert werden, die unter Linux und Windows lauffähig sind.
  • Garbage Collection: Die Go-Sprache unterstützt die Garbage Collection. Im Vergleich dazu erfordern C++, Rust usw., dass Entwickler sich selbst kontrollieren müssen.
  • Ausführungsleistung: Go ist sehr schnell. Die Leistung ähnelt C++. Viel höher als Java, Python und Node.
  • Entwicklungseffizienz: Die Go-Sprache bietet sowohl die Laufleistung statischer Sprachen als auch die Entwicklungseffizienz dynamischer Sprachen.
  • Einfachheit und Effizienz: Die Designphilosophie der Go-Sprache umfasst Einfachheit und Effizienz. Ein typisches Gegenbeispiel ist die komplexe und aufgeblähte Java-Sprache.
  • Parallelität: Die Sprachebene unterstützt Parallelität, vereinfacht die gleichzeitige Entwicklung durch Coroutinen und Kanäle und verbessert die Parallelitätsleistung.
  • Reichhaltige Standardbibliothek: Die Go-Standardbibliothek umfasst Text, E/A, Netzwerk, Verschlüsselung, Webdienste, Remote-RPC, Vorlagen-Engine und andere Funktionen.
  • Kann C-Sprache aufrufen: Sie können C-Sprachfunktionen aufrufen, um die Leistung weiter zu optimieren und das riesige Ökosystem der C-Sprache wiederzuverwenden.
  • Schnelle Kompilierungszeit: Go kompiliert extrem schnell. Sie können sich auf zwei statische Blog-Generierungssysteme beziehen: Hexo (Node-Entwicklung) und Hugo (Go-Entwicklung).
  • Engineering-Typ: Der Zweck des Go-Sprachdesigns besteht darin, eine Engineering-Sprache zu werden, um tatsächliche Engineering-Probleme zu lösen. Die Go-Sprache definiert Entwicklungsspezifikationen und stellt eine Fülle von Tools bereit. Mit der Go-Sprache können Sie Programme schreiben, die leicht zu lesen und zu verstehen sowie leicht zu testen, zu warten und zu erweitern sind.

Go-Nachteile

  • Fehlendes Schwergewichtsgerüst. Wie Ruby’s Rails, Python’s Django und Java’s Spring.
  • Fehlerbehandlung: kein Ausnahmesystem. Go-Beamte beheben dieses Problem.
  • Softwarepaketverwaltung: Go verfügt seit langem nicht mehr offiziell über ein Paketverwaltungssystem. Bis vor kurzem führte Go Version 1.13 das Go-Modul offiziell als offizielles Abhängigkeitsmanagement-Tool ein.
  • Kein standardmäßiges objektorientiertes Programmiermodell: Dies ist auch eine Innovation der Go-Sprache. Wenn Sie ein überzeugter OOP-Befürworter sind, fühlen Sie sich möglicherweise etwas unwohl

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !

Das obige ist der detaillierte Inhalt vonIst die Go-Sprache eine Low-Level-Sprache?. 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