148

I have experimented with Lisp (actually Scheme) and found it to be a very beautiful language that I am interested in learning more about. However, it appears that Lisp is never used in serious projects, and I haven't seen it listed as a desired skill on any job posting. I am interested in hearing from anyone who has used Lisp or seen it used in the "real world", or who knows whether it is considered a purely academic language.

maxcountryman
  • 1,562
  • 1
  • 24
  • 51
titaniumdecoy
  • 18,900
  • 17
  • 96
  • 133
  • 1
    @titaniumdecoy: After just discovering Clojure and having no previous experiences in Lisp style languages, I added the Clojure tag for those searching for discourse into Lisp. :) – Ande Turner Oct 06 '08 at 09:35
  • 1
    @titaniumdecoy: Clojure is a decendant of Lisp which runs on the JVM and is able to utilise APIs written in Java – Ande Turner Oct 06 '08 at 09:37
  • 12
    I wouldn't learn Lisp as a way of improving your career, because it won't. Learn it to make you a better general programmer, by all means. – skaffman Jul 10 '09 at 09:01
  • 13
    On the Clojure mailing list, we frequently get industry success stories from people who use the language. – Rayne Jul 10 '09 at 10:06
  • 43
    @skaffman: but won't that help to improve your career? – Erik Forbes Dec 08 '09 at 13:53
  • 1
    I have never seen it listed in a job posting either, but I am convinced that my Scheme experience helped me land my last job. – gcbenison Jan 26 '12 at 03:29

38 Answers38

87

Franz, Inc. provides an inexhaustive list of success stories on their website. However:

Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. — Kent Pitman

We can find other success stories here: http://lisp-lang.org/success/

and a list of current companies using Common Lisp: https://github.com/azzamsa/awesome-lisp-companies

Ehvince
  • 17,274
  • 7
  • 58
  • 79
Matthias Benkard
  • 15,497
  • 4
  • 39
  • 47
  • 41
    That blurb seems like a very hollow mantra to me. Sure, it may be around in those areas, but then mostly as legacy code. In my experience from real life, Python combined with swigged C/C++ has much replaced Lisp as the rapid prototyping language(s) of choice for pragmatic hackers. – Johan Kotlinski May 29 '09 at 07:14
  • 31
    @kotlinski where's evidence? when you overgeneralize the industry, then you're talking about the average, not about the best parts of it. success stories are almost every time following distinctive and not-so-average technologies/ideas. – Luka Ramishvili Feb 20 '12 at 08:08
  • More here: http://lisp-lang.org/success/ (beautifully presented) and here: [companies using Common LIsp](https://github.com/azzamsa/awesome-lisp-companies). – Ehvince Feb 19 '19 at 22:28
55

Does Emacs' elisp count? That's the most "real world" use that I am familiar with (although I'm not sure that Emacs counts as "real world" either).

eschercycle
  • 22,067
  • 4
  • 21
  • 13
  • No, but `vim` does ;). Unfortunately (or perhaps fortunately), nobody has written serious software in `vimscript`. – new123456 Jul 26 '11 at 04:59
44

ITA Software uses Common Lisp for its QPX low-fare search engine which powers sites like Orbitz, Kayak, and American and United Airlines among many others. It's also used in part for its upcoming passenger reservation system for Air Canada. Paul Graham has written a little bit about Lisp at ITA in the past.

(Disclaimer: I work there.)

Joe Shaw
  • 22,066
  • 16
  • 70
  • 92
27

The story of the rise and fall of Lisp at the Jet Propulsion Lab

jfs
  • 399,953
  • 195
  • 994
  • 1,670
25

as a small startup we've built up something some people call an "application server". but in fact it's just a bunch of integrated common lisp libraries for sql connectivity and web applications. some details are available at cl-dwim project page

using that we have developed and operate a web application for the hungarian government that collect data from the local governments and calculates the relevant part of the budget of the country. this is the second budget we are planning now.

it has about 4000 users, and it runs on a cluster of computers.

as of "academic language": we are playing with things like persistent continuations for business process modelling. it's some random lisp code with a few extra process-related primitives and a few constraints. it can stop at random points in the code and fall asleep (get comitted into the database) while it waits for some external event.

