it-swarm.com.de

Lisp in der realen Welt

Ich habe mit LISP (eigentlich Scheme) experimentiert und fand es eine sehr schöne Sprache, über die ich mehr erfahren möchte. Es sieht jedoch so aus, als würde LISP nie in ernsthaften Projekten eingesetzt, und ich habe es bei keiner Stellenausschreibung als erwünscht eingestuft. Ich bin daran interessiert, von jemandem zu hören, der LISP verwendet hat oder es in der "realen Welt" gesehen hat oder der weiß, ob es eine rein akademische Sprache ist.

144
titaniumdecoy

Franz, Inc. bietet eine unvollständige Liste der Erfolgsgeschichten auf ihrer Website. Jedoch:

Bitte nehmen Sie nicht an, dass LISP nur für Animation und Grafik, KI, Bioinformatik, B2B und E-Commerce, Data Mining, EDA-/Halbleiteranwendungen, Expertensysteme, Finanzen, Intelligente Agenten, Wissensmanagement, mechanisches CAD, Modellierung und Simulation nützlich ist. Natürliche Sprache, Optimierung, Recherche, Risikoanalyse, Planung, Telekommunikation und Web-Authoring, nur weil dies die einzigen Dinge sind, die sie aufgelistet haben. - Kent Pitman

Weitere Erfolgsgeschichten finden Sie hier: http://LISP-lang.org/success/

und eine Liste der aktuellen Unternehmen, die Common LISP verwenden: https://github.com/azzamsa/awesome-LISP-companies

87

Zählt Emacs 'Elisp? Das ist die "echteste" Verwendung, mit der ich vertraut bin (obwohl ich nicht sicher bin, ob Emacs auch als "echte Welt" gilt).

54
eschercycle

ITA Software verwendet Common LISP für seine QPX Low-Fare-Suchmaschine , die Websites wie Orbitz , Kayak und Amerikaner und United Fluggesellschaften unter vielen anderen. Zum Teil wird es auch für das bevorstehende Passagierreservierungssystem für Air Canada verwendet. Paul Graham hat in der Vergangenheit ein wenig über LISP bei ITA geschrieben.

(Haftungsausschluss: Ich arbeite dort.)

43
Joe Shaw
26
jfs

als kleines Startup haben wir etwas aufgebaut, das manche als "Anwendungsserver" bezeichnen. Tatsächlich handelt es sich jedoch nur um eine Reihe integrierter allgemeiner LISP-Bibliotheken für SQL-Konnektivität und Webanwendungen. einige Details finden Sie unter cl-dwim Projektseite

damit haben wir eine Webanwendung für die ungarische Regierung entwickelt und betrieben , die Daten von den lokalen Regierungen sammelt und den relevanten Teil des Budgets des Landes berechnet . Dies ist das zweite Budget, das wir jetzt planen.

es hat ungefähr 4000 Benutzer und läuft auf einem Cluster von Computern.

ab der "akademischen Sprache": Wir spielen mit Dingen wie ständiger Fortsetzung der Geschäftsprozessmodellierung. Es handelt sich um einen zufälligen LISP-Code mit einigen zusätzlichen prozessbezogenen Grundelementen und einigen Einschränkungen. es kann an zufälligen Stellen im Code anhalten und einschlafen (sich in die Datenbank eintragen), während es auf ein externes Ereignis wartet.

ist es praktisch oder akademisch? du entscheidest... :)

25
Attila Lendvai

Reddit wurde ursprünglich in LISP geschrieben und später in Python umgeschrieben. Es gibt eine gute Analyse des Schalters und was es für LISP bedeutet, um Finding LISP .

23
Mark Reid

Paul Graham hat ViaWeb verwendet und darüber geschrieben, das in LISP geschrieben wurde

Lesen Sie darüber hier - Beating the Average

22
epatel

Ein relativ junges Open-Source-Projekt, das immer noch eine konstante und beachtliche Entwicklungstätigkeit aufweist, ist LilyPond .

Es ist ein Musiknotationsprogramm, das eine einfach zu schreibende Textdatei als Eingabe verwendet und sie in schöne Noten (PDF-Dateien) umwandelt. Bietet alle Arten von Möglichkeiten, mit der Ausgabe zu experimentieren, wenn Sie möchten. Es kann sogar anständig klingende MIDI-Dateien erzeugen. Ich benutze es immer dann, wenn ich schöne Noten produzieren muss, aus denen andere Musiker lesen werden. Ich denke, es ist besser als Finale und es ist kostenlos !

