7

There are lots of academic papers on the merits of functional programming floating around. There's also a lot of debate that I see (on the internet) going on about the relative merits of imperative vs. functional programming.

I'm interested to know if that debate extends in academia with actual published papers (the more recent the better I think) discussing the advantages of imperative programming over functional programming.

gregghz
  • 171
  • 3
  • 1
    Care to link to anywhere you have seen the debate happening? – Oded Sep 11 '11 at 20:33
  • 4
    Related: [Why Functional Programming](http://programmers.stackexchange.com/questions/51712/why-functional-programming). – Adam Lear Sep 11 '11 at 20:34
  • this is the most recent instance that I have come across: http://apocalisp.wordpress.com/2011/05/30/imperative-vs-functional-programming/ – gregghz Sep 11 '11 at 20:37
  • Hmm, well - This is somewhat like asking about the merits of SUVs over gas-sipping hatchbacks. It doesn't kindle the "vive la revolution" spirit IMHO. My 2¢ . – Caffeinated Sep 11 '11 at 21:13
  • @greggory.hz: that's not an academic paper, it's some guy's blog. In general, stylistic arguments of "X is better than Y" are useless holy wars. Learn everything you can, discard what doesn't work for you. – Steven A. Lowe Sep 12 '11 at 03:35
  • @Steven: there are well-known exceptions. "Terminators versus seperators" for instance. C's `;` rule leads to far less mistakes. – MSalters Sep 12 '11 at 08:07
  • @MSalters: far less mistakes for whom? citation, please. And is that really on par with entire paradigms? – Steven A. Lowe Sep 12 '11 at 08:30
  • @Steven: J. D. Gannon and J. J. Horning, ``Language Design for Programming Reliability,'' IEEE Trans. Software Engineering SE-1(2), pp. 179-191 (June 1975). About 10 times less errors made by programmers, of course. It's a compile-time error so it doesn't lead to runtime bugs affecting users. – MSalters Sep 12 '11 at 08:38
  • @Steven A. Lowe: I *know* that's not an academic paper. This question is asking for academic papers. I gave that as a response to Oded and in reference to where I said in my question that I see it discussed on the internet, but was wondering if it extended into academia. – gregghz Sep 12 '11 at 19:32

1 Answers1

3

Here is one: Imperative versus functional

It is from 1990 however, but by following citations you could find more recent ones.


This one only discusses some very basic benchmarking results, and is only cited once, so my previous advice won't get you far. :)

The problem is in order to do a proper comparison you first need to find actual things to compare. Benchmarks of similar applications would seem like a proper comparison, but this only compares languages and not the different paradigms per se. Even if you find a paper which finds a measurable aspect which could indicate that one paradigm trumps the other, this means the paradigm is only more suitable in that specific situation.

That's the same conclusion most people will give you here. One paradigm can be more suitable than the other based on the specific situation.

Steven Jeuris
  • 5,804
  • 1
  • 30
  • 52