You've mentioned Kotlin and Ceylon 4 or 5 times in that last couple of days. I'd like to fork a discussion to learn more about people's experiences with either. Two keywords to start with:
From: [address removed] [mailto:[address removed]] On Behalf Of Russel Winder
Sent: 04 October[masked]:21
To: [address removed]
Subject: Re: [ljc] Why hasn't Scala and functional programming taken off
On Fri,[masked] at 10:37 -0400, Paul Verity wrote:
> I've followed these posts with great interest as I hear FP popping up
> more and more. To be honest, I've always dismissed it as a niche idea
> loved by academics teaching theory - and more recently - by those that
> have heard a buzzword and jumped on it to show off their intellectual
> prowess. So it was interesting to read Martijn's comment regarding
> that perception too. I recall pulling my hair out at Uni trying to get
> my head around Miranda - I've have been scarred by FP ever since.
> Literally! I have no hair left now, and I still squarely blame FP for
> it :o)
Crikey, I haven't heard anyone mention Miranda as a used language in decades. ;-)
Miranda, Hope, KRC evolved into Haskell.
Bizarrely though, a lot of academics teach FP with a language called Clean.
> The first I heard of FP making an appearance in the mainstream was
> when I heard of F#. It was pretty surprised MS was going down that
> route. Then a guy at work started studying it and singing its praises,
> and before long he was off. A year or so later I heard the Java dev's
> talking about Scala.
F# is an update on OCaml. ML (in all it's guises) is a functional language with imperative features.
> So if FP is gaining traction, why was there such an absence in the
> commercial world for so long? I'd been studying it (unsuccessfully I
> might add) at Uni some 14-15 years ago! What has happened in the last
> few years that is bringing FP in to the limelight? What does it do
> that solves todays problems better than imperative style? It sounds
> like I should try giving this another shot as I'm finding it quite
> intriguing now, but constructs like the aforementioned "def scan[B >:
> A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[List[A], B,
> That]): That" scares the bejesus out of me! I have absolutely no idea
> what that could possibly mean. If it was the proverbial shotgun
> mentioned earlier, I would have quite easily blown my toes off by
The problem is getting rid of the 1980s/1990s perception that OO and FP were enemies that could never coexist. With C++11, D, Go, Rust we are seeing native code languages growing up and merging the best ideas of OO and FP into a single language. Python and Ruby did likewise for dynamic languages off JVM. Groovy, Clojure, JRuby, Jython brought things to the JVM as did Scala and now Kotlin and Ceylon(*). Many Java folk has not been tracking this as perhaps they might have done, but are hiot with it directly due to all the changes in Java 8.
The challenge of the next few years is to find the right balance between FP and OO and to rewrite all the patterns literature. The GoF patterns of 1994, really are loosing relevance in the 2010s.
Dr Russel Winder t: [masked] voip: sip:[address removed]
41 Buckmaster Road m: [masked] xmpp: [address removed]
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Russel Winder ([address removed]) from LJC - London Java Community.
To learn more about Russel Winder, visit his/her member profile: http://www.meetup...
Set my mailing list to email me
As they are sent
In one daily email
Don't send me mailing list messages
Meetup, POB 4668 #37895 NY NY USA 10163 | [address removed]
This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient(s), please reply to the sender and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email, and/or any action taken in reliance on the contents of this e-mail is strictly prohibited and may be unlawful.