Kurz: Die programmierbare Programmiersprache mit Makros.
Genauer: Common Lisp wird eingesetzt für Künstliche Intelligenz, Symbolverarbeitung, Compiler, Expertensysteme und exploratives Programmieren. Lisp (List Processing, 1958, John McCarthy) ist die zweitälteste noch verbreitete Programmiersprache. Common Lisp (ANSI-Standard 1994) vereint die Dialekte zu einer großen, stabilen Sprache mit S-Ausdrücken: Code und Daten haben dieselbe Form – verschachtelte Listen in Klammern.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 1958 |
| Entwickelt von | John McCarthy (Common Lisp: ANSI-Standard 1994) |
| Paradigmen | multi: funktional, objektorientiert (CLOS), Metaprogrammierung |
| Typisierung | dynamisch, stark |
| Ausführung | kompiliert (SBCL) oder interpretiert |
| Paketverwaltung | Quicklisp / ASDF |
| Dateiendung | .lisp, .cl |
| Sprachfamilie | Lisp-Familie |
Einsatzgebiete
Künstliche Intelligenz, Symbolverarbeitung, Compiler, Expertensysteme und exploratives Programmieren.
So führst du Code aus
Datei hallo.lisp speichern und mit sbcl --script hallo.lisp ausführen (SBCL von sbcl.org).
Das erste Programm
(format t "Hallo, Welt!~%")
(format t "1 + 2 = ~a~%" (+ 1 2))
(print "mit print")
(terpri)
(princ "ohne Anführungszeichen")
(terpri)Ausgabe:
Hallo, Welt!
1 + 2 = 3
"mit print"
ohne AnführungszeichenDer Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: Common Lisp-Kurs auf der Lernseite.
- Einführung und erstes Programm
- Funktionen und Kontrollfluss
- Listen, Sequenzen und Funktionen höherer Ordnung
- Makros und Code als Daten
- Strukturen, Klassen und CLOS
- Ein-/Ausgabe, Format und Pakete
- Ökosystem und Werkzeuge
- Referenz und Spickzettel
Ähnliche Sprachen
- Scheme: Minimalistisches Lisp mit eleganter Theorie
- Racket: Eine Programmiersprache zum Programmieren von Programmiersprachen
- Prolog: Logikprogrammierung mit Fakten, Regeln und Suche
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?