GPN12:Go – eine moderne Programmiersprache

aus dem Wiki des Entropia e.V., CCC Karlsruhe


Vortrag von sECuRE auf der GPN12.

Go ist vor kurzem in Version 1 released worden. Die Programmiersprache ist statisch typisiert, nutzt Garbage Collection und bietet gute Unterstützung für Concurrency. Da Go trotzdem eine kompilierte Sprache ohne Runtime oder Interpreter ist, eignet es sich wunderbar, um C und C++ aus vielen Anwendungsbereichen zu verdrängen.

In letzter Zeit setzen sich die Event-basierte Programmierung (node.js, AnyEvent in Perl, …) und multi-threaded Programme immer mehr durch. Klar erkennbar ist der Trend zu CPUs mit vielen Kernen, und um so wichtiger ist es, dass Programmiersprachen es einfach machen, sowohl Event-basierte Programmierung gut zu unterstützen, als auch die vielen Kerne in unseren heutigen und zukünftigen Rechnern gut ausnutzen können. Im Gegensatz zu viele modernen Hochsprachen (Python, Ruby, Perl, …) erfüllt Go diese Kriterien mit Leichtigkeit (mithilfe von Goroutines und Channels).

Analog zum Motto "Batteries included" kommt Go mit einer umfangreichen Sammlung an Modulen und ermöglicht, analog zur ungeschlagenen Modulsammlung CPAN, die einfache Installation von Zusatz-Modulen.

Ganz nebenbei braucht Go keine Makefiles und kompiliert extrem schnell.

In diesem Vortrag werden die grundlegenden Konzepte und die Syntax von Go erklärt, um anschließend anhand verschiedener Beispiele die Vorteile dieser Sprache zu erklären.


Slides: Datei:Gpn12-Go.pdf

Gute Einführung ins Sprachdesign von Go: http://weekly.golang.org/doc/ExpressivenessOfGo.pdf