Table of Contents
Things & Classes   lisp abstractions
konkretes Problem:
Was ist das, was ich hier aufschreibe?
Entitäten wechseln ihre Klasse:
Note -> Howto or Part-of-FAQ?
Embrio -> Child -> Adult
erst eine zeile,
dann Notiz,
? dann howto?
oder
? faq-eintrag?
was?
oder
Wechsel von faq-eintrag zu ?)
???
Beleuchten! Weil:
Lass das doch so "Passieren"!
Weil: Ich muß immer das gedachte Modellieren.
Irgendwelche "Pattern" auszusprechen ist so falsch!!!
das sind Modelle: die dürfen nicht im Code erscheinen!
Dort "spricht" das "Problem", also: Das Modell/Pattern zeigt seine Wirkung.
Einschub OOP
Objektorientieres:
CLOS: adapt (adaptieren, nachrüsten,…) the Implementation-Modell (a structured-plan) to your Problem-modell
bsp. clos-mop-dispatch adapt to Java-Semantik
Darin:Umsetzung neuester Konzepte wie Aspect-oriented oder (ein follow-up) Context-Orientiertes OOP.
OOP, CLOS:
Adapt (adaptieren, nachrüsten,…) the Implementation-Modell (a structured-plan) to your Problem-modell
- object-lisp, like objective-c and js: aprototyping approach.
- CLOS: adapt (adaptieren, nachrüsten,…) the Implementation-Modell (a structured-plan) to your Problem-modell
- Generic Functions: may decouple actions from entities or classes: Enabler!
- Abstractions exaclty how you need them
Wenn du das im konkreten Fall nicht brauchst, ignorierst Du es,
aber es ist da, wenn Du es mal haben mußt!
Abstraktion: was ist das hier?: meta-note   note
Daraus folgt:
Behalte eine saubere trennung in Meta(Modell) und Konkret(Impl.) bez. der Sprache!
Lass die "Sätze" der "Geschichte" in beiden Ebenen "richtig" klingen.
Dazu muss das Naming perfekt sein.
Wenn das geht, ist die Effizient des Entwicklers Optimal:
- minimale Load im Hirn.
- Konzept im Hirn nahezu unkaputtbar
-> Programm (Implementierung) stabil, unkaputtbar.
So sollte es sein.
Prüfung per Modell-brecher:
Jemand der Aufgaben bzw. Fragen so stellt,
das die komplexe Logik eines Satzes dabei eventuell
Schwächen enttarnt,
;; fixme: explain
Witzig: ich mache das immer
auch beim Denken über anderes.
Anstrengend, aber gründlich.
Deshalb komme ich von Lisp nicht weg (Semantisch)
genauer von Common-lisp.
Aber das war ein Fehler:
Erst die Möglichkeiten (Vertikalität) von Emacs
hat mich "gelehrt" was Struktur ist. Wow!
Ja: Konzepte ganz hoch oben (Exceptions, CLOS, macros)
Implementation Bottom-Up:
Klein-schrottig, nein, Klein-schrittig wie mein Hirn -> Passt!
Anders kann ich gar nicht!
Dazu: Die syntax!
Mein schlimmster Feind: als quasi Legastheniker, zur zeit ohne Korrektur (Absicht) :-)
OK, Zumutung, Ändern!
Aber auf-schluss-reich!