In einem vorigen Beitrag haben wir aus einzelnen Schnecken eine Schneckenwelt zusammengesetzt und grafisch dargestellt. Bisher haben sich die Schnecken einfach nur stur in gerader Linie bewegt; in diesem Posting wollen wir es etwas interessanter machen und jede Schnecke mit einer Schleimspur ausstatten, und schließlich dafür sorgen, daß andere Schnecken dieser Schleimspur ausweichen. („Der Schleim der anderen Schnecken stinkt!“) Am Ende soll das dann so aussehen:

Diese Erweiterungen verdeutlichen weitere Vorteile der rein funktionalen Programmierung:
-
Die explizite Angabe von Abhängigkeiten macht Zusammenhänge zwischen Werten im Programm deutlich und dessen Bedeutung unabhängig von der Auswertungsreihenfolge.
-
Der explizite Umgang mit Zeit ermöglicht eine akkurate Simulation der Schneckenwelt.
-
Der explizite Umgang mit Identität macht Programme weniger fehleranfällig und einfacher zu debuggen gegenüber imperativen Programmen.