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.
