codemotion Rome 2017

Co-Autor: Antonio Romano

An der diesjährigen codemotion-Konferenz in Rom sind zwei aktuelle Puzzler auf zwei Ehemalige getroffen und haben gemeinsam die vielen verschiedenen Kurzvorträge im Ingenieursdepartement der Università Degli Studi Roma Tre besucht.

Während zwei Tagen wurden dort in 9 Räumen parallel 30-40-minütige Vorträge zu einer Vielzahl von Themen gehalten. Der Fokus lag auf neuen Sprachen und Konzepten wie Go, Rust, Microservices, Functional Programming und Cloud Computing. Aber auch Themen wie DevOps, Big Data, Machine Learning, Virtual Reality oder Game Programming waren vertreten.

Wir stellen hier die vier unserer Meinung nach besten Talks vor und fassen sie zusammen. Zum Verfassungszeitpunkt dieses Artikels waren die Talks noch nicht auf YouTube veröffentlicht.

RegEx-Fu

Juliette Reinders Folmer (@jrf_nl) von “Advies en zo” hat dem interessierten Publikum einige nütztliche Tipps und Tricks im Umgang mit Regular Expressions mitgegeben.

Der Talk war als „advanced“ deklariert, darum ging sie von einem bestehenden Vorwissen zu regulären Ausdrücken aus. Sie erklärte, warum es verschiedene RegEx-Engines gibt und was deren Unterschiede sind. Dann zeigte sie mehrere Tipps, wie man die Geschwindigkeit und den Speicherverbrauch von RegEx optimiert. Ebenfalls war es ihr wichtig zu betonen, dass es manchmal auch sinnvoll ist, den Einsatz von RegEx generell zu hinterfragen.

Die Tipps werden wir am nächsten Java-Kafi im Mai allen Interessierten weiter geben.

Progressive Web Apps

In letzter Zeit wurden Webseiten und -applikationen immer grösser und die User nutzen sie immer häufiger auf Mobile-Geräten. Zwei Trends, die das User-Erlebnis nicht unbedingt verbessern.

Um dennoch performante Applikationen erstellen zu können, muss sich ein Entwickler zwingend mit der Übertragung bzw. dem Netzwerk auseinandersetzen. Eine Technik, die den Entwickler dabei unterstützt, sind die sogenannten Service Workers. Diese wurden als Hilfsmittel für den Umgang mit Dateien, Caches und dem offline-Modus eingeführt.
Kurz zusammengefasst bieten die Service Workers einen Lifecycle an, der sich um das Herunterladen, Zwischenspeichern, Aktualisieren und wieder Löschen einer Ressource kümmert.

Maurizio Mangione (@granze) hat diesen Lifecyclein seinem Vortrag vorgestellt.

 

Thinking Functionally

John Stevenson (@jr0cket) von Salesforce hat anhand von Clojure gezeigt, wie die funktionale Programmierung viele Aspekte der heutigen Softwareentwicklung vereinfacht und Fehler vermeiden kann.

Programmiert man rein funktional, das heisst, jede Funktion ist deterministisch, arbeitet nur mit den ihr übergebenen Parametern und hat daher keine Seiteneffekte. Dies birgt dann mehrere Vorteile. Vor allem aber ist die Wiederverwendbarkeit und Testbarkeit von diesem Code sehr hoch.

Um Entwicklern von prozeduralen oder objektorientierten Programmiersprachen das rein funktionale Denken näher zu bringen, empfiehlt John eine rein funktionale Sprache wie Clojure auszuprobieren. In Clojure sind grundsätzlich alle Variablen immutable, Manipulationen können also nur in Funktionen und deren Rückgabewerten vorgenommen werden.

Anhand einiger spannender Beispiele hat John dieses Konzept erklärt.

Getting started with Go

Florin Patan (@dlsniper) von YouView TV Ltd. gab am Nachmittag des ersten Tages eine kurze Einführung in die relativ junge aber schon weitverbreitete Sprache „Go“.

Er beschrieb vor allem die Konzepte und Vorteile der Sprache. Auch betonte er immer wieder, wie stark die Community bestehend aus den „Gophers“ (so nennen sie sich selbst) ist.

Es gab wenig Code zu sehen, aber trotzdem hat uns der Vortrag dazu inspiriert, die Sprache mal auszuprobieren.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *