GPN12:Go – eine moderne Programmiersprache: Unterschied zwischen den Versionen
Sprawl (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
K (→Dokumentation: linkfix) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 28: | Zeile 28: | ||
Sprache zu erklären. | Sprache zu erklären. | ||
- | == Dokumentation == | ||
* Slides: [[Media:Gpn12-Go.pdf|PDF]] | |||
== Weblinks == | |||
* [http://weekly.golang.org/doc/ExpressivenessOfGo.pdf Gute Einführung ins Sprachdesign von Go] | |||
{{Navigationsleiste GPN12:Vorträge}} | |||
{{Navigationsleiste GPN12}} |
Aktuelle Version vom 30. November 2012, 13:19 Uhr
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.
Dokumentation
- Slides: PDF
Weblinks
Fahrplan ·
3D Printing - code, drucken, nerfgun · Agda - Mit starken Typen abhängen · Angriffe auf Wireless Local Area Networks · Arduino Selbsthilfegruppe · BubbleTea selber bauen · CMS4Nerds - Vermitteln von informationeller Selbstbestimmung im Alltag · Crash Course Lua · Crunchman's Memoirs · Die D Sprache für C++ Entwickler · Die neuen politischen Proteste und ihre Vernetzung · Die Werwölfe von Düsterwald · Eigentum, Sex und die Cloud · Emacs Org-mode · Evolution im täglichen Leben und warum "Intelligent Design" auf den Lehrplan gehört · Gamejam · Go – eine moderne Programmiersprache · Gulaschbytes · Häkeln · Hardware Design Patterns · Heterosexismus hacken · Homeautomationsplausch · HTML5 Security · Info Beamer Hacking · Informatik in der Schule · Introduction to Vorbis · Kinect-Touchpad · Klangsynthese und Live-Coding mit SuperCollider · Lightning Talks · Linux Networking - Ninja Style · Location Based Games - Spiele im Stadtraum · Lockpicking · Maintainern 101 · meillo's mail handler · Raumschiffe in Science und Fiction · Roboter in die Schule · Segelfliegen auch für Bastler · Steal This Talk · systemd · Tschunk-Workshop · Urban Hacking - Hacking the Public Space · What to hack · When biotech is outlawed, only outlaws will do biotech. · Wie man eine 64Kilobyte-Intro baut · Wunderwelt des SSH – mehr als nur Telnet mit Crypto · You are HERO - Questdesign im Real Life