LWN.net Logo

Don't make me laugh

Don't make me laugh

Posted Nov 23, 2011 14:14 UTC (Wed) by nye (guest, #51576)
In reply to: Don't make me laugh by ekj
Parent article: Interview with Andrew Tanenbaum (LinuxFr.org)

>*some* people under *some* circumstances, find functional programming easy and inituitive. Mostly people with a strong grasp on math.

Now this is very interesting, because it exposes a hidden assumption I hadn't realised I was making - namely that people who are good at programming are also likely to be good at maths. Now that I'm thinking about it, that assumption doesn't seem too sound.

[Digression follows...]

>Meanwhile, just about everyone, mathematically inclined or not, are already accustomed to complex procedures being described as a series of steps to be performed in sequence. If you've ever followed a recipe to bake cake, or indeed followed instructions to do *anything* you're already familiar with this mode of thinking.

I'm not especially convinced about this. I don't think instructions aimed at humans can really be said to resemble imperative programming more than other styles because they generally don't rigourously break things down into sets of steps and routines - they tend to give instructions out of order[0], make lots of assumptions, elide important steps etc. In some cases, I'd actually say recipes can bear resemblance to a more declarative style.

[0]As an experiment, try following a non-trivial cooking recipe strictly in order; you will most-likely find it doesn't work when you get to a step that says 'transfer immediately to a pre-heated oven', or some step which, taken literally, requires you to have four or more arms.


(Log in to post comments)

Don't make me laugh

Posted Nov 23, 2011 14:33 UTC (Wed) by nix (subscriber, #2304) [Link]

people who are good at programming are also likely to be good at maths. Now that I'm thinking about it, that assumption doesn't seem too sound.
It isn't sound. I'm fairly terrible at mathematical reasoning: I can do it but it feels like wading through treacle. Verbal / linguistic reasoning, by contrast, is utterly effortless. So I web my programs together with skeins of words, not with maths, even though the maths might be shorter or less ambiguous at times.

Don't make me laugh

Posted Nov 23, 2011 15:22 UTC (Wed) by mpr22 (subscriber, #60784) [Link]

I'd liken most recipes to programs in a high-level (hence the abstraction of details), parse-before-execution (you need to read the whole thing before you start doing anything), imperative (it's definitely a sequence of commands, and it's probably written in the imperative) language.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds