Funktionale Programmierung mit Racket
Funktionale Programmierung
Funktionale Programmierung ist, wie die imperative oder objektorientierte Programmierung ein Programmierstil, also eine spezielle Art zu Programmieren. Im Unterschied zum imperativen oder objektorientieren Ansatz interessiert es einen hier nicht im Detail wie man Probleme algorithmisch, bzw. Schritt für Schritt löst, sondern man bleibt vielmehr auf einem höheren Abstraktionsniveau und stellt sich die Frage was man eigentlich als Ergebnis eines Problems erhalten möchte und welche Teilprobleme in einem Problem enthalten sind. Dadurch entsteht ein Programm bestehend aus verschiedenen Funktionen (daher auch der Name Funktionale Programmierung), welche die einzelnen Probleme so präzise beschreiben, dass diese durch den Compiler gelöst werden können.
Was lernst du in diesem Kapitel?
In der funktionalen Programmierung werden einige dir vielleicht bekannten Konzepte wie veränderliche Variablen oder klassische Schleifenstrukturen (while, for) nicht unterstützt. Die funktionale Programmierung zwingt dich daher mit einem anderen Denkansatz an Probleme heranzugehen. Du wirst also vor allem lernen, Problem auf andere Weise zu lösen. Die funktionale Programmierung bietet dir dafür einige spannende Konzepte, mit welchen wir genau das erreichen können.
Um unsere neuen Denkweisen auch tatsächlich umzusetzen werden wir die funktionale Programmiersprache Racket benutzen. Diese Sprache ist sehr schematisch aufgebaut, was uns hilft, unsere Gedanken und funktionalen Problemlösungen möglichst direkt und ohne große Anpassungen im Programm umsetzen zu können.
Egal ob du am Ende nur noch funktional programmieren möchtest, am liebsten direkt wieder zurück zu einem anderen Stil möchtest oder aber je nach Bedarf und Problem die verschiedenen Stile miteinander mischst. Es wird dir auf jeden Fall helfen, verschiedene Stile und damit auch Denkweisen zu kennen um egal welche Probleme du auch lösen musst, du diese strukturiert und effizient meistern wirst.
Was musst du schon wissen?
Die hier verwendetet Programmiersprache Racket eignet sich prinzipiell hervorragend um
in die Programmierung einzuführen, da sie sehr schematisch aufgebaut und damit auch relativ einfach zu
erlernen ist.
Dieses Kapitel ist dafür allerdings nicht gedacht und liefert
keine detaillierte Einführung in die Grundlagen
der Programmierung.
Daher ist es für dieses Kapitel empfehlenswert bereits Erfahrungen in einer anderen
Programmiersprache zu haben.
Denn so können wir uns hier ganz auf die zentralen Konzepte
der funktionalen Programmierung konzentrieren.
Viel Spaß!