is it practical or academic? you decide... :)

Attila Lendvai
  • 1,330
  • 8
  • 11
  • Wow! I totally thought that all software that the government uses was written it basic at most given how much most of them suck. Is this still in use? –  Jul 08 '12 at 14:12
  • 5
    of course not... we've been ditched once the project has been designed, proved to be viable, and enough money/attention got allocated. a well-connected bigger company took over, and wrote its own version in java. one interesting tidbit is that they kept on running our codebase for years. i helped them with a day of consulting... – Attila Lendvai Jul 17 '12 at 08:26
23

Reddit was originally written in Lisp and then later rewritten in Python. There's a good analysis of the switch and what it means for Lisp over at Finding Lisp.

Mark Reid
  • 921
  • 1
  • 6
  • 14
  • 1
    Here's a reverse story: pgloader was re-written from Python to Common Lisp: https://tapoueh.org/blog/2014/05/why-is-pgloader-so-much-faster/ – Ehvince Feb 19 '19 at 22:34
22

Paul Graham has used and written about ViaWeb that was written in LISP

Read about it here - Beating the Average

Kyle Cronin
  • 77,653
  • 43
  • 148
  • 164
epatel
  • 45,805
  • 17
  • 110
  • 144
  • 4
    Thats not really a good example, they went out of business years ago – 1800 INFORMATION Oct 05 '08 at 23:13
  • 9
    BTW, can I just add that I think Paul is delusional on this one: it was not LISP that gave them the edge, it was just being smart and paying attention. They could have succeeded with VB if that was the only tool at hand. – Jeff Oct 05 '08 at 23:14
  • 23
    They didn't go out of business, they were bought up by Yahoo. Big difference, at least to the developers. :-) – Head Geek Oct 05 '08 at 23:14
  • 1
    If the best example that can be come up with got bought out years ago and was subsequently run into the ground, then LISP it shows that LISP isn't that great in the real world? – 1800 INFORMATION Oct 05 '08 at 23:18
  • 18
    @1800: It only "got run into the ground" after Yahoo owned it and had it rewritten in another language, so stop strawmanning. – wfarr Oct 05 '08 at 23:57
  • 1
    And since then there have been no other significant examples of LISP being used in the real world, and if it was any good they would have kept using it written as LISP? – 1800 INFORMATION Oct 06 '08 at 00:15
  • 3
    @1800: You seem to deliberately misunderstand the responses to your flamebait. Why don't you simply broaden your horizon by trying Lisp out for yourself instead of concluding it isn't “any good” from what other people have decided to do based on some circumstances that you don't know anything about? – Matthias Benkard Oct 06 '08 at 12:23
  • 6
    @1800: Forget what Matthias said, I actually think its quite funny. Your assertion that "there have been no other significant examples of LISP being used in the real world" directly implies that you are omniscient. Bravo! – Ali Oct 06 '08 at 14:25
13

The Hubble Space Telescope is scheduled using Lisp planning tools. The Space Shuttle was. The Webb telescope will be. The company I write Lisp for analyzes billions of dollars of health insurance claims and has been growing at ~30% per year even through the recession. We've been bought by a huge company, and one of our programmers matched (actually improved upon) the output of (huge company)'s software for analyzing Medicare claims, starting from scratch, by himself, in a year. (huge company)'s code, not in Lisp, took 6 years and several programmers. The trouble, career-wise, is that too many listen to the twaddle about "lots of irritating silly parentheses" and so on. Most managers don't "get it" and would rather have a project in a language familiar enough that they can micro-manage. They think "Lisp=AI" and don't even want to entertain the possibility that it's a good general purpose language. They just plug their ears. There aren't polished tools for doing M$-friendly websites or clustering or pipelining existing Java apps, and that's 90% of what IT cares about in these days of growth by acquisition. I could go on, but it would just get me bitter. :)

ThePrisoner
  • 1
  • 1
  • 2
12

ITA software uses a fair amount of CL.

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

Ali
  • 1,014
  • 2
  • 12
  • 17
12

A fairly recent open-source project that is still enjoying consistent and considerable development activity is LilyPond.

It's a music notation program that takes a easy-to-write text file as input and converts it into beautiful sheet music (pdf files). Offers all kinds of ways to fiddle with the output if you want to. It can even produce decent sounding midi files. I use it whenever I need to produce nice sheet music that other musicians will read from. I think it's better than Finale and it's free!

In the commercial category, there is also Notehead's Igor Engraver. Unfortunately, the site doesn't allow me to post a direct link to the page that talks about Lisp, so go to downloads and look at the bottom for a "Lisp" link.

There's also Naughty Dog (a computer game company) who use Lisp in their games. This article talks about that and even shows some code.

And there are many others that have been mentioned and linked to, but these are the main ones that resonate with me (being a composer/programmer/gamer/... type).

Galghamon
  • 2,012
  • 18
  • 27
  • 1
    As a Schemer, it's interesting and inspiring to read [the part of the LilyPond manual](http://lilypond.org/doc/v2.12/Documentation/user/lilypond-learning-big-page#Automated-engraving) that explains how Scheme became a part of LilyPond. It used to be entirely in C++, but they found that it needed to be more programmable by the user, and they were able to solve that problem by rewriting parts of it in Scheme and building in a Scheme interpreter that gives the user access to LilyPond internals. – Lindsey Kuper Dec 02 '11 at 04:09
10

Some more recent ones:

The first three of those were written using Weblocks, a CL web framework. Wigflip and Clutu use pure Hunchentoot.

Now get coding! :)

Leslie P. Polzer
  • 2,998
  • 21
  • 18
10

If I started up my very own major software project now, I would make my language decision based on the criteria above. Sure, I love Lisp, CLOS is awesome, real lexical scoping rocks, Lisp macros are way cool (when used as directed), and personally I really like Lisp syntax. […] But it would take a lot, or require special circumstances, to persuade me to choose Lisp for a major software project, if I were in charge of making the choice. - Dan Weinreb

Ólafur Waage
  • 68,817
  • 22
  • 142
  • 198
  • Right - then enjoy not being able to hire anyone :) – Jeff Oct 05 '08 at 23:20
  • @Jeff: "But it would *take a lot*, or *require special circumstances*, to persuade me to choose Lisp for a major software project". It is a point against Lisp. – jfs Oct 05 '08 at 23:48
  • where's this quote from? googling by text chunks only yields this very post –  Oct 06 '08 at 01:05
  • You should click: "repeat the search with omitted results". The quote is from: http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=31402 – C. K. Young Oct 06 '08 at 05:38
  • 5
    cheers. i have to say, this quote reads stronger then it really is, outside of context. weinreb is now working at ITA, and blogging about lisp among other things; i wonder how and if that might've influenced his opinion. –  Oct 07 '08 at 05:56
10

I believe Autocad has extensions that use Lisp to extend the product. See AutoLISP.

Alex Miller
  • 69,183
  • 25
  • 122
  • 167
  • Correct. It also implements ActiveX - it is quite powerful and AtoDesk themselves use it to write 'internal' commands. It is interpreted into ObjectARX - C++, basically. – CAD bloke Nov 24 '08 at 06:42
9

Peter Christensen has compiled a great list of (financially) successful lisp companies.

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

Eric Normand
  • 3,806
  • 1
  • 22
  • 26
8

There are plenty of companies, projects, and products that use Lisp in a variety of roles — I've done work for several of them.

There are two relevant points:

  1. you may never know that your latest piece of consumer electronics was built with, or even programmed in, Common Lisp, or that some service you use is powered by a Lisp server. It would be incorrect to conclude that Lisp is "never used".

  2. … and, like so many domains, those jobs never appeared on Monster.com. Just because you've never seen a job posting for it doesn't mean that there are no Lisp-required or right-tool-for-the-job opportunities out there.

Rich
  • 2,853
  • 1
  • 20
  • 20
  • So where *do* those jobs appear? I've been trying to puzzle that out myself. – Charlie Flowers Apr 01 '11 at 05:07
  • 2
    From experience: mailing lists, direct personal mail from companies and recruiters, in-person mentions, user groups, and the like. – Rich Apr 20 '11 at 02:16
  • 1
    thanks. It sounds like you're saying the same thing I read elsewhere ... that the Lisp world is a small community, and you can take advantage of that by contributing and getting known within that community, and that's probably the best way to get Lisp jobs. Do you agree? – Charlie Flowers Apr 20 '11 at 22:05
  • 5
    Yes. Furthermore, that's the best way to get jobs, period. Demonstrate your skills, get to know people, and make yourself known. – Rich Apr 28 '11 at 23:30
8

The GIMP's plug-in system is based on Scheme, I believe. I don't know if this is completely "real world", but it seems to be a practical application of Lisp, at the very least.

Tikhon Jelvis
  • 67,485
  • 18
  • 177
  • 214
7

Look up ACL2. It's a lisp based formal logic engine that has been used for a number of "real world" project like formal methods in software security and proofs of correctness for Floating point hardware.

BCS
  • 75,627
  • 68
  • 187
  • 294
7

I just realized now that Maxima, a program for symbolic algebra, is written in Common Lisp. I've been using that for quite some time and I think it's also a very good real life example.

Jan Stolarek
  • 1,409
  • 1
  • 11
  • 21
6

I was quite impressed when I found out that the PRISM («The Prism project is a long term project to build software tools for radiation therapy planning, including artificial intelligence tools as well as manual simulation systems.») is written in Common Lisp.

At my job I am writing software that uses DICOM and I must say that writing good DICOM implementation is a hard task. In their report they describe how Common Lisp let them build a good DICOM implementation that is better (at least in some ways) than other implementation with lesser effort.

dmitry_vk
  • 4,399
  • 18
  • 21
6

Lisp is used in real-world algorithmic music composition with the Common Music library. Rick Taube's Notes from the Metalevel is a great introductory text to the subject which has a bunch of examples in Lisp for composing. See the examples directory here and a copy of the text here.

Curtis
  • 536
  • 4
  • 10
6

Far from exhausted list in http://www.franz.com/success/all_customer_apps.lhtml

fincomus
  • 246
  • 2
  • 4
6

If my plans work out, we will all be using Scheme in 5 years from now! ;p

leppie
  • 115,091
  • 17
  • 196
  • 297
6

Matthew Eric Bassett on using Racket in the film industry: http://www.youtube.com/watch?v=37owCjWnkK0

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

soegaard
  • 30,661
  • 4
  • 57
  • 106
5

Well, it's hardly mainstream, but I use lisp for as much of my research code as is manageable. It's by far the best language I've found for the balance of dynamism & expressiveness while still generating decent performance for numerics, etc..

simon
  • 7,044
  • 2
  • 28
  • 30
5

Google App Inventor is written in Scheme

shikhar
  • 2,432
  • 1
  • 19
  • 14
4

GNU Make is extensible with scheme. A case for real world programming :)

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

antono
  • 978
  • 1
  • 7
  • 18
3

Lisp attempted the jump to lightspeed in the early 80's. Before there were PCs, there were commercially produced "Lisp Machines" which superficailly look a lot like modern workstations, but which were lisp "all the way down". Lisp hardware eventually lost out to Intel (as did everything else). Lisp software eventually lost out to C/C++. There are a variety of theories why this is all this is so. http://www.andromeda.com/people/ddyer/lisp/

ddyer
  • 1,792
  • 19
  • 26
2

I see a few people have already mentioned it but lisp is widely used in custom Autocad development. Autocad includes a built-in lisp interpreter. It is one of the simplest ways to extend the product and provides the ability to quickly enhance your productivity.

No compiling is required, on the user side, and 1, or more, line lisp expressions can be entered on the command line and executed immediately on the drawing. For designers and draftsman willing to take even a small step to learning the basics of lisp it can provide a huge productivity boon.

Autocad does provide a number of other ways to customize their products; ObjectARX (C++), VB, C#, etc.. The lisp interface is by far the easiest to learn and implement. And the majority of other dev environments use lisp in some fashion.

The lisp interpreter was made available in a very early version of Autocad and was called Variables and expressions. It was fairly limited but was such a success with the users that additional functionality was quickly added. A full blown visual IDE was later on (in version 2000 I think).

