Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

Go – Googles Programmiersprache im Überblick!

M.Sc. Jan Hörnemann

Eine neuartige Programmiersprache (Go) wurde von vielen Entwicklern zunächst nicht betrachtet, denn es gibt bereits unzählige Sprachen, die allesamt ihre Zwecke erfüllen. Doch einige Google-Mitarbeiter entwickelten die Sprache Go, die nun nach einigen Jahren immer mehr an Beliebtheit gewinnt.

Vorteile der modernen Programmiersprache

Der Grund, warum sich einige Google-Mitarbeiter die Mühe gemacht haben, eine neue Programmiersprache zu Entwickeln war, dass die alternativen Sprachen keine gute Laufzeit und vor allem Kompilierzeit besitzen. Es heißt, dass diese Mitarbeiter sehr frustriert gewesen sind, denn bevor eine neue Änderung an dem Softwarecode getestet werden konnte, muss das Projekt neu kompiliert werden. Dieser Kompilierungsprozess hat so viel Zeit und vor allem Nerven geraubt, dass die Motivation gegeben war, eine neue Sprache zu entwickeln.

Genau diese Nachteile sollten in der neuen Sprache Go nicht mehr vorkommen, dafür war eine ganz neue Konzeption einer Programmiersprache notwendig. Die Ausführung von Go ist für moderne Hardware mit mehreren Kernen gedacht. Denn der größte Vorteile von Go gegenüber anderen Programmiersprachen, ist die Laufzeit.

Durch verschiedene Multithreading-Fähigkeiten, die sogenannten Goroutinen, sind Programme nicht nur schneller in der Laufzeit, sondern kümmern sich selbstständig um Probleme wie bspw. Netzwerk-Timeout. Ein detaillierter Blick in die Funktionsweise dieser Goroutinen würde den Rahmen dieses Beitrags sprengen, für das weitere Verständnis reicht es, die Goroutinen als nebenläufige Funktionen zu betrachten, welche ihre Arbeit durchführen, während der Rest des Programms fertiggestellt wird.

Ein Beispiel, um diese Fähigkeit zu visualisieren, liefert Code im Go-Playground, welcher im Stackoverflow-Blog diskutiert wurde.

Go-Playground
Im Go-Playground können die ersten eigenen Programme gut getestet werden.

Erkennen Sie zuverlässig Phishing E-Mails?

Jetzt das AWARE7 Phishing Quiz absolvieren
und das eigene Wissen überprüfen!


Lohnt es sich Go zu lernen?

In der IT-Sicherheit werden viele verschiedene Tools verwendet, die in unterschiedlichen Sprachen programmiert sind. Ein wichtiger Grundsatz als Pentester oder als White-Hat-Hacker ist es, Tools zu verwenden, welche man versteht. Die verschiedenen Typen von Hackern haben wir bereits in der Vergangenheit erörtert und niemand möchte ein Skript-Kiddie sein, welches Tools verwendet, die er nicht versteht.

Ein bekanntes Beispiel ist das Tool Gobuster, welches versteckte Dateipfade herausfinden kann. Wie der Name bereits sagt, ist dieses Tool in Go geschrieben, daher ist es als angehender Pentester ratsam, die grundsätzliche Syntax und Funktionsweise der Sprache Go zu verstehen.

Go ist als Programmiersprache nicht geeignet für den Einstieg in die Softwareentwicklung, da der Source-Code schwieriger zu verstehen ist als bei bspw. Python. Diejenigen, die bereits die ein oder andere Programmiersprache lesen oder sogar schreiben können, werden keine großen Probleme haben, sich Go anzueignen.

Ein weiterer Vorteil ist es, dass die Dokumentation zu dieser neueren Programmiersprache sehr detailliert ist und es nahezu auf allen Medien Informationen und Hilfestellungen gibt, wenn man aktiv danach sucht.


Hat Ihnen der Beitrag gefallen? Gerne benachrichtigen wir Sie, wenn wir einen neuen Beitrag veröffentlicht haben. Tragen Sie jetzt Ihre E-Mail-Adresse ein. Für Sie entstehen keine Kosten.


Foto des Autors

M.Sc. Jan Hörnemann

Hallo liebe/r Leser/in, mein Name ist Jan Hörnemann. Ich bin TeleTrust Information Security Professional (T.I.S.P.) und beschäftigte mich seit 2016 nahezu tagtäglich mit Themen rund um die Informationssicherheit. Der CeHv10 war meine erste praktische Zertifizierung in dem Bereich. Durch den Abschluss Master of Science in dem Fachbereich Internet-Sicherheit habe ich viele verschiedene Aspekte kennengelernt und versuche diese sowohl in Live Hacking Shows als auch in unserem Blog zu vermitteln. Darüber hinaus bin ich als Informationssicherheitsbeauftragter tätig und vom TÜV für diese Tätigkeit qualifiziert worden (ISB nach ISO 27001)