Skip to content

Zum 50. Geburtstag der Mutter aller Programmiersprachen: Lisp50

Lisp Logo

Seit ich vor einiger Zeit auf die Ankündigung zur Feier anläßlich des 50. Geburtstags von stieß, die zur OOPSLA 2008 stattfinden sollte, wartete ich mit großer Spannung auf das, was (Lisp50) bringen würde.

Jetzt ist es endlich so weit!

Die 2008 mit samt der Lisp50 ist rum und es gibt einige bemerkenswere Zusammenschriebe der Seminare und Workshops – wobei mich hier die Notizen zur Lisp50 interessieren:

Zunächst ist da 13 hours of Lisp mit kurzen Absätzen zu den einzelnen Vorträgen.

Weit detailierter sind die Notizen von lispy. Bislang sind es sechs einzelne Blogeinträge – jeder einzelne (samt Kommentaren) lesenswert.

Der Einstieg findet sich unter Lisp50 Notes part I: JonL Recalls How Sussman Revealed the Nature of Intelligence. Die Serie findet ihren Abschluß mit Lisp50 Notes part VI: The Future of Lisp.

Kurz einige Ideen\Anregungen\Eindrücke, die ich beim Lesen der Einträge gewonnen habe:

  1. Lisp ist tot. Die Lisp-Community trägt nicht gerade zur Verbreitung von Lisp bei.
  2. JohnMcCarthy ist ein schlechter Programmierer.
  3. ModelViewController ist nicht sonderlich OO, weil das Verhalten eines Objekts bzw. dessen Darstellung an mehreren Orten verteilt ist. OO will aber das Verhalten eines Objekts an einer Stelle. Hier gibt es einige interessante Ansätze, ContextOrientedProgramming (COP) wurde von PascalCostanza vorgestellt (ContextL). COP erinnert an AOP.
  4. Das erwähnte Problem mit könnte auch der Grund für die vielen Alternativen sein, die zur Zeit so rumwuseln. Interessant auch, dass aus der Smalltalk-Ecke ein neues (?) Framework kommt, dass dort ersetzt: Morphic – das auf irgendwas von Self basiert. Interessant deshalb, weil MVC aus der selben Ecke stammt (AlanKay).
  5. Ursprünglich war MVC ein Workaround für Einschränkungen der Hardware, auf der Smalltalk entwickelt wurde – damals, in Xerox PARC.
  6. MultipleInheritance ist gut.
  7. JohnMcCarthy wurde per Telefon interviewt. Seine beiden Hauptaussagen waren:
    • CodeIsData – es ist wichtig, dass eine Sprache Zugang zu ihrem AbstractSyntaxTree hat.
    • Code muss lesbar sein – er hätte wohl lieber M-Expressions gehabt. Aber Lisp wird von seine SExpressions wohl nicht mehr weg kommen.
    Beides irgendwie alte Hüte.
  8. Lisp muss sich weiterentwickeln und seine Nischen finden – z.B. als DSL für Webanwendungen.
  9. Lisp ist, was man zu hause macht. (JohnL)
  10. Dijkstra muss mal gesagt haben:
    We shouldn’t make it easier for programmers to recover from bugs.
    Seiner Meinung nach mussten Programme beweisbar korrekt sein.
  11. Schließlich stellte ein RichHickey eine Lispimplementierung vor, die auf der JVM läuft und daher wohl Zugriff auf die -Klassenbibliothek hat (ähnlich wie IronPython für .Net). Das Ding heisst Clojure und scheint recht gut angekommen zu sein. Es gibt auch schon eine Seite im Denkzeitwiki: Clojure. Interessant ist, dass funktional und stark auf nebenläufige Prozesse ausgerichtet ist.

Das waren also so die Punkte. Besser natürlich, wenn man die verlinkten Notizen selbst durchliest und evtl. dann sogar hier seine zusätzlichen Gedanken niederbringt.

In diesem Zusammenhang ist vielleicht noch das Projekt History of Lisp erwähnenswert, das einige nicht nur für Lisp, sondern für die Softwareentwicklung im Allgemeinen sehr interessante Dokumente zusammengetragen hat.

Zum Schluß noch ein Zitat von JohnMcCarthy, das ebenfalls gut passt – das er allerdings schon vor einiger Zeit getätigt hat:

If someone was to drop a bomb on this building, it would wipe out 50 percent of the Lisp community. That would probably be a good thing. It would allow Lisp to start over.

Quelle

Viel Spaß, bei was auch immer!

Post a Comment

Your email is never published nor shared. Required fields are marked *