On Wed, Oct 26, 2011 at 8:25 PM, michel paul <mpaul...@gmail.com> wrote:
> On Wed, Oct 26, 2011 at 3:36 PM, kirby urner <kirby.ur...@gmail.com>wrote: > >> >> PS: on a related topic, there's also a negative connotation >> associated with "imperative programming". The word "imperative" gets >> translated to mean "bullying". The functional programmers exploit >> that connotation, and imply that functional programming is kinder to >> children. >> > > OK, this is very interesting, especially in light of the Math 2.0 thread. > So 'imperative' and 'procedural' are pretty much the same thing, right? > But 'procedural' doesn't tend to imply 'bullying'. It can simply mean > 'orderly', spelling out a sequence of steps. I just found this > procedural/functional > comparison<http://en.wikipedia.org/wiki/Procedural_programming#Comparison_with_functional_programming> > useful. > Thanks for that reference. Here's the opening paragraph: *Procedural programming* can sometimes be used as a synonym for imperative > programming <http://en.wikipedia.org/wiki/Imperative_programming>(specifying > the steps the program must take to reach the desired state), > but can also refer (as in this article) to a programming > paradigm<http://en.wikipedia.org/wiki/Programming_paradigm>, > derived from structured > programming<http://en.wikipedia.org/wiki/Structured_programming>, > based upon the concept of the *procedure call*. Procedures, also known as > routines, subroutines <http://en.wikipedia.org/wiki/Subroutine>, methods, > or functions (not to be confused with mathematical functions, but similar > to those used in functional > programming<http://en.wikipedia.org/wiki/Functional_programming>) > simply contain a series of computational steps to be carried out. Any given > procedure might be called at any point during a program's execution, > including by other procedures or > itself.<http://en.wikipedia.org/wiki/Procedural_programming#cite_note-0> > What intrigues me is the prospect not *confusing* these functions with "the mathematical functions" but being somewhat precise about the relationship, as they're not on wholly different planets, either, or shouldn't be, unless we're reading *The Little Prince* or something (everyone gets their own planet in that book -- which has a snake, a constrictor, but it's not a python). I hosted a long thread at the Math Forum recently, on math-teach, where I trucked out the "Dolciani" meaning of function, what we learn in "schoolish math", especially since the New Math era, when much was done to formalize the teaching of functions in pre-college courses. http://mathforum.org/kb/thread.jspa?threadID=2303870&tstart=60 (quite length, a silly argument about which of the two meanings of function is "more general") Predictably, there's a skeptical backlash and the thought of using Python functions to help unlock the secrets of their mathematical counterparts is generally dismissed as trying to get computer science treated as mathematics. I regard that broken record more as brokenness in the English language than a real debate. The categories into which "knowledge and skills" have been subdivided are too arbitrary to matter much, their half-life will be short (flash in the pan, obsolete as we speak). Fortunately, I'm teaching Python to adults and getting to field test my more activist mathematics concepts, so I am personally not that frustrated. The other thing is I work with the Diversity people and am alert to these anti-engineer stereotypes. The "object oriented" moniker attracts flak from more than one angle then: - we have some functional programmers who think OOP is symptomatic of everything wrong with programmers and programming, and - we have some physicists who think "object oriented" means lacking in personal depth, warmth = a domineering pain in the ass, or a shy person with no social skills (many subspecies) OOPers are basically somewhere between Lex Luthor in Smallville (calculating) and Spongebob Squarepants (a dork). How can we ever be cool, with that kind of PR dogging us around, feeding the behind-our-backs gossip? Kirby
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig