Question

J’ai expérimenté Lisp (en fait Scheme) et j’ai trouvé que c’était une très belle langue qui m’intéressait à en apprendre davantage. Cependant, il semble que Lisp ne soit jamais utilisé dans des projets sérieux, et je ne l'ai pas vu répertorié comme une compétence souhaitée dans aucune offre d'emploi. Je souhaiterais connaître le point de vue de quiconque a utilisé Lisp ou l'a vu utilisé dans le "monde réel", ou qui sait s'il est considéré comme une langue purement académique.

Était-ce utile?

La solution

Franz, Inc. fournit une liste d'exemples de réussite exhaustive sur son site Web. Cependant:

  

Ne supposez pas que Lisp est seulement   utile pour l'animation et les graphiques, AI,   Bioinformatique, B2B et E-Commerce,   Exploration de données, EDA / Semiconductor   applications, systèmes experts, finance,   Agents intelligents, connaissances   Management, CAO Mécanique, Modélisation   et simulation, langage naturel,   Optimisation, recherche, analyse de risque,   Planification, création de télécom et création Web   juste parce que ce sont les seules choses   il est arrivé à la liste. & # 8212; Kent Pitman

Nous pouvons trouver d'autres exemples de réussite ici: & nbsp; http://lisp-lang.org/success/

et une liste des entreprises utilisant actuellement Common Lisp: https://github.com/azzamsa / awesome-lisp-companies

Autres conseils

Est-ce que l'élisp d'Emacs compte? C'est le plus "monde réel". utilise ce que je connais (même si je ne suis pas sûr que Emacs compte comme "monde réel" non plus).

logiciel ITA utilise Common Lisp pour son moteur de recherche QPX à tarif réduit qui alimente des sites tels que Orbitz , Kayak et Américain et United Compagnies aériennes parmi beaucoup d'autres. Il est également utilisé en partie pour son prochain système de réservation de passagers pour Air Canada. Paul Graham a écrit un peu sur Lisp chez ITA dans le passé.

(Avertissement: je travaille là-bas.)

en tant que petite start-up, nous avons construit quelque chose que certaines personnes appellent un "serveur d'applications". mais en réalité, il ne s’agit que d’un ensemble de bibliothèques lisp communes intégrées pour la connectivité SQL et les applications Web. Des informations sont disponibles sur la page du projet cl-dwim

En utilisant cela, nous avons développé et exploité une application Web pour le gouvernement hongrois qui collecte des données auprès des gouvernements locaux et calcule la part correspondante du budget du pays. C’est le deuxième budget que nous prévoyons maintenant.

il compte environ 4 000 utilisateurs et s'exécute sur un cluster d'ordinateurs.

à partir de "langage académique": nous jouons avec des choses telles que les continuations persistantes pour la modélisation de processus métier. c'est un code aléatoire aléatoire avec quelques primitives supplémentaires liées au processus et quelques contraintes. il peut s’arrêter à des points aléatoires du code et s’endormir (s’inscrire dans la base de données) pendant qu’il attend un événement externe.

est-ce pratique ou académique? vous décidez ...)

Reddit a été écrit à l'origine en Lisp, puis réécrit en Python. Il existe une bonne analyse du commutateur et de ce que cela signifie pour Lisp: Trouver Lisp .

Paul Graham a utilisé et écrit à propos de ViaWeb dans LISP

En savoir plus sur ici - Surpasser la moyenne

LilyPond est un projet open source assez récent qui fait toujours l'objet d'activités de développement cohérentes et considérables.

C’est un programme de notation musicale qui prend un fichier texte facile à écrire en entrée et le convertit en belles partitions (fichiers pdf). Offre toutes sortes de façons de manipuler la sortie si vous le souhaitez. Il peut même produire des fichiers MIDI à la sonorité décente. Je l'utilise chaque fois que j'ai besoin de produire de belles partitions que d'autres musiciens liront. Je pense que c'est mieux que Finale et que c'est gratuit !

Dans la catégorie commerciale, il existe également des Igor de Notehead.  Graveur . Malheureusement, le site ne me permet pas de publier un lien direct vers la page qui parle de Lisp, alors cliquez sur "Téléchargements" et recherchez un "Lisp" au bas de la page. lien.