In der kommerziellen Kategorie gibt es auch Igor Engraver von Notehead . Leider kann ich auf der Website keinen direkten Link zu der Seite veröffentlichen, die sich mit LISP befasst. Gehen Sie also zu Downloads und suchen Sie im unteren Bereich nach einem "LISP" -Link.

Es gibt auch Naughty Dog (eine Computerspielefirma), die LISP in ihren Spielen verwenden. Dieser Artikel spricht darüber und zeigt sogar Code.

Und es gibt viele andere, die erwähnt und damit verbunden wurden, aber dies sind die wichtigsten, die bei mir Anklang finden (als Komponist/Programmierer/Spieler/... Typ).

12
Galghamon

ITA-Software verwendet eine angemessene Menge an CL.

http://www.itasoftware.com/careers/l_e_t_LISP.html?catid=8

12
Ali

Einige neuere:

Die ersten drei davon wurden mit Weblocks, einem CL-Webframework, geschrieben. Wigflip und Clutu verwenden reinen Hunchentoot.

Jetzt Codierung holen! :)

10

Das Hubble-Weltraumteleskop wird mithilfe von LISP-Planungstools geplant. Das Space Shuttle war. Das Webb-Teleskop wird. Das Unternehmen, für das ich LISP schreibe, analysiert Krankenversicherungsansprüche in Milliardenhöhe und ist selbst während der Rezession um ~ 30% pro Jahr gewachsen. Wir wurden von einer großen Firma gekauft und einer unserer Programmierer hat die Ausgabe der Software von (einer großen Firma) für die Analyse von Medicare-Behauptungen innerhalb eines Jahres von vorne angefangen. (Riesenfirma) Code, nicht in LISP, dauerte 6 Jahre und mehrere Programmierer. Karrieremäßig ist das Problem, dass sich zu viele das Gerede über "viele irritierende alberne Klammern" anhören und so weiter. Die meisten Manager "verstehen" es nicht und möchten lieber ein Projekt in einer Sprache haben, die sie so gut beherrschen, dass sie es mikro-verwalten können. Sie denken "LISP = AI" und wollen nicht einmal die Möglichkeit in Betracht ziehen, dass es sich um eine gute Allzwecksprache handelt. Sie stecken nur die Ohren zu. Es gibt keine ausgefeilten Tools, um M $ -freundliche Websites zu erstellen oder vorhandene Java) Apps zu clustern oder in Pipelines zusammenzufassen auf, aber es würde mich nur bitter machen. :)

10
ThePrisoner

Wenn ich jetzt mein eigenes großes Softwareprojekt starten würde, würde ich meine Sprachentscheidung anhand der oben genannten Kriterien treffen. Klar, ich liebe LISP, CLOS ist großartig, wirklich lexikalisch, LISP-Makros sind cool (wenn sie wie angewiesen verwendet werden) und ich persönlich mag die LISP-Syntax wirklich. […] Aber es würde eine Menge oder besondere Umstände erfordern, um mich davon zu überzeugen, LISP für ein großes Softwareprojekt zu wählen, wenn ich dafür verantwortlich wäre, die Wahl zu treffen. - Dan Weinreb

9
Ólafur Waage

Ich glaube, Autocad hat Erweiterungen, die LISP verwenden, um das Produkt zu erweitern. Siehe AutoLISP .

9
Alex Miller

Peter Christensen hat eine große Liste von (finanziell) erfolgreichen LISP-Unternehmen zusammengestellt.

http://www.pchristensen.com/blog/LISP-companies/

9
Eric Normand

Es gibt viele Unternehmen, Projekte und Produkte, die LISP in unterschiedlichen Rollen einsetzen - ich habe für mehrere von ihnen gearbeitet.

Es gibt zwei relevante Punkte:

  1. sie werden möglicherweise nie erfahren, dass Ihre neueste Unterhaltungselektronik mit Common LISP gebaut oder sogar in Common LISP programmiert wurde oder dass ein von Ihnen verwendeter Dienst von einem LISP-Server bereitgestellt wird. Es wäre falsch zu folgern, dass LISP "nie verwendet" wird.

  2. … Und wie so viele Domains sind diese Jobs nie auf Monster.com erschienen. Nur weil Sie noch nie eine Stellenanzeige dafür gesehen haben, heißt das nicht, dass es keine LISP-erforderlichen oder richtigen Stellenangebote gibt.

8
Rich

Ich glaube, das Plug-In-System von GIMP basiert auf Scheme. Ich weiß nicht, ob dies eine "reale Welt" ist, aber es scheint zumindest eine praktische Anwendung von LISP zu sein.

8
Tikhon Jelvis

