Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

Go – Googles Programmiersprache im Überblick!

M.Sc. Jan Hörnemann (TeleTrust Information Security Professional, CeHv10, ISB nach ISO 27001 (TÜV)

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.

Keinen Beitrag mehr verpassen – jetzt eintragen

Jetzt E-Mail eintragen, bestätigen und keinen Beitrag verpassen!



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.

Foto des Autors

M.Sc. Jan Hörnemann (TeleTrust Information Security Professional, CeHv10, ISB nach ISO 27001 (TÜV)

Hallo liebe/r Leser/in, mein Name ist Jan Hörnemann. Bereits seit Beginn meines Studiums im Oktober 2016 beschäftige ich mich tagtäglich mit der IT-Sicherheit. Durch den Abschluss Master of Science in dem Fach Internet-Sicherheit habe ich viele verschiedene Aspekte der IT-Sicherheit kennengelernt und versuche diese sowohl in Live Hacking Shows als auch in unserem Blog zu vermitteln.