
Running Lisp in Production (2015) - tosh
https://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html
======
kristianp
They also use Clojure (2017): [https://tech.grammarly.com/blog/building-etl-
pipelines-with-...](https://tech.grammarly.com/blog/building-etl-pipelines-
with-clojure)

------
tuananh
how hard is it to hire a Lisp developer?

I ask because it would be near impossible to hire on in my location (Southeast
Asia).

~~~
shakna
How hard is to hire a Python developer?

That's how I handled it. Scheme's syntax is simple enough to teach in 10
minutes, and the syntax is close enough to Python it doesn't take much to get
people up and running.

I've used Scheme in production a few times now. A group of decent programmers
(with experience in Python or Lua or Ruby) under one senior programmer with
Scheme experience is usually more than enough.

~~~
dozzie
And that's how one should hire people for less popular languages (for the
popular ones too, probably).

~~~
heavenlyblue
I would never go to a company with an incredibly proprietary infrastracture
unless it’s at the edge of today’s advance (see Google).

Seriously, how does a developer sell his skills later on? “I had programmed in
Django... But in LISP.”?

I love DSLs, but what you’re saying makes 0 sense business-wise.

~~~
shakna
Web developers, probably not so much. Frameworks tend to be more important.

However, "Built a transaction system in FORTRAN, C, and Scheme that is
currently running at ~100 billion transactions a second at a major bank" is
weighty despite the languages used.

Similarly, "Built a conveyor belt controller on an Xtensa with Scheme,
deployed at 40 million sites" isn't going to matter that Scheme was used.

~~~
jsgrahamus52
Good points. I remember hearing similar thoughts on systems built with Forth:
They performed their job, even when other languages were incapable of
producing such systems, and they often were built with a fraction of the time
and resources required by other languages.

Fortran, C and Scheme: Sounds like an old system. Is it still running?

The conveyor belt controller sounds like an embedded project. Why Scheme?

Thanks again.

~~~
shakna
> Fortran, C and Scheme: Sounds like an old system. Is it still running?

Still running. Last I heard, as I was only part of the team responsible for
rebuild and first six months of deployment, (I trained a team of six whilst we
built it, now they maintain it), the system is responsible for about 1/3 of
Australia's transactions.

Partial rebuild of an old system, but I wouldn't choose anything else if I was
doing it again.

FORTRAN absolutely floors anything else for number processing, except very
well written assembly.

C was just a nice wrapper to join FORTRAN and Scheme together.

The Scheme in use was highly extended, with some givens like GC disabled,
using a custom allocator, had the ability to take ctypes as datatypes, which
allowed as to wrap FORTRAN data and pass it up and down without particularly
caring what language was inspecting it.

> The conveyor belt controller sounds like an embedded project. Why Scheme?

The conveyor system was management giving me a chance to prove a language
other than C would work.

So I used a Scheme that compiles to C, runs baremetal, and is as predictive as
C, runtime wise. GC was not entirely disabled, as refcounting worked close
enough to runtime speed for our measures. (A u14s pause exactly every 38s,
from my notes).

However, the time to deploy using Scheme, was half the usual projections.

