On Wed, 2011-03-23 at 19:12 +0000, Kevin Wright wrote: [ . . . ] > My experience is that most folk familiar with FP are still thinking of > it in terms of imperative vs declarative, and only those firmly > entrenched in C++ and its offspring seem to think that OO is somehow > the opposite to FP.
And then there is "applicative" which for a while appeared to be distinct from "declarative" and "functional". That's the problem with jargon, there is an awful lot of it, and each clique defines it differently ;-) > In many ways, declarative programming *has* become wildly successful, > and was almost guaranteed to be used in any system with a data storage > requirement prior to the NoSQL movement - making it more widely > adopted than Java, C++, C#, etc. Even now, all the NoSQL alternatives > that I've seen have a declarative query syntax, with SQL already > having proved the power of this paradigm when it came to clustering, > sharding, and other such requirements for an application to scale > outwards. As we know C++ template programming is functional programming, so much of C++ is functional :-) Also of course the whole STL generic programming and especially generic functions has made a huge difference to C++ such that declarative is a massive factor. Unlike Java which chose to ignore iterators à la C++ -- another paradigm war but this one was fought in the late 1990s. Joshua Bloch has at least acknowledged that the Java Collections framework took the wrong architectural decision; that the JGL architecture would have been far superior. I even wrote the beginnings of a algorithms and data structures library myself mixing the best of all bits. Of course it went nowhere because Sun was a bit of a steam roller enforcing "right thinking" about Java. And then there is Functional Java. > As for the OO that folk were originally asking for; independent units > that communicate by message passing, we now have it. That particular > style is now known as actors, and the current showcase for the > technique is Erlang, typically considered to be an FP sort of a > language. It does amuse me how these things so often come full > circle... But actors pre-date object-oriented by about 10 years. It still irritates me that C++ rejected message passing in favour of some doublethink about function call being equivalent to message passing. Long live active objects! Pool-T, UC++, KC++ rule . . . -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part