Programmierparadigmen und die ersten Schritte in Haskell
Programme werden üblicherweise in einer Programmiersprache formuliert. Die Sprache dient als Beschreibung für die Algorithmen und für die Datenstrukturen, auf denen diese Algorithmen arbeiten.
Ein Programm kann mit einer musikalischen Partitur verglichen werden, die dem Orchester und dem Dirigenten sagt, wie die Musik auszuführen ist. Das Ausführen der Partitur, also das Spielen der Noten, bleibt jedoch den Musikern unter der Leitung des Dirigenten vorbehalten. Die Partitur spezifiziert also die Musik. Analog ist es bei Programmen, hier übernimmt die Steuerung des Ablaufs im Hauptprogramm die Rolle des Dirigenten.
Dieser Vergleich ist zwar recht anschaulich und kann weiter ausgebaut werden: Spezielle Prozessoren (Graphik, Ein-/Ausgabe) sind für spezielle Arbeiten zuständig, spezielle Orchestergruppen (Streicher, Blechbläser) für besondere Klangeffekte. Er sollte aber nicht überdehnt werden: Während die musikalische Notation ziemlich einheitlich ist, und es die musikalische Gemeinschaft mehrere hundert Jahre gekostet hat, zu dieser Standardisierung zu gelangen, ist die junge technische Welt der Programmierung vielfältiger und weit weniger standardisiert. Unterschiedliche Programmiersprachen notieren und spezifizieren Algorithmen und Datenstrukturen unterschiedlich. Die Ideen, die dahinterstehen, werden üblicherweise Programmierparadigmen genannt, man kann meist diese Programmierparadigmen heranziehen, um Programmiersprachen zu qualifizieren. Das wollen wir kurz tun und dann eine erste Einführung in die Sprache geben, indem wir einfache Haskell-Programme schreiben und ihre Eigenschaften diskutieren.
Lösungen der Aufgaben
Programme werden üblicherweise in einer Programmiersprache formuliert. Die Sprache dient als Beschreibung für die Algorithmen und für die Datenstrukturen, auf denen diese Algorithmen arbeiten.
Ein Programm kann mit einer musikalischen Partitur verglichen werden, die dem Orchester und dem Dirigenten sagt, wie die Musik auszuführen ist. Das Ausführen der Partitur, also das Spielen der Noten, bleibt jedoch den Musikern unter der Leitung des Dirigenten vorbehalten. Die Partitur spezifiziert also die Musik. Analog ist es bei Programmen, hier übernimmt die Steuerung des Ablaufs im Hauptprogramm die Rolle des Dirigenten.
Dieser Vergleich ist zwar recht anschaulich und kann weiter ausgebaut werden: Spezielle Prozessoren (Graphik, Ein-/Ausgabe) sind für spezielle Arbeiten zuständig, spezielle Orchestergruppen (Streicher, Blechbläser) für besondere Klangeffekte. Er sollte aber nicht überdehnt werden: Während die musikalische Notation ziemlich einheitlich ist, und es die musikalische Gemeinschaft mehrere hundert Jahre gekostet hat, zu dieser Standardisierung zu gelangen, ist die junge technische Welt der Programmierung vielfältiger und weit weniger standardisiert. Unterschiedliche Programmiersprachen notieren und spezifizieren Algorithmen und Datenstrukturen unterschiedlich. Die Ideen, die dahinterstehen, werden üblicherweise Programmierparadigmen genannt, man kann meist diese Programmierparadigmen heranziehen, um Programmiersprachen zu qualifizieren. Das wollen wir kurz tun und dann eine erste Einführung in die Sprache geben, indem wir einfache Haskell-Programme schreiben und ihre Eigenschaften diskutieren.
Lösungen der Aufgaben