3 ms·
Immutability: The property of functional programmers that prevents them from shutting up about pure functional programming. - @raganwald Computation is not jus
by contingencies 9y ago
Immutability: The property of functional programmers that prevents them from shutting up about pure functional programming. - @raganwald
Computation is not just about functions. If computation were about functions then quicksort and bubble-sort were the same because they're computing the same function. As I said a computing device is something that goes through a sequence of states and what an assignment statement is doing is it is telling you here is a new state, and also there's the notion of it's non-determinism, so the new state is not a function of the old state. So functional programming in a sense - functions - don't solve the problem of programming. - Leslie Lamport
Perhaps functional programming is best for S-Programs and P-Programs...
S-Programs are programs whose function is formally defined by and derivable from a specification. P-Programs [are problems] that can be precisely formulated but whose solution must inevitably reflect an approximation of the real world. E-Programs are inherently even more change prone. They are programs that mechanize a human or societal activity. - Meir M. Lehman, Proceedings of the IEEE, Vol. 68, No. 9, September 1980.
... from my fortune clone @ http://github.com/globalcitizen/taoup http://github.com/globalcitizen/taoup
- charlysl 9y agoIn the same spirit: The nice thing about declarative programming is that you can write a specification and run it as a program. The nasty thing about declarative programming is that some clear specifications make incredibly bad programs. The hope of declarative programming is that you can move a specification to a reasonable program without leaving the language. - The Craft of Prolog, Richard O'Keefe (1990) (copied from CTM)
- tome 9y agoI'm gobsmacked that someone as smart as Lamport could make so lazy a criticism. Maybe he's criticising functional programming as it was decades ago when he last looked at it. Modern functional programming is by no means (merely) about "functions". It's basically about composability and reuse.