Il y a aussi Naughty Dog (une société de jeux informatiques) qui utilise Lisp dans ses jeux. Cet article en parle et affiche même du code.

Et il y en a beaucoup d'autres qui ont été mentionnés et liés à, mais ce sont les principaux qui résonnent avec moi (être un compositeur / programmeur / joueur / ... type).

Quelques plus récents:

Les trois premiers de ceux-ci ont été écrits en utilisant Weblocks, un framework web CL. Wigflip et Clutu utilisent purement Hunchentoot.

Maintenant, codez! :)

Le télescope spatial Hubble est planifié à l’aide des outils de planification Lisp. La navette spatiale était. Le télescope Webb sera. La société que je rédige en Lisp analyse des milliards de dollars de réclamations d’assurance maladie et a connu une croissance d’environ 30% par an, même en période de récession. Nous avons été achetés par une énorme entreprise et l'un de nos programmeurs a égalé (en fait amélioré) la sortie du logiciel d'analyse (des énormes entreprises) de Medicare, en partant de rien, en un an. Le code de (gigantesque entreprise), pas dans Lisp, a pris 6 ans et plusieurs programmeurs. Le problème, sur le plan de la carrière, est que trop de gens écoutent les mots "beaucoup de parenthèses idiotes irritantes". etc. La plupart des gestionnaires ne le comprennent pas. et préféreraient avoir un projet dans une langue suffisamment familière pour qu'ils puissent gérer leur micro-gestion. Ils pensent que "Lisp = AI" et ne veulent même pas envisager la possibilité que ce soit un bon langage généraliste. Ils se bouchent les oreilles. Il n'existe pas d'outils sophistiqués pour créer des sites Web conviviaux pour M $ ou pour grouper ou mettre en pipeline des applications Java existantes, et c'est 90% de ce dont les TI se soucient en ces temps de croissance par acquisition. Je pourrais continuer, mais ça me rendrait amer. :)

  

Si je démarrais mon propre projet logiciel majeur maintenant, je prendrais ma décision linguistique en fonction des critères ci-dessus. Bien sûr, j'adore Lisp, CLOS est génial, de vraies roches à portée de main lexicale, les macros Lisp sont vraiment cool (quand ils sont utilisés comme prévu) et, personnellement, j'aime vraiment la syntaxe Lisp. […] Mais il faudrait beaucoup, ou nécessiter des circonstances spéciales, pour me convaincre de choisir Lisp pour un projet logiciel majeur, si j'étais chargé de faire ce choix. - Dan Weinreb

Je pense qu'Autocad a des extensions qui utilisent Lisp pour étendre le produit. Voir AutoLISP .

Peter Christensen a dressé une excellente liste de sociétés lisp (financièrement) florissantes.

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

De nombreuses entreprises, projets et produits utilisent Lisp dans divers rôles. J'ai déjà travaillé pour plusieurs d'entre eux.

Il y a deux points pertinents:

  1. vous ne saurez peut-être jamais que votre dernier appareil électronique grand public a été construit avec Common Lisp, ou même programmé dans celui-ci, ou qu'un service que vous utilisez est alimenté par un serveur Lisp. Il serait faux de conclure que Lisp est "jamais utilisé".

  2. … et, comme tant de domaines, ces emplois ne sont jamais apparus sur Monster.com. Ce n’est pas parce que vous n’avez jamais vu une offre d’emploi que cela signifie qu’il n’existe pas d’opportunité Lisp-requise ou d’outil idéal pour le poste.

Le système de plug-in de GIMP est basé sur Scheme, je crois. Je ne sais pas si c'est du "monde réel", mais cela semble être une application pratique de Lisp, à tout le moins.

Recherchez ACL2 . C'est un moteur logique formel basé sur lisp qui a été utilisé pour un certain nombre de "monde réel". comme des méthodes formelles de sécurité logicielle et des preuves de correction pour le matériel en virgule flottante.

Loin d’être épuisé dans la liste http://www.franz.com/success/all_customer_apps. lhtml

Si mes projets aboutissent, nous utiliserons tous Scheme dans 5 ans! ; p

