Begrüßung
By Prof. Walter Kriha
Download:
Functions und Stream-Processing im neuen Java8 Benjamin ReutterBy Prof. Walter Kriha
Download:
Functions und Stream-Processing im neuen Java8 Benjamin ReutterIn 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.