The latest draft document on the design of scala.swing isn't bad:
http://www.scala-lang.org/sid/8, through it doesn't show much beyond the use
of closures/function pointers.

Even more interesting is this document on "Deprecating the Observer
Pattern", which really does bring the full power of FP to the problem,
including delimited continuations:
http://infoscience.epfl.ch/record/148043/files/DeprecatingObserversTR2010.pdf
[warning: pdf]

And there's JavaFX of course!  All of these are very definitely using
functional elements in their design, although the need to interact with
Swing is understandably going to restrict the possibilities here (less so in
the deprecating observers document)


In Scala I've certainly used a lot of functional thinking to implement
designs:
- pattern-matching to select the appropriate behaviour in response to an
event
- use of a function-pointers and closures to define an event handler (no
clunky xxxListener interface needed)
- map and flatmap to implement component models in terms of other
collections
- higher-order functions

plus actors, though these aren't strictly speaking unique to functional
programming.


The point is that "best OO" still leaves a lot of other things to be good
at, it's by no means the end of the game!  It would therefore be a real
shame if OO were the only realistic language-supported option available to
me (i.e. C++/objective C), and that has now become the sad but unavoidable
truth for iGadget development.


Being one of the "best OO programmers" a person knows is a worthy
achievement and something to be quite rightly proud of.  Then again, so is
"best COBOL developer".



On 27 April 2010 16:02, Christian Edward Gruber <
[email protected]> wrote:

> Newest programming paradigms?  Wow.  FP was "hot" back in the early 90's,
> but not in industry.  I'm not sure how it fits better with event-driven
> guis.  Can you help me understand that?
>
> I'm not sure "best OO" is any more or less "best programming" than is "best
> fp" or "best structural".  These are different ways to cut a problem.  OO is
> really good at co-ordinating complexity.  FP is really good at
> divide-and-conquer.  yadda yadda.  I'm not sure I agree with the premises of
> the comparison.
>
> The above is unrelated to elements or whatever.  I have no arguments that
> you can make beautiful apps in any (well, nearly any) language.
>
> cheers,
> Christian.
>
> On Apr 27, 2010, at 10:23 AM, Kevin Wright wrote:
>
> I sometimes can't help wondering if OO is waning now.
> FP certainly seems to be on the rise and, I must say, seems to be a much
> better fit for event-driven GUI interfaces.
>
> Ironically, in their desire to (allegedly) force people to keep up to date
> with the newest APIs, Apple have denied us the opportunity to keep up with
> the newest programming paradigms.
>
> For how long will "best OO" be equivalent to "best programming", assuming
> it ever was, or that the cutoff point hasn't already been surpassed.
>
> I strongly encourage you to check out the "Elements" application, available
> on iPhone/iPad/iPod Touch < 4.0
>
>
> http://www.popsci.com/gadgets/article/2010-04/exclusive-making-elements-one-ipads-most-magical-apps
>
> Written in mathematica, no less, and one of the most beautiful applications
> I've ever seen.
>
>
>
> On 27 April 2010 15:01, Christian Edward Gruber <
> [email protected]> wrote:
>
>> Having lived within the Objective-C community for most of my career, I can
>> safely assert that a whole lot of that community are some of the best O-O
>> folks I've ever worked with.  And the most passionate around O-O and
>> high-quality software.  Just my own observation.  They may not need you. And
>> having seen Android apps and iPhone equivalents... I personally have found
>> the iPhone equivalents to be notably better in usability.
>>
>> Again, none of my statements above are in support of apple's policy -just
>> that they may get away with it because the above mitigates the costs of what
>> you're describing.
>>
>> Christian.
>>
>>
>> On Apr 27, 2010, at 9:49 AM, Kevin Wright wrote:
>>
>>  What bothers me is that I can't see Objective C as something worth
>>> investing my time in or getting excited over, nor can I imagine that it
>>> would be the language of choice for many developers at the top of their
>>> game.  A great deal of talent is going to be locked out here, and I suspect
>>> this is the start of the end for innovation on the iThingie.  From this
>>> point forward, the primary motivator for future apps will be ROI and not
>>> passion.  Welcome to corporate mediocrity...
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "The Java Posse" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<javaposse%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/javaposse?hl=en.
>>
>>
>
>
> --
> Kevin Wright
>
> mail/google talk: [email protected]
> wave: [email protected]
> skype: kev.lee.wright
> twitter: @thecoda
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<javaposse%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>



-- 
Kevin Wright

mail/google talk: [email protected]
wave: [email protected]
skype: kev.lee.wright
twitter: @thecoda

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to