I would hate to guess how many millions (billions?) of lines of lisp code are available for Autocad. A google search on "autocad .lsp" returns 2.3 million hits.

Ok, enough typing, it's back to work for me, writing more lisp for my current project :)

bluesixty
  • 2,367
  • 3
  • 21
  • 21
2

Scheme programming language is used as a scripting language by FLUENT Flow Modelling Software (computational fluid dynamics, CFD).

jfs
  • 399,953
  • 195
  • 994
  • 1,670
2

http://echowaves.com is build in clojure with compojure. The site was built as a learning exercise to see if it's practical to use clojure for building web apps. The answer is -- yes! Thumbs up for clojure on the web. Learn clojure by all means -- it will improve your career. The code is opensource, if anyone wants to see example what are the typical moving parts for a typical compojure app https://github.com/echowaves/echowaves

dmitryame
  • 478
  • 4
  • 19
  • There are several groups at Amazon using Clojure in production. The 100% Java compatibility makes all the difference because we can make the argument that there is zero risk to using Clojure, that Clojure is just "an alternative (shorter) notation for Java." Everyone accepts that if there are two ways to do the same thing and one of the two ways is shorter (fewer lines of code), the shorter one is better. Clojure wins that fight almost every time. – Reb.Cabin Dec 19 '15 at 16:10
2

As previously said, the computer algebra system "Maxima" is written in Lisp, but other CAS are also written in Lisp, for instance Axiom and its forks (OpenAxiom and Fricas).

Thomas Baruchel
  • 7,236
  • 2
  • 27
  • 46
2

For the AutoCAD application AutoLISP/Visual LISP are used a lot for real projects and there is a large community of users.

2

Walmart uses clojure to process purchases real-time

blue_note
  • 27,712
  • 9
  • 72
  • 90
2

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

rabidmachine9
  • 7,775
  • 11
  • 46
  • 59
2

My company has the software writen in scheme (PLT). The software is used to act like email firewall for the big companies.

paul
  • 1,100
  • 1
  • 8
  • 14
1

http://www.gensym.com/ - Real time business rules engine have many industrial clients.

Internally it is written in Commom Lisp

kmmbvnr
  • 5,863
  • 4
  • 35
  • 44
1

Just adding to all the very wise comments above: look at the Corman Lisp tool and discover how to embed VERY INTELLIGENT FUNCTIONS into an embedded system!

-1

It's a wonderful language, but it's crippled because (in my opinion as a software business owner and programmer) there are very few commercial Lisp packages, and the few that are out there demand a run-time fee (because a proper Lisp package can be used by end-users to write Lisp programs too).

I use Steel Bank Common Lisp to prototype code under Windows and Linux, and I love it -- but I would never consider shipping a product written with it. There's no easy way to set up single-click access to the programs, so that the end user will never be confronted with a Lisp prompt. There's no way to ship a compiled product so that the user can't disassemble it, make some changes to remove your name, and sell it as his own. I've seen mention of Lisp systems that both of these can be done in, but they're commercial ones where you have to pay run-time fees for each end-user of your program, which is ridiculous.

Lisp may come into its own some day (and I fervently hope that it does), but it isn't viable for most commercial software yet. The only exception is something where it's always going to be running on systems that you have complete control over, like a web server (and I've only heard of a couple companies using it even for that).

Head Geek
  • 38,128
  • 22
  • 77
  • 87
  • 6
    you can make executables with sbcl (they will be huge, though). i like the way everything is opensource around lisp. i'm very reluctant to depend on non-OSS components and all our stuff is OSS. anything can be disassembled, hacked and re-sold. the fix should happen at the marketing department... – Attila Lendvai Oct 06 '08 at 15:46
  • 3
    "It's a wonderful language, but it's crippled because (in my opinion as a software business owner and programmer) there are very few commercial Lisp packages, and the few that are out there demand a run-time fee (because a proper Lisp package can be used by end-users to write Lisp programs too)." Not true e.g for LispWorks on Windows, Mac, and Linux – Friedrich Oct 07 '09 at 05:44
  • 2
    Interesting... that's the only one I've seen that doesn't demand a run-time fee. They may be the salvation of Lisp for commercial software. – Head Geek Oct 10 '09 at 05:42