"Ben Tilly" <ben_tilly / hotmail.com> writes:

> 
> I like analysis.
> 
> There is an area of algebra that is practically a litmus
> test for the gap.  That area is category theory.  The
> entire point of the subject is nothing more than finding
> canonical constructions to turn problems in one problem
> domain into problems in another.  Even though the actual
> translation process is pretty much trivial, often things
> which are very hard to solve in one domain are radically
> easier or at least doable in another.
> 
> I am competent at category theory.  I understand why it
> is useful.  But while I am doing it, it feels like
> meaningless symbol manipulation.  I don't enjoy it.
> 
> When I came to programming I noticed this thing called
> OO programming.  As soon as I figured out what it was
> and saw people doing it, a little light went off in my
> brain that said, "This reminds me of category theory."
> Indeed EVERY single person I have found who knows both
> math and CS well enough to know what category theory
> and OO programming are either likes both or dislikes
> both.
> 
> Unsurprisingly, I find that I am quite capable of doing
> OO.  I understand exactly why it is useful.  But when
> you begin talking about things like design patterns it
> feels like meaningless symbol manipulation and I don't
> enjoy the process very much.
> 

This was a very interesting post.  I would like to ask you whether you
think the following description fits the algebra/analysis gap:

(The following is from _Paradigms of Artificial Intelligence
Programming_, by Peter Norvig, discussing two alternate paths to follow
in programming)

(1) Use the most straightforward mapping of the problem description
    directly into [...] code.

(2) Use the most natural notation available to solve the problem, and
    then worry about writing an interpreter for that notation.

The second approach often works nicely in Lisp, which was designed to
be "an *algebraic* list processing language for artificial
intelligence work" (my emphasis, quote from _The History of Lisp_,
McCarthy, 1979).

Christian (and presumably you?) would appear to favour (1).

Regards,
Peter