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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to