Nachschlagen ACL2 . Es ist eine LISP-basierte formale Logik-Engine, die für eine Reihe von Projekten aus der "realen Welt" verwendet wurde, wie formale Methoden für die Softwaresicherheit und Korrektheitsnachweise für Gleitkomma-Hardware.

6
BCS

Weit entfernt von einer erschöpften Liste in http://www.franz.com/success/all_customer_apps.lhtml

6
fincomus

Wenn meine Pläne klappen, werden wir in 5 Jahren alle das Programm anwenden! ; p

6
leppie

LISP wird in der realen algorithmischen Musikkomposition mit der Bibliothek Common Music verwendet. Rick Taubes Noten vom Metalevel sind ein großartiger Einführungstext in das Thema, der eine Reihe von Beispielen für das Komponieren in LISP enthält. Siehe das Beispielverzeichnis hier und eine Kopie des Textes hier .

6
Curtis

Ich war ziemlich beeindruckt, als ich herausfand, dass das PRISMA ("Das Prisma-Projekt ist ein langfristiges Projekt zur Erstellung von Softwaretools für die Strahlentherapieplanung, einschließlich künstlicher Intelligenz Tools sowie manuelle Simulationssysteme. ") ist in Common LISP geschrieben.

Bei meiner Arbeit schreibe ich Software, die DICOM verwendet, und ich muss sagen, dass das Schreiben einer guten DICOM-Implementierung eine schwierige Aufgabe ist. In ihrem Bericht beschreiben sie, wie Common LISP es ihnen ermöglicht, eine gute DICOM-Implementierung zu erstellen, die (zumindest in gewisser Weise) mit geringerem Aufwand besser ist als andere Implementierungen.

6
dmitry_vk

Matthew Eric Bassett über die Verwendung von Racket in der Filmindustrie: http://www.youtube.com/watch?v=37owCjWnkK

Daniel Liebgold über Racket und PS3: http://www.youtube.com/watch?v=oSmqbnhHp1c

5
soegaard

Ich habe gerade festgestellt, dass Maxima , ein Programm für symbolische Algebra, in Common LISP geschrieben ist. Ich benutze das schon seit einiger Zeit und ich denke, es ist auch ein sehr gutes Beispiel aus dem wirklichen Leben.

5
Jan Stolarek

Google App Inventor ist in Schema geschrieben

5
shikhar

Nun, es ist kaum Mainstream, aber ich benutze LISP für so viel meines Forschungscodes, wie managen kann. Es ist bei weitem die beste Sprache, die ich für das Gleichgewicht zwischen Dynamik und Ausdruck gefunden habe, während ich immer noch eine anständige Leistung für Zahlen usw. hervorbringe.

5
simon

GNU Make ist mit Schema erweiterbar. Ein Fall für die reale Welt der Programmierung :)

https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html

4
antono

LISP versuchte in den frühen 80ern den Sprung zur Lichtgeschwindigkeit. Bevor es PCs gab, gab es kommerziell produzierte "LISP-Maschinen", die sehr nach modernen Workstations aussahen, aber "bis zum Ende" LISP waren. LISP-Hardware ging schließlich an Intel verloren (wie alles andere auch). LISP-Software ging schließlich an C/C++ verloren. Es gibt eine Vielzahl von Theorien, warum dies alles so ist. http://www.andromeda.com/people/ddyer/LISP/

3
ddyer

Wie bereits erwähnt, ist das Computer-Algebra-System "Maxima" in LISP geschrieben, aber auch andere CAS sind in LISP geschrieben, beispielsweise Axiom und seine Gabeln (OpenAxiom und Fricas).

2
Thomas Baruchel

Algorithmic Composition Toolbox von Paul Berg: http://www.koncon.nl/downloads/ACToolbox/

2
rabidmachine9

Ich sehe, dass einige Leute es bereits erwähnt haben, aber LISP wird häufig in der Entwicklung von benutzerdefinierten Autocads verwendet. Autocad enthält einen integrierten LISP-Interpreter. Dies ist eine der einfachsten Möglichkeiten, das Produkt zu erweitern, und bietet die Möglichkeit, Ihre Produktivität schnell zu steigern.

Auf der Benutzerseite ist keine Kompilierung erforderlich, und in der Befehlszeile können mindestens ein Zeilen-LISP-Ausdruck eingegeben und sofort in der Zeichnung ausgeführt werden. Für Designer und Zeichner, die bereit sind, auch nur einen kleinen Schritt zum Erlernen der Grundlagen von LISP zu tun, kann dies einen enormen Produktivitätsvorteil bedeuten.

Autocad bietet eine Reihe weiterer Möglichkeiten, um die Produkte anzupassen. ObjectARX (C++), VB, C # usw. Die LISP-Schnittstelle ist bei weitem am einfachsten zu erlernen und zu implementieren. Die meisten anderen Entwicklungsumgebungen verwenden LISP auf irgendeine Weise.

Der LISP-Interpreter wurde in einer sehr frühen Version von Autocad zur Verfügung gestellt und wurde als Variablen und Ausdrücke bezeichnet. Es war ziemlich begrenzt, aber bei den Benutzern so erfolgreich, dass zusätzliche Funktionen schnell hinzugefügt wurden. Eine vollständige visuelle IDE) wurde später (in Version 2000 denke ich).

Ich würde ungern raten, wie viele Millionen (Milliarden?) Zeilen LISP-Code für Autocad verfügbar sind. Eine Google-Suche auf "autocad .lsp" liefert 2,3 Millionen Treffer.

Ok, genug tippen, es ist wieder soweit, ich schreibe mehr LISP für mein aktuelles Projekt :)

2
bluesixty

Für die AutoCAD-Anwendung AutoLISP/Visual LISP werden häufig für echte Projekte verwendet, und es gibt eine große Benutzergemeinschaft.

Die Programmiersprache Schema wird von der FLUENT Flow Modeling Software (Computational Fluid Dynamics, CFD) als Skriptsprache verwendet.

2
jfs

Meine Firma hat die Software in Schema (PLOT) geschrieben. Die Software dient als E-Mail-Firewall für große Unternehmen.

2
paul

http://www.gensym.com/ - Echtzeit-Business-Rules-Engine hat viele Industriekunden.

Intern ist es in Commom LISP geschrieben

1
kmmbvnr

Fügen Sie einfach all die sehr weisen Kommentare hinzu: Schauen Sie sich das Corman LISP-Tool an und erfahren Sie, wie Sie SEHR INTELLIGENTE FUNKTIONEN in ein eingebettetes System einbetten können!

1

http://echowaves.com wird in Clojure mit Compojure erstellt. Die Website wurde als Lernübung erstellt, um zu überprüfen, ob es praktisch ist, Clojure zum Erstellen von Webanwendungen zu verwenden. Die Antwort ist ja! Daumen hoch für Clojure im Web. Lernen Sie Clojure auf jeden Fall - es wird Ihre Karriere verbessern. Der Code ist OpenSource, wenn jemand ein Beispiel sehen möchte, welches die typischen beweglichen Teile für eine typische Compojure-App sind https://github.com/echowaves/echowaves

1
dmitryame

Es ist eine wundervolle Sprache, aber sie ist verkrüppelt, weil (meiner Meinung nach als Software-Unternehmer und Programmierer) es nur sehr wenige kommerzielle LISP-Pakete gibt und die wenigen, die es gibt, eine Laufzeitgebühr verlangen (weil es sich um ein geeignetes LISP-Paket handeln kann) von Endbenutzern verwendet, um auch LISP-Programme zu schreiben).

Ich verwende Steel Bank Common LISP, um Code unter Windows und Linux zu prototypisieren, und ich liebe es - aber ich würde niemals in Betracht ziehen, ein Produkt zu versenden, das mit ihm geschrieben wurde. Es gibt keine einfache Möglichkeit, einen Ein-Klick-Zugriff auf die Programme einzurichten, sodass der Endbenutzer niemals mit einer LISP-Eingabeaufforderung konfrontiert wird. Es gibt keine Möglichkeit, ein kompiliertes Produkt zu versenden, damit der Benutzer es nicht zerlegen, einige Änderungen vornehmen kann, um Ihren Namen zu entfernen und es als sein eigenes zu verkaufen. Ich habe gesehen, dass LISP-Systeme erwähnt werden, in denen beides möglich ist, aber es handelt sich um kommerzielle Systeme, bei denen Sie für jeden Endbenutzer Ihres Programms Laufzeitgebühren zahlen müssen, was lächerlich ist.

LISP mag sich eines Tages zu Eigen machen (und ich hoffe es inständig), aber für die meisten kommerziellen Programme ist es noch nicht lebensfähig. Die einzige Ausnahme ist etwas, auf dem es immer auf Systemen läuft, über die Sie die vollständige Kontrolle haben, wie einem Webserver (und ich habe nur von einigen Firmen gehört, die es auch dafür verwenden).

0
Head Geek

Walmart verwendet Clojure, um Einkäufe in Echtzeit zu verarbeiten

0
blue_note