Stimmt es, dass Lisp keine funktionale Programmiersprache ist?
Ich lese in dem Buch: "Vordenker der Programmierung" , die das interview mit Guido Van Rossum sagt:
Die weitere grundlegende Eigenschaft von Python-Aktien mit Lisp ( nicht in einer funktionalen Sprache! ) ist, dass functionas sind first-class Objekte...
Also Lisp ist nicht eine funktionale Programmiersprache?
Ist Guido falsch? Was ist es dann?
InformationsquelleAutor der Frage OscarRyz | 2011-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ziemlich jeder Lisp-ich weiß von Programm kann verwendet werden, in einem funktionalen Stil (alles, was Sie wirklich brauchen, sind first-class-Funktionen, nachdem alle!)
Jedoch Lisps sind mehr wie multi-language-Toolkit: Sie können tun, funktionale Programmierung, objektorientierte Programmierung, Logik-Programmierung, definieren Sie Ihre eigene DSL für einige verrückte neue Paradigma etc.
Dem Lisp, ist wahrscheinlich am nächsten zu einem funktionalen Programmierstil ist Clojure (es hat lazy evaluation, rät OOP, nutzt unveränderliche Datenstrukturen überall, schränkt die unkontrollierte mutation (via STM), hat eine ganze Reihe von reinen /höherer Ordnung Funktionen in der core-Bibliothek usw.)
InformationsquelleAutor der Antwort mikera
Gibt es Sprachen, die ermöglichen und fördern funktionale Programmierung-Paradigmen. Sowohl Python und Lisp sind unter diesen. Lisp in allem war der erste, anwenden von theoretischen Konzepten abgeleitet vom lambda-Kalkül. In den späten 1950er Jahren, als fast nur FORTRAN und Lisp existiert, Lisp, wurde hervorgehoben, wie die funktionelle ein, wo FORTRAN, mit einem vollständig statischen Speicherverwaltung, würde nie als funktional.
Aber weder Python noch Lisp durchzusetzen Reine Funktionalität, so dass veränderliche Variablen, Staaten und imperative Konstrukte. Eine Mischung von Stilen kann immer nützlich sein, in der Praxis also wahrscheinlich werden Sie nicht finden viele Beispiel Reine Konzepte in erfolgreiche Werkzeuge.
Unter rein funktionalen Sprachen Haskell, Clean und Miranda aufgeführt sind Beispiele, aber ich kann nicht sagen nichts über Sie.
InformationsquelleAutor der Antwort Halberdier