Go ist eine der jüngsten Programmiersprachen, die für die Anforderungen großer Projekte entwickelt wurde. Lassen Sie uns herausfinden, welche Unternehmen Go verwenden und warum.
A QUICK SUMMARY – FOR THE BUSY ONES
TABLE OF CONTENTS
Golang ist eine der jüngsten Programmiersprachen. Es wurde entwickelt, um den Bedürfnissen von Programmierern gerecht zu werden, die an großen Projekten arbeiten.
<span class="colorbox1" fs-test-element="box1"><p>Hinweis: Dank seiner einfachen und modernen Struktur hat Golang bei vielen großen Technologieunternehmen an Beliebtheit gewonnen</p></span>.
Was sind die Vorteile ob man Go benutzt und was sind die größte Unternehmen benutzt du Golang? Lass es uns herausfinden!
Die Motivation für Programmierer, die bei Google arbeiteten, 2007 Go zu entwickeln, bestand darin, eine Programmiersprache zu etablieren, die viel einfacher zu verwenden als die damals verwendeten Sprachen.
Es wurde von erfahrenen Programmierern entwickelt — Ken Thompson (Designer und Schöpfer von UNIX und C), Rob Pike (Miterfinder von UTF 8 und dem UNIX-Format) und Robert Griesemer.
C ++ war zu dieser Zeit (und auch heute) weit verbreitet und gilt als sehr kompliziert und mit der Neuzeit nicht vereinbar.
Dies führte zu einer geringeren Produktivität der Programmierer, die sich viel Zeit nahmen, um Probleme zu lösen, auf die sie während der Entwicklung gestoßen waren.
<span class="colorbox1" fs-test-element="box1"><p>Wichtiger Tipp zum Mitnehmen: Go sollte einfach zu bedienen und perfekt sein geeignet für die Erstellung großer Programmiersysteme. Aus diesem Grund konnten viele Programmierer, die zusammenarbeiten, komplexe Projekte effizient debuggen</p></span>.
2009 wurde Go zu einem Open-Source-Projekt. Version 1.0 erschien 2012 und jetzt können Sie Version 1.13 verwenden.
Golang wurde von Google-Ingenieuren entworfen und wird dort häufig für interne Projekte verwendet. Google Chrome und Google Earth wurden auf diese Weise erstellt. Es wird auch in YouTube und Google App Engine verwendet.
Eines der größten Unternehmen, das Golang nutzt, ist Uber. Es wird dort verwendet für Geofence-Dienst, das dem Standort und der Produktverfügbarkeit des Benutzers dient. Geofence ermöglicht es, das Gebiet mit speziellen Anforderungen genau zu definieren (z. B. unter Berücksichtigung von Orten wie Flughäfen) und dynamische Preise umzusetzen.
Laut Kai Wei Von Uber hat das Unternehmen sehr positive Erfahrungen in der Zusammenarbeit mit Golang gemacht. Die Leichtigkeit, mit der C ++-, Java- oder Node-Programmierer auf Go umsteigen können, sowie die hohe Bandbreite und Delay-Leistung wurden geschätzt.
Der Service hat eine garantierte hohe Zuverlässigkeit. Es ist seit seiner Inbetriebnahme in 99,99% der Fälle ununterbrochen in Betrieb. Seltene Ausfallzeiten wurden durch Bibliotheken von Drittanbietern verursacht, während es in Bezug auf die Sprache selbst keine Probleme gab.
In Twitch wird Go für die am meisten ausgelasteten Systeme verwendet. Es wird für seine geschätzt Einfachheit, Sicherheit, Effizienz und Lesbarkeit, was bedeutet, dass Probleme, die bei der Anzeige von Live-Videos und gleichzeitigen Chats einer großen Anzahl von Benutzern auftreten, perfekt gelöst werden.
Vor allem aber ermöglichte Go es Twitch, den GC-Faktor (Garbage Collection), der für die automatische Verwaltung des dynamisch zugewiesenen Speichers verantwortlich ist, um das 20-fache zu verbessern.
Dailymotion ist eine Video-Streaming-Website. Unter anderem dank Golang Die Automatisierung von APIs wurde verbessert.
Diese Sprache ermöglicht die Durchführung einer großen Anzahl von Automatisierungstests, die sonst zu enormen Belastungen führen würden. Alles wegen der Einfachheit und Leistung von Golang sowie der Möglichkeit der statischen Typprüfung.
SendGrid ist ein Cloud-basierter E-Mail-Dienst, der sich auf die Zustellung von Transaktionsnachrichten spezialisiert hat und eines der größten Unternehmen ist, das Golang verwendet. Es ist hauptsächlich für den Versand von Kaufbestätigungen, den Versand von Angeboten, die Bearbeitung eingehender Nachrichten und die Weiterleitung von Kundenanfragen verantwortlich.
Das Unternehmen verwendet Go als primäre Programmiersprache. Die Vorteile dieser Sprache ermöglichen es, über 500 Millionen Nachrichten pro Tag effizient zu verarbeiten.
Eine der Herausforderungen, mit denen SendGrid konfrontiert war, war die Notwendigkeit gleichzeitige asynchrone Programmierung. Dieses Problem wurde dank der Einfachheit und Eleganz des klar optimierten Go-Codes gelöst.
Ein weiteres Argument für die Umstellung auf Go war die Tatsache, dass die Entwickler des Unternehmens es bereits häufig zur Lösung von Problemen mit SendGrid eingesetzt haben. Es ist auch reduzierte Wartungskosten und Lösung von Parallelitätsproblemen.
Dropbox, einer der führenden Anbieter von Cloud-Computing-Diensten, ist ein weiteres gutes Beispiel dafür, wie ein großes Unternehmen Golang nutzt. Es braucht diese Sprache skalieren Sie ihre Systeme auf effizientere Weise. Zu diesem Zweck migrierte das Unternehmen seine kritischen Systeme mit Python.
Um das Problem der unzureichenden Tiefe der Go-Bibliotheken zu lösen und größere Systeme erstellen zu können, begann Dropbox, eigene Bibliotheken zu erstellen.
Dies ermöglichte es ihnen, das Caching zu verbessern, die Standardfehlerschnittstelle zu verbessern, Programmierern die programmgesteuerte Generierung von SQL-Anweisungen zu ermöglichen und voll funktionsfähige Memcache-Clientbibliotheken zu implementieren.
Dropbox plant, die Golang-Bibliotheken zu erweitern und intern genutzte Bibliotheken auf GitHub zu veröffentlichen.
Eines der größten Unternehmen, das Golang verwendet, ist SoundCloud. Es wurde beschlossen, zusätzlich zu Ruby on Rails die Go-Sprache zu verwenden.
Die Entwickler beschrieben Golang als WYSIWYG-Sprache, was bedeutet, dass der eingegebene Code genau das tut, was auf der Seite erscheint. Darüber hinaus schätzen sie die Philosophie „Ein Problem — eine Lösung“, was bedeutet, dass weniger Zeit damit verbracht wird, über den Code nachzudenken.
Für SoundCloud war auch die Fähigkeit wichtig, statische Analysen in Echtzeit durchzuführen, was dank statisches Tippen und schnelle Kompilierung werden durch Go ermöglicht.
Dies beschleunigte die Arbeit an Bewerbungen erheblich.
Derzeit verwendet SoundCloud 6 Dienste und etwa ein Dutzend Repositorys, die vollständig in Go geschrieben wurden.
Go enthält eine relativ kleine Anzahl bekannter Konzepte aus anderen Sprachen, wodurch es die einfachster Code möglich.
Das hat viele Vorteile.
Eine davon ist, dass andere Entwickler nicht viele Codezeilen durchbrechen müssen, was eine große Zeitersparnis ist. Dies ist wichtig, da das Lesen des Codes viel zeitaufwändiger ist als das bloße Erstellen.
Das Erstellen kleiner Projekte ist mit jeder Softwaresprache möglich, aber Sie werden auf Schwierigkeiten stoßen, wenn Sie Projekte erstellen, die wirklich komplex sind. Sie können die Mitarbeit von erfordern Hunderte von Programmierern seit vielen Jahren, die an Millionen von Codezeilen arbeiten müssen.
Dies führt zu längeren Bauzeiten, die die Produktentwicklung unterbrechen.
Das Fehlerrisiko ist ebenfalls erhöht, da der Code unzählige Male neu geschrieben wird und die Programmierstile der Projektteilnehmer unterschiedlich sind.
Viele Unternehmen nutzen Golang, weil kompliziertere Projekte schneller abgeschlossen werden können und Arbeit ist effizienter.
Es ist auch reduziert das Risiko von Bugs, und ihre Entfernung ist schneller und effektiver.
<span class="colorbox1" fs-test-element="box1"><p>Wichtiger Tipp zum Mitnehmen: Die Entwicklung mit Go ist effizienter und es ist einfacher, Fehler zu behandeln.</p></span>
Einfacher Code bedeutet, dass die Grundlagen der Sprache in nur einer Trainingswoche erlernt werden können und Sie dann mit der Programmierung beginnen können. Darüber hinaus sind Dokumentation und viele Tutorials im Internet verfügbar.
Die Sprache basiert auf der Philosophie, dass es für ein Problem (oder vorzugsweise nur eine) eine kleine Anzahl von Lösungen geben sollte.
Es unterscheidet sich von anderen Sprachen, bei denen es vorkommen kann, dass es fast so viele Lösungen gibt wie Programmierer...
Dies fördert die Zusammenarbeit großer Teams und sorgt zusätzlich dafür, dass der Code schneller und effizienter funktioniert.
Das „Ein Problem — eine Lösung“ Die Philosophie bedeutet, dass viele Aktivitäten von einer Maschine ausgeführt werden können und die Auswirkungen dieses Prozesses sich nicht deutlich von den Auswirkungen von Programmierern unterscheiden.
Einer der Vorteile, die Unternehmen, die Golang verwenden, sehen, ist, dass Entwickler bei Go über viele Tools für die automatische Codewartung verfügen.
Sie ermöglichen unter anderem die Formatierung und den Import von Code, die Suche nach Definitionen und Anwendungen von Symbolen sowie das einfache Refactoring.
Programmierer, die Golang verwenden, nehmen es oft als eine C-Sprache ohne lästige Fehler wahr, die die Effizienz der Arbeit beeinträchtigen.
In Golang gibt es weniger Situationen, in denen der fertige Code gereinigt werden muss, da er einfach und klar ist. Gleichzeitig kommt die Syntax Programmierern dank ihrer Ähnlichkeit mit C bekannt vor, was das Erlernen für Leute, die C kennen, erleichtert.
Derzeit beliebte Softwaresprachen wie Java, JavaScript, Python, Ruby oder C, C ++ wurden entwickelt, als Mehrkernprozessoren noch nicht weit verbreitet waren. Das macht diese Sprachen zu einem einzigen Thread.
Golang, als eine Sprache, die im Zeitalter moderner Prozessoren geschaffen wurde, leicht unterstützt parallele Prozesse (Natürlich gibt es auch andere Sprachen, die Mehrkernprozessoren unterstützen, z. B. C#).
Die meisten der derzeit verwendeten Softwaresprachen wurden vor der weit verbreiteten Nutzung des Internets entwickelt. Aus diesem Grund bieten sie nur allgemeine Netzwerkunterstützung.
Mit der Standard-Go-Bibliothek Sie können anspruchsvolle Webdienste ohne Bibliotheken von Drittanbietern erstellen. Dies erleichtert die Arbeit, da es weniger Optionen gibt, die dieselbe Funktionalität implementieren, und weniger Implementierungen als die tatsächlich verwendete.
Darüber hinaus sind externe Bibliotheken möglicherweise von geringer Qualität und möglicherweise nicht sicher genug. Nicht immer wird eine angemessene Unterstützung angeboten, und Änderungen an den Bibliotheken können unerwartet sein.
Das Kompilieren von großem Code (selbst in Sprachen, die dies relativ schnell tun, wie Java oder C ++) ist zeitaufwändig. Dank der Tatsache, dass Go speziell für die Arbeit an großen Projekten entwickelt wurde, ist die Kompilierung von in dieser Sprache geschriebenem Code äußerst effizient. Dadurch erhält der Entwickler schnelles Feedback.
Die Binärdatei in Go kann bis zu zehnmal kleiner sein als ihr Java-Äquivalent. Dieser Vorteil zeigt sich besonders bei der Bereitstellung großer Anwendungen (was Unternehmen, die Golang verwenden, häufig tun).
Bei der Bereitstellung auf mehreren Servern kann dies sehr wichtig sein, da es die Ladezeit von Dateien erheblich reduziert. Implementierungen können auch häufiger vorgenommen werden.
Dank der Tatsache, dass Go eine Open-Source-Software ist, wurde eine große Community von Programmierern um sie herum gegründet. Dies fördert neue Lösungen und bietet Benutzern umfangreicher Support durch Foren und Tutorials. Vor allem aber erkennt und behebt die Community Codefehler schnell.
Go eignet sich gut für die Entwicklung von Microservices, da es die Erstellung kleiner, unabhängiger Dienste ermöglicht, die einfach bereitzustellen und zu warten sind. In Go geschriebene Anwendungen haben im Vergleich zu Anwendungen, die in Sprachen wie Java geschrieben wurden, in der Regel schnelle Startzeiten und einen geringen Speicherbedarf. Dies ist besonders vorteilhaft in einer Microservices-Umgebung, in der möglicherweise zahlreiche Dienste gestartet und dynamisch skaliert werden müssen.
Die Fähigkeit von Go, in eine einzige statische Binärdatei ohne externe Abhängigkeiten zu kompilieren, macht es ideal für die Containerisierung (z. B. mit Docker). Dies vereinfacht den Bereitstellungsprozess in einer Microservices-Architektur, in der die Containerisierung oft eine Schlüsselkomponente ist.
<span class="colorbox1" fs-test-element="box1"><p>Erkunden Sie: Ist Monolith immer schlimmer als Microservices, oder ist es nur der Hype?</p></span>
Seine effiziente Leistung in Netzwerkumgebungen macht es zu einem starken Kandidaten für cloudbasierte Anwendungen und Dienste.
Die Effizienz von Go in Bezug auf die Ressourcennutzung macht es zu einer kostengünstigen Wahl für Cloud-Umgebungen, in denen sich die Ressourcennutzung direkt auf die Kosten auswirken kann. Aufgrund seiner Leistungsmerkmale und der Unterstützung von Parallelität eignet es sich gut für die Skalierung in verteilten Systemen, was beim Cloud-Computing ein übliches Szenario ist.
Go wird von Google unterstützt und gewährleistet regelmäßige Updates und ein starkes Ökosystem. Die Sprache hat auch eine robuste Gemeinschaft, die zu ihrem Wachstum und ihrer Stabilität beiträgt.
Go (Golang) kann je nach den spezifischen Anforderungen und Zielen des Modernisierungsprojekts eine gute Wahl für die Modernisierung älterer Anwendungen sein. Wenn die ältere Anwendung unter Leistungsproblemen leidet, kann das Umschreiben kritischer Teile oder der gesamten Anwendung in Go zu erheblichen Verbesserungen führen.
Die Syntax von Go ist einfach und leicht zu verstehen, was die Wartung der modernisierten Anwendung erleichtern kann. Dies ist besonders vorteilhaft, wenn die alte Codebasis komplex oder schlecht dokumentiert ist.
<span class="colorbox1" fs-test-element="box1"><p>Erkunden Sie: Wie erstelle ich eine Roadmap zur Modernisierung älterer Apps?</p></span>
Die Go-Sprache scheint für die Gegenwart relevanter zu sein als die meisten häufig verwendeten Sprachen. Dank der Einfachheit und des Prinzips „Ein Problem — eine Lösung“ ermöglicht es den Unternehmen, die Golang verwenden, an großen Projekten zu arbeiten.
Our promise
Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.
Authors
Read next
Popular this month