Language Day

The joy of programming - Four distinguished moments of beauty

By M.Sc. Jonathan Brachthäuser, Uni Tübingen

Only HdM students and employees are allowed to view this talk. Unfortunately we're not allowed to make this talk public. Please only distribute the video to othe people from the HdM.

Download:

All recordings from the Language Day

About the Language Day

When?
On April 10th, 2015
Where?
056 (Aquarium)
In den 90-er Jahren wurde von der Industrie verkündet, dass die nunmehr
letzte Programmiersprache gefunden sei, und die Universitäten doch nicht
mehr Zeit und Ressourcen auf andere Sprachen verschwenden sollten. Es
begann eine Zeit, in der Änderungen in vorhandenen Sprachen kaum, und
die Erfindung neuer Sprachen praktisch gar nicht mehr stattfanden.
Vielleicht stand dahinter auch der Glaube, dass in Zukunft die
Software-Entwicklung eher ingenieursmässig als Design, mit
anschliessender automatischer Erzeugung von Programmcode stattfinden würde.

Weit gefehlt, setzte sich stattdessen die Software-Entwicklung im Sinne
eines (mehr oder weniger) meisterlich verstandenen Handwerks durch, und
Handwerk braucht Werkzeuge. Und als deren Wichtigstes ist sicherlich die
jeweilige Programmiersprache zu sehen. Und fast gleichzeitig mit der
Durchsetzung agiler Entwicklungsmethoden (die heutzutage sogar als "Lean
Enterprise" die Organisationsstruktur von Unternehmen radikal ändern),
begann eine fruchtbare Zeit für die Weiterentwicklung der
Programmiersprachen. Teilweise bestand die Revolution auch in der
Integration "vergessener" Konzepte und Paradigmen wie im Falle der
funktionalen Sprachen.

Seit dieser Zeit erblicken immer mehr neue Programmiersprachen das Licht
der Welt und versprechen die Programmierung zu revolutionieren.   Glaubt
man dem TIOBE Index, sind jedoch maßgeblich alte Programmiersprachen
weit verbreitet. Darunter C++, das inzwischen auf eine über 30 jährige
Geschichte zurückblickt. Nach einer langen Durststrecke der
Standardisierung nimmt C++ seit dem 2011 erschienenen Standard C++11
wieder Fahrt auf und entwickelt sich zu einer modernen
Programmiersprache, die sich vor jüngerer Konkurrenz nicht verstecken
muss. Der Vortrag von Patrick Bader, Doktorand im Bereich
Medieninformatik der HdM, gibt einen Einblick in die teils gravierenden
Veränderungen, die mit den neu erschienenen Standards einher gingen, und
in zukünftige Entwicklungen der Sprache über die nächsten Jahre.

Und auch die Programmiersprache Java, die zu den populärsten Sprachen
gehört, konnte sich den aktuellen technischen Trends nicht auf Dauer
verschliessen. So beklagten Anhänger der funktionalen Programmierung
seit Jahren, dass dieses Paradigma gleichberechtigt neben der
Objektorientierten Programmierung stehen sollte. Mit Java8 endlich
wurden Higher Order Funktions eingeführt und ein Framework für die
parallele Verarbeitung von Datenströmen mittels Funktionen analog
Googles Map/Reduce geschaffen. Benjamin Reutter hat sich für seine
Bachelorthesis die Aufgabe gestellt, diese neuen Mittel zu untersuchen
und auch Performancetests durchzuführen. Sein Vortrag stellt die neuen
Konzepte und Ergebnisse vor.

Wo bleiben die ganz neuen Programmiersprachen? Tommy Fankhauser,
Doktorand im Bereich Mobile Medien der HdM, wird in seinem Vortrag auf
die neue Programmiersprache von Google, GO, eingehen und erklären, wieso
Google eine neue Sprache speziell für hochgradig verteilte Systeme
entwickelt hat, und wie sie funktioniert.

Im letzten Vortrag des Language Days beleuchten wir nicht
Programmiersprachen, sondern das Programmieren selbst. Welche Rolle
spielt es in unserem Leben? Was bewirkt es? Was gibt es uns? Benjamin
Brachthäuser, Alumnus der Medieninformatik HdM und derzeit Doktorand an
der Uni-Tübingen, wird uns von einigen entscheidenden Momenten in seiner
Arbeit erzählen, in denen das Programmieren Schönheit und Momente des
Glücks erzeugt hat.

Da sich bis zu diesem Zeitpunkt wahrscheinlich schon die Lager mit den
verschiedenen Vorlieben bezüglich Programmiersprache und Features
gebildet haben, schliesst sich eine Publikumsdiskussion an. Dabei können
die Teilnehmer Ideen bezüglich Features und Eigenschaften einbringen und
diskutieren.

Downloads