Softwarekonferenz für Parallel Programming,
Concurrency, HPC und Multicore-Systeme
Heidelberg, Print Media Academy, 29.-31. März 2017

parallel 2017 » Programm »

// Schnelleinstieg in Go

Obwohl noch recht jung, hat sich Go in der Softwareentwicklung fest etabliert. Viele kritische Systeme werden heutzutage in Go implementiert – Docker ist hier einer der prominenten Vertreter. Go macht vieles anders als gewohnt. Mit channels und go-routines besitzt Go moderne Nebenläufigkeitskonstrukte, die in den altbewährten Programmiersprachen so nicht zu finden sind. Auf der anderen Seite verzichtet Go auf einige Dinge, die mittlerweile als selbstverständlich angesehen werden wie Generics oder Exceptions.
Anhand von Beispielen und praktischen Übungen vermittelt dieser Workshop die nötigen Kenntnisse, um kleinere eigene Programme in Go zu schreiben und channels und go-routines zu nutzen.

Teilnehmer sollten folgende Soft- und Hardware mitbringen:

* einen Laptop, auf dem Go installiert und nutzbar ist: siehe https://golang.org/doc/install für eine Anleitung
* eine funktionierende Kommandozeile (bash, sh, PowerShell)
* eine funktionierende Git-Installation
* einen Editor oder eine IDE zum Programmieren

Vorkenntnisse
* Gute Kenntnisse in einer "Mainstream"-Programmiersprache wie Java, C# und C/C++.
* Grundkenntnisse über Nebenläufigkeitskonzepte in Programmiersprachen: Prozesse, Threads, Co-Routinen usw.
* Für die praktischen Übungen ein Notebook mit vorinstalliertem, aktuellem Go und Git sowie ein Texteditor und eine Shell.

Lernziele
1. kleinere Programme in Go schreiben können,
2. die wesentlichen Merkmale von Go kennen,
3. die Unterschiede von Go gegenüber anderen Programmiersprachen wie Java, C# usw. verstehen, vor allem in den Bereichen Nebenläufigkeit und Parallelität und
4. besser einschätzen können, ob Go für Ihre Projekte geeignet ist.


// Christoph Iserlohn Christoph Iserlohn

ist Senior Consultant bei der innoQ. Er hat langjährige Erfahrung mit der Entwicklung und Architektur verteilter Systeme. Sein Hauptaugenmerk liegt dabei auf den Themen Skalierbarkeit, Verfügbarkeit und Sicherheit.


// Daniel Bornkessel Daniel Bornkessel

ist Senior Consultant bei der innoQ. Er nutzt Go seit Version 0.4 und setzt es erfolgreich in zahlreichen Projekten ein.