help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Emacs history, and "Is Emacs difficult to learn?"


From: Drew Adams
Subject: RE: Emacs history, and "Is Emacs difficult to learn?"
Date: Thu, 1 Aug 2013 09:18:03 -0700 (PDT)

> And so assignment disappearing from C to haskell makes haskell programmers
> able to have better thoughts [Well they say 100% of the time; I say 80% of
> the time ;-)  ]

See John Hughes's classic paper, "Why Functional Programming Matters", 1984:
http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf

>From the Introduction:

 "The special characteristics and advantages of functional programming are often
  summed up more or less as follows. Functional programs contain no assignment
  statements, so variables, once given a value, never change. More generally,
  functional programs contain no side-effects at all....

  Such a catalogue of "advantages" is all very well, but one must not be 
surprised
  if outsiders don't take it too seriously. It says a lot about what functional
  programming is not (it has no assignment, no side effects, no flow of control)
  but not much about what it is. The functional programmer sounds rather like a
  medieval monk, denying himself the pleasures of life in the hope that it will
  make him virtuous. To those more interested in material benefits, these
  "advantages" are not very convincing....

  It is a logical impossibility to make a language more powerful by omitting
  features, no matter how bad they may be....

  Even a functional programmer should be dissatisfied with these so-called
  advantages, because they give him no help in exploiting the power of
  functional languages. One cannot write a program which is particularly lacking
  in assignment statements, or particularly referentially transparent. There is
  no yardstick of program quality here, and therefore no ideal to aim at."

That motivates the paper, but the paper itself is about why functional
programming really *does* matter: what it offers that is additional and 
different,
and not just what it omits or avoids.  I heartily recommend it.

(http://www.emacswiki.org/emacs/DrewAdams#WhyFunctionalProgrammingMatters)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]