Does anyone use the Scheme programming language for a living?

39,655

Solution 1

There are plenty of people who write Scheme for a living. They're university professors, though, mostly in the field of programming languages--there are several here at Indiana University, like Kent Dybvig and Dan Friedman. They prototype new ideas in programming language semantics (and Dybvig also sells a Scheme compiler).

This is not a field that has a lot of paying customers, so technically the professors are paid because they have tenure at a university. But they got tenure by publishing new ideas in programming languages.

There are also some professors who advocate the use of Scheme as a teaching language, like Matthias Felleisen and the others behind PLT Scheme. They also write Scheme for a living.

Scheme is great for trying out new language semantics because it has very simple, powerful primitives and the uniform syntax lets you concentrate only on the semantics. If you are designing a new programming language, prototyping it in Scheme might be a useful first step. Scheme doesn't get in the way of new ideas because it includes so few of its own.

Solution 2

Yes some people use Scheme for a living. For example there are occasional openings for Scheme programmers here in Montreal (http://theschemeway.blogspot.com/2009/03/scheme-job-openings-at-gamerizon.html). Search the site for "job" for more Scheme jobs.

In my experience people programming in Scheme make up less than .1% of the professional programming community, at least here in Montreal. I have seen Scheme used for doing embedded systems programming, high-precision numerical computing, web programming, game scripting, and more.

Solution 3

ITA Software (makers/operators of an airfare search engine that powers Hotwired and the like) writes their product in Lisp.

Also, AutoCAD can be scripted in Lisp.

Solution 4

If Warren's answer hasn't clued you in, the answer is no. Practically no one is making a living off of Scheme. (Paul Graham's Yahoo Store is, to my mind, the exception that proves the rule -- you can code a great product in Lisp, but there's a reason why Graham is practically the only person on earth who has become wealthy doing so. Think Harvard Ph.D. and incredibly fortunate timing.)

However, people out there in the real world are making a living doing functional programming. There are companies like Galois, Jane Street, etc., who specialize in functional languages. And once you've learned one functional language (Scheme, OCaml, Haskell, etc.), other functional languages are much easier to learn.

I think the second part of your question -- what questions is Scheme well-suited to solving -- is easily answerable. Scheme is Turing-complete, which means it can solve anything that any other programming language can. It has some nifty features that haven't even made it into Common Lisp yet (tail recursion, notably), but it's also lacking many features that CL has acquired over the years.

Solution 5

The original version of the Yahoo! store was written by Paul Graham in Common Lisp. He sold it for a lot of money. (Update: only a piece of the store, thanks for the detailed comment by Laurence Gonsalves.)

It is, however, one of the few or even the only well-known success case of Lisp in the real world, and for some reason Yahoo rewrote it in C++.

There are a number of free programs that use Lisp, but few if any people get paid to work on them, and these are not specifically Scheme. gEDA is the gnu electronic design automation package and is one of the (again, few) success cases for Guile, the Gnu lisp extension language.

ELisp, or Emacs lisp is perhaps the most commonly deployed lisp system. I don't know how many emacs users actually use the extension language.

Share:
39,655

Related videos on Youtube

vehomzzz
Author by

vehomzzz

He adapts a lazy approach to a complex learning. His eclectic personality coupled with eccentric character caused much harm to masses, and to himself.

Updated on February 25, 2020

Comments

  • vehomzzz
    vehomzzz about 4 years

    I started learning Scheme for fun, and was wondering if anyone uses it for a living as a prime programming language... or even as an additional tool to the programming arsenal? If so, what do you use it for? What kind of problems do you typically solve with it?

    • Alex B
      Alex B over 14 years
      You might look at "Are there people using Scheme out there?" stackoverflow.com/questions/291033
    • vehomzzz
      vehomzzz over 14 years
      a decent reference. However I am also looking for the problems scheme is intended to solve
    • Nathan Hughes
      Nathan Hughes about 8 years
      I'm voting to close this question as off-topic because this is an open-ended poll
    • Saurabh Hooda
      Saurabh Hooda over 5 years
      If you want to learn Scheme then these tutorials might help: hackr.io/tutorials/learn-scheme
  • DVK
    DVK over 14 years
    LOL Great minds and all that.... +1 for remembering more details than me :)
  • Laurence Gonsalves
    Laurence Gonsalves over 14 years
    Only part of it was written in Lisp (or by Paul Graham). From paulgraham.com/road.html: "Robert Morris wrote the ordering system, which shoppers used to place orders. Trevor Blackwell wrote the image generator and the manager, which merchants used to retrieve orders, view statistics, and configure domain names etc. I wrote the editor, which merchants used to build their sites. The ordering system and image generator were written in C and C++, the manager mostly in Perl, and the editor in Lisp."
  • snicker
    snicker over 14 years
    +1 for AutoCAD. A few people make decent money writing AutoCAD plugins.
  • sidgeon smythe
    sidgeon smythe over 14 years
    Reddit was also originally written in Lisp, before being rewritten in Python. [Here's one article on the 'controversy', by Aaron Swartz: aaronsw.com/weblog/rewritingreddit ]
  • Bill the Lizard
    Bill the Lizard over 14 years
    I didn't cast the downvote, but my guess is because this doesn't really answer the question. The OP isn't asking for resources on learning scheme, they're asking for real-world applications and success-stories. Thanks for the link, though. I just started the MIT SICP course, and this will be a nice additional resource.
  • DigitalRoss
    DigitalRoss over 14 years
    LG: sigh, so even the "big success case* story is a bit overblown...
  • DigitalRoss
    DigitalRoss over 14 years
    Hmm. I was always suspicious of PG's "Lisp is why viaweb won big $$", but gee, if you had written it in fortran, it would still have been the first internet store...
  • dar7yl
    dar7yl over 14 years
    My point was that scheme is still being taught at the university level, so there must be some application in it.
  • Paul Biggar
    Paul Biggar over 14 years
    @dar7yl: then you might want to amend your answer to say that.
  • dar7yl
    dar7yl over 14 years
    I would assume that adding a comment is equivalent to amending my answer :)
  • Boune
    Boune over 14 years
    GIMP is using TinyScheme as the interpreter.
  • cdiggins
    cdiggins over 14 years
    No professor "writes Scheme for a living". They teach and do research for a living. Any Scheme writing they do is incidental.
  • Shannon Severance
    Shannon Severance almost 14 years
    Universities teach lots of things. Only some of which have pratical applications for employment outside of a university.
  • Joe D
    Joe D over 13 years
    Actually, their variant is called Script-Foo, which is based on TinyScheme.
  • SuperElectric
    SuperElectric over 13 years
    @DigitalRoss: It'll make more sense if you rephrase "Lisp is why viaweb won big $$" as "Lisp is why we were able to release and update Viaweb quicker anybody else, which is why it was the first internet store, which is why it wone big $$. That's basically what he says in his famous Viaweb essay that I think you're paraphrasing. If you believe that he could've done it as nimbly in FORTRAN, then nevermind.
  • SuperElectric
    SuperElectric over 13 years
    As Andrew says, they use Common Lisp, not Scheme, but they avoid CLOS for performance reasons, so it's a bit closer to Scheme than one might think. It may be worth pointing out that ITA also powers kayak.com, orbitz.com, aa.com, and other well-known airline ticket websites. Google is trying to purchase them for $700 million, so SOMEBODY's making a living off of lisp!
  • user1025901
    user1025901 about 13 years
    Tail call optimisation's not required by Common Lisp's standard, but most implementations support it. I'll direct the reader to Felleisen's work on the expressivity of languages, regarding Turing-completeness as being an inadequate measure of the utility of a language.
  • Justin Ethier
    Justin Ethier about 10 years
    @cdiggins - Dybvig recently sold his company (including Chez Scheme) to Cisco for a tidy sum. Maybe this was just incidental... maybe not...
  • Jürgen A. Erhard
    Jürgen A. Erhard about 9 years
    As with other answers: Lisp != Scheme.
  • Jürgen A. Erhard
    Jürgen A. Erhard about 9 years
    Also, Yahoo Store is not an exception, since it's written in Lisp (Common Lisp, natch), and not Scheme. As you say in your last sentence, Scheme lacks a lot of the features of Common Lisp.