J'ai été très impressionné d'apprendre que le PRISM (& # 171 Le projet Prism est un projet à long terme visant à développer des outils logiciels pour la planification de la radiothérapie, y compris des outils d’intelligence artificielle ainsi que des systèmes de simulation manuelle. & # 187;) est écrit en langage de lecture commune.

J'écris un logiciel utilisant mon DICOM et je dois dire que l'écriture de bon DICOM la mise en œuvre est une tâche difficile. Dans leur rapport , ils décrivent comment Common Lisp leur a permis de Une implémentation DICOM meilleure (du moins à certains égards) qu'une autre implémentation avec moins d'effort.

Lisp est utilisé dans la composition de musique algorithmique du monde réel avec la bibliothèque Musique commune . Notes from the Metalevel de Rick Taube est un excellent texte d'introduction au sujet, qui contient de nombreux exemples en Lisp pour la composition. Voir le répertoire des exemples ici et une copie du texte ici .

Eh bien, c’est loin d’être courant, mais j’utilise lisp autant que possible dans mon code de recherche. C'est de loin le meilleur langage que j'ai trouvé pour l'équilibre du dynamisme & amp; expressivité tout en générant des performances décentes pour les calculs, etc.

Google App Inventor est écrit dans Scheme

Je viens de me rendre compte maintenant que Maxima , un programme pour l'algèbre symbolique, est écrit en Common Lisp. Je l'utilise depuis un certain temps et je pense que c'est aussi un très bon exemple de la vie réelle.

Matthew Eric Bassett sur l'utilisation de Racket dans l'industrie cinématographique: http://www.youtube.com/watch?v=37owCjWnkK0

Daniel Liebgold sur Racket et PS3: http://www.youtube.com/watch?v=oSmqbnhHp1c

GNU Make est extensible avec scheme. Un cas de programmation dans le monde réel:)

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

Lisp a tenté de passer à la vitesse de la lumière au début des années 80. Avant il y avait des PC, il y avait des "Lisp Machines" produites commercialement. qui a l'air superficiellement beaucoup comme des postes de travail modernes, mais qui étaient insensibles "tout en bas". Matériel Lisp a finalement perdu contre Intel (comme tout le reste). Logiciel Lisp éventuellement perdu en C / C ++. Il existe une variété de théories pour expliquer tout cela. http://www.andromeda.com/people/ddyer/lisp/

Le langage de programmation Scheme est utilisé comme langage de script par le logiciel de modélisation de flux FLUENT (dynamique des fluides numérique, CFD).

Pour l'application AutoCAD, les applications AutoLISP / Visual LISP sont très utilisées dans les projets réels et il existe une grande communauté d'utilisateurs.

Je vois que quelques personnes l’ont déjà mentionné mais lisp est largement utilisé dans le développement personnalisé d’Autocad. Autocad comprend un interpréteur lisp intégré. C'est l'un des moyens les plus simples d'étendre le produit et offre la possibilité d'améliorer rapidement votre productivité.

Aucune compilation n'est requise, côté utilisateur, et 1 ou plusieurs expressions line lisp peuvent être entrées sur la ligne de commande et exécutées immédiatement sur le dessin. Les concepteurs et les dessinateurs désireux d’apprendre même les bases du lisp peuvent bénéficier d’un avantage considérable en termes de productivité.

Autocad fournit un certain nombre d'autres moyens de personnaliser leurs produits. ObjectARX (C ++), VB, C #, etc. L'interface de lisp est de loin la plus facile à apprendre et à mettre en œuvre. Et la majorité des autres environnements de développement utilisent lisp d’une manière ou d’une autre.

L'interpréteur lisp a été mis à disposition dans une version très ancienne d'Autocad et s'appelait Variables et expressions. C'était assez limité, mais le succès rencontré par les utilisateurs a été tel que des fonctionnalités supplémentaires ont été rapidement ajoutées. Un IDE visuel complet a ensuite été créé (dans la version 2000, je pense).

Je ne voudrais pas deviner combien de millions (de milliards?) de lignes de code Lisp sont disponibles pour Autocad. Une recherche google sur "autocad .lsp". renvoie 2,3 millions de résultats.

Ok, assez de dactylographie, c'est le retour au travail pour moi, écrire plus de lisp pour mon projet actuel:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top