Thinking in FP vs OOP for large scale apps => Re: [plt-scheme] Imperative programming : missing the flow

From: Matthias Felleisen (matthias at
Date: Wed May 16 07:52:47 EDT 2007

Please find someone who has seen Chet Murthy's invited talk at
POPL 2007 and on how he seriously simplified and improved a
huge enterprise application with an FP approach and language.
He increased performance so much that he saved his customer
an order of magnitude of hardware, which is substantial when
you think of several warehouses full of machines.

-- Matthias

On May 15, 2007, at 10:47 PM, Grant Rettke wrote:

> Are you more interested in getting someone's account of using FP for a
> "real world enterprise project" or in hearing what folks thing about
> what Scheme offers over "OO alone"?
> I can comment on the latter, but not the former.
> "Enterprise projects" are usually about moving data around, modifying
> it, analyzing and reporting on it. Yes, it is difficult and has real
> problems, but then again, after you've done a few successful projects
> you realize that while it is to be taken seriously, it is not rocket
> science.
> One big goal for "enterprise folks" is to mitigate their risk, and one
> way to do that is to implement systems that are maintainable by just
> about anyone. That way, if folks leave, and documentation disappears,
> and the system lasts for years longer than expected (all of these
> things *will* happen), then said company can get a reasonably priced
> individual off the street and have them working on the reasonably
> quickly. One way to do this is to limit your programming language to a
> small set of abstractions because although you end up with a lot more
> code just to express something, and it will be more difficult to
> understand, said person off the street *will* be able to understand
> it, and then maintain it. "Enterprise languages" are all about
> limiting abstractions to make it easier to make commodities out of the
> developers. This makes a lot of sense. Add to this excellent tools to
> "get the job" done of representing data (JPA or ADO.NET), UIs (Swing,
> JSF, ASP.NET, Winforms), and every transport layer in between, and
> you've got a reasonably good investment in the longer run. From this
> angle, a more expressive language would offer more productivity gains,
> but would decrease the available pool of resources to maintain that
> system.
> Perhaps this is why you here more about LISP-like languages being used
> at startups and in niche areas.
> That said, you *can* use LISP-like languages to solve your problems,
> and generate the implementation of your solution in your desired
> "Enterprise" language.
> _________________________________________________
>  For list-related administrative tasks:

Posted on the users mailing list.