Ah, Go, die Programmiersprache. Sie haben wahrscheinlich schon davon gehört, vielleicht von diesem überbegeisterten Entwickler im Büro, der immer wieder davon redet, wie „rasend schnell“ seine APIs mittlerweile sind. Sicher, Sie haben sich mit anderen Sprachen beschäftigt und vielleicht haben Sie sich gefragt: „Brauche ich wirklich eine weitere Sprache auf meinem Teller?“ Spoiler-Alarm: Ja, das tust du. Und Go ist diese Sprache. Lassen Sie mich es auf die sarkastischste und aufrichtigste Art und Weise für Sie aufschlüsseln.
Go ist so einfach, dass sie fast beleidigend wirkt. Wenn Sie Jahre damit verbracht haben, die Komplexität von JavaScript-Frameworks zu beherrschen, sich mit Python-Dekoratoren herumzuschlagen oder mit der Speicherverwaltung von C herumzutanzen, als wäre es eine scharfe Granate, wird sich Go anfühlen, als hätte Ihnen jemand ein Malbuch in die Hand gedrückt. Nein, im Ernst. Go ist bewusst minimalistisch gehalten, mit einer Philosophie, die schreit: „Wir brauchen nicht all diese ausgefallenen Funktionen, lasst uns einfach die Dinge erledigen.“
Während andere Sprachen Ihnen alle Werkzeuge zur Verfügung stellen, um Ihren Code in ein aufwendiges, unlesbares Kunstwerk zu verwandeln, dachten sich die Designer von Go: „Nein, lass es uns einfach zum Laufen bringen.“ Keine komplexen Vererbungshierarchien, keine komplizierte Funktionsüberladung, keine Vorlagen, die wie Algebra aus einem bösen Traum aussehen. Nur direkter, auf den Punkt gebrachter Code. Es ist fast so, als würden sie sagen: „Hier, hör auf, so lange nachzudenken.“
Wenn Sie jemals versucht haben, mit Parallelität in traditionellen Sprachen umzugehen, wissen Sie, wie sehr es weh tun kann. Thread-Pools, Mutexe, Deadlocks – allein der Gedanke bringt Sie dazu, sich zu einer Kugel zusammenzurollen und zu weinen. Aber gehen? Oh nein, Go sagt: „Threads? Pfft. Hier haben Sie Goroutinen.“ Es ist fast schon respektlos, wie einfach es ist, leichte Threads in Go zu erstellen. Sie geben einfach ein Schlüsselwort „go“ vor einen Funktionsaufruf ein, und BAM, es wird gleichzeitig ausgeführt.
Und mit Gos Kanälen fange ich gar nicht erst an. Es ist, als hätte Go einen Blick auf die Parallelitätsversuche aller anderen Sprachen geworfen und gesagt: „Ihr macht es zu kompliziert, schaut euch das an.“ Mithilfe von Kanälen können Goroutinen wie brave Kinder kommunizieren, die im Unterricht Notizen verteilen – ohne Geschrei, ohne Aufregung. Möglicherweise fühlen Sie sich sogar beleidigt darüber, wie reibungslos es funktioniert.
Sie kennen das Gefühl, wenn Sie 47 Pakete installieren müssen, nur um eine einfache HTTP-Anfrage zu stellen? Nicht in Go. Die Standardbibliothek von Go ist wie das Schweizer Taschenmesser, von dem Sie nicht wussten, dass Sie es brauchen, aber jetzt nicht mehr ohne leben können. Möchten Sie einen Webserver hochfahren? Erledigt. Müssen Sie mit JSON umgehen? Einfach. Möchten Sie ein gleichzeitiges Programm schreiben, das über ein Netzwerk kommuniziert? Es ist bereits in der Toolbox.
Die Standardbibliothek von Go hat dieses ruhige Selbstvertrauen, als würde sie sagen: „Oh, Sie möchten einen Webdienst erstellen?“ Das können Sie, ohne 200 Abhängigkeiten von Drittanbietern in Kauf zu nehmen und Ihre Seele zu opfern.“ Es ist, als ob Sie alle Premium-Funktionen einer Sprache ohne die überhöhten Abonnementkosten erhalten würden. Und ganz ehrlich, das ist einfach unhöflich.
Erinnern Sie sich noch an die Momente, in denen Sie dort saßen, mit dem Fuß tippten und darauf warteten, dass Ihr Python- oder JavaScript-Code ausgeführt wurde? Go hat keine Zeit für diesen Unsinn. Es ist kompiliert und schnell. Blinzeln und schon ist es schnell erledigt. Sicher, andere Sprachen geben ihr Bestes, aber Go schleudert einem einfach seine blitzschnellen Binärdateien entgegen und sagt: „Was? Du bist noch hier? Es ist bereits fertig.“
Das Beste daran? Sie müssen nicht die ganze Magie verstehen, die unter der Haube geschieht. Sie wissen nur, dass Go ausführbare Dateien produziert, die wie Usain Bolt auf Espresso laufen. Während andere Sprachen sich die Zeit nehmen, sich aufzuwärmen und ihre Laufschuhe anzuziehen, hat Go bereits die Ziellinie überquert, geduscht und genießt nach dem Rennen einen Smoothie.
Haben Sie schon einmal versucht, ein Python-Skript sowohl unter Windows als auch unter Linux zum Laufen zu bringen? Ja, es ist, als würde man an der Uni ein Gruppenprojekt organisieren – voller Verwirrung, seltsamer Fehler und viel Schuldzuweisungen. Aber gehen? Go ist es egal, auf welcher Plattform Sie sich befinden. Kompilieren Sie es einmal und es läuft praktisch überall. Es ist die „Klar, was auch immer“-Einstellung der Programmierwelt.
Und wenn Sie jemand sind, der es liebt, Docker-Container zu schreiben (und mal ehrlich, wer liebt nicht einen guten Container?), sind die Binärdateien von Go ein wahrgewordener Traum. Eine einzelne, statisch verknüpfte Binärdatei, die nicht darauf angewiesen ist, dass die Laufzeitumgebung „genau richtig“ ist, ist das Äquivalent zu einem Mitbewohner, der tatsächlich ungefragt den Abwasch erledigt. Es ist zu schön um wahr zu sein, aber hier sind wir.
Jetzt weiß ich, was Sie denken: „Aber was ist, wenn ich nur kleine Nebenprojekte erstellen möchte?“ Klar, das könntest du. Aber seien wir ehrlich. Sobald Sie hören, dass Google, das Unternehmen, das den größten Teil des Internets kontrolliert, Go entwickelt hat, werden Sie das Gefühl haben, ein Elektrowerkzeug zu haben, das auf die Weltherrschaft ausgerichtet ist. Sicher, Sie werden wahrscheinlich mit einem kleinen Webserver oder einer API beginnen, aber tief in Ihrem Inneren wissen Sie, dass Sie mit diesem Ding das nächste System im Google-Maßstab erstellen könnten, wenn Sie es wirklich wollten.
Das ist richtig – Go ist auf Skalierung ausgelegt, aber keine Sorge, niemand wird Sie verurteilen, wenn Ihr erstes Projekt eine To-Do-Listen-App ist. (Eigentlich vielleicht. Nur ein bisschen.)
Wir alle lieben Open-Source-Projekte, oder? Es gibt uns das warme, wohlige Gefühl, Teil einer „Gemeinschaft“ zu sein. Nun, Go ist Open Source und Sie können den Code durchforsten, wenn Sie möchten. Werden Sie tatsächlich etwas dazu beitragen? Wahrscheinlich nicht. Aber nur zu wissen, dass man es könnte, wenn man das Gefühl hat, dass es reicht, oder?
Man kann den Leuten bei Meetups sagen: „Ja, ich arbeite mit Go – völlig Open Source, es ist großartig für die Community.“ Dann lehnen Sie sich einfach zurück und genießen Sie das respektvolle Nicken Ihrer Kollegen. Niemand muss wissen, dass Ihre tatsächlichen Beiträge hauptsächlich aus Star-Repos auf GitHub bestehen.
Sehen Sie, wir waren alle Teil von Programmiergemeinschaften, die... nun, sagen wir einfach, sie können „begeistert“ sein. Einige Sprachgemeinschaften (wir nennen hier keine Namen, aber Sie wissen, wer Sie sind) können mit ihren „Best Practices“ und dem ständigen Grübeln darüber, wie man eine for-Schleife richtig schreibt, ein wenig einschüchternd wirken. Aber Gos Community? Es ist wie ein Hauch frischer Luft. Sie sind unterstützend, hilfsbereit und geben Ihnen nicht das Gefühl, ein Idiot zu sein, wenn Sie eine einfache Frage stellen. Es ist fast beunruhigend, wie entspannt sie sind.
Vielleicht liegt es daran, dass die Sprache selbst nicht versucht, übermäßig kompliziert zu sein, sodass niemand das Bedürfnis verspürt, überlegen zu sein. Was auch immer der Grund sein mag, die Go-Community ist ein Ort, an dem Sie echte Unterstützung finden, statt als „Ratschläge“ getarntes Gatekeeping.
Warum sollte also jeder Go lernen? Weil es einfach ist, ohne dumm zu sein, schnell, ohne viel Aufhebens zu machen, und leistungsstark genug, um jedes verrückte Projekt zu bewältigen, das Sie ihm vorsetzen. Es ist wie dieser Freund, der immer ruhig und gefasst ist und es irgendwie schafft, unglaublich produktiv zu sein, ohne dass es wie harte Arbeit aussieht.
Wenn Sie genug von Sprachen haben, die Sie entweder verhätscheln oder von Ihnen verlangen, Ihren Verstand zu opfern, ist Go genau das Richtige für Sie. Probieren Sie es aus und wer weiß – vielleicht werden Sie zu einem überbegeisterten Entwickler im Büro. Und ganz ehrlich: Wäre das nicht irgendwie lustig?
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3