Wer programmiert, leidet: Die Tipparbeit beim Programmieren muss der Mensch derzeit weitgehend selber machen. (Von den trivialen Codeschnipseln mal abgesehen, die Eclipse einem auf Knopfdruck hinwirft.) Das ist nicht nur viel Arbeit, sie ist auch ziemlich fehleranfällig. Moderne Typsysteme sind schon ziemlich gut dabei, einen auf Fehler hinzuweisen, das Programm korrektfrickeln muss man aber immer noch selber. Dabei ist doch das meiste Domänenwissen schon in den Typdefinitionen und -signaturen: Program by Design aus dem Vortrag bei den letzten XP Days hat gezeigt wie es geht.
Mit noch ein bisschen mehr Spezifikation könnte doch der Computer den Code schreiben? Zukunftsmusik oder Irrsinn? Eine neue Generation von Programmiersprachen wie Idris und IDEs setzt den alten Traum Schritt für Schritt um: Diese Werkzeuge werden langsam zu echten Partnern bei der Entwicklung. Das Programmieren macht da nicht nur mehr Freude, sondern senkt auch die Fehlerquote dramatisch. So können sich Entwickler auf die individuellen Aspekte der Software konzentrieren anstatt wiederkehrende Patterns immer und immer wieder umzusetzen. Sie können damit ihre Aufmerksamkeit auf die Domäne und damit die Interaktion mit den Anwendern richten.
Der Vortrag zeigt mit Live-Coding in Idris, wie das geht.
Dr. Michael Sperber ist CTO der Active Group GmbH. Er ist seit 20 Jahren in Forschung über und industrieller Anwendung von funktionaler Programmierung tätig. Er hat zahlreiche Fachartikel und Bücher zum Thema veröffentlicht. Er ist außerdem Mitbegründer des Blogs funktionale-programmierung.de.
Nicole Rauch ist freiberufliche Softwareentwicklerin und Softwareentwicklungscoach mit umfangreichem Hintergrund in Compilerbau und formalen Verifikationsmethoden. Zu ihren Schwerpunkten gehören Specification by Example und Domain-Driven Design sowie Javascript (in Frontend und Backend) und die Sanierung von Legacy Code Applikationen. Unabhängig davon ist die funktionale Programmierung ihre heimliche Liebe. Neben ihrer Entwicklertätigkeit wirkte sie an der Ausrichtung mehrerer selbstorganisierter Konferenzen und an der Initiierung der Softwerkskammer, einer deutschsprachigen User Community zum Thema Software Craftsmanship, sowie ihrer Karlsruher Regionalgruppe mit.