InfoQ Homepage Presentations Functional Programming: A Pragmatic Introduction
Functional Programming: A Pragmatic Introduction
Summary
Jim Duey explains functional programming through Java code samples, emphasizing the need for a mindset change in approaching coding and why the functional paradigm is useful.
Bio
Jim Duey has spent over 20 years as a professional programmer. He founded Intensive Systems Consulting, Inc. for Clojure consulting, an embedded/industrial software consulting and developer mentoring. He has written several tutorials on Clojure programming. He can be reached at intensivesystems.net and @JimDuey.
About the conference
Code PaLOUsa is a conference designed to cover all aspects of software development regardless of technology stack. It has sessions revolving around Microsoft, Java, and other development platforms; along with session on higher levels that are platform agnostic. The conference schedule will feature presentations from well-known professionals in the software development community.
Community comments
relate to erlang or not?
by Meng Jian,
Re: relate to erlang or not?
by Ricardo Aguas,
C++ is now functional
by Faisal Waris,
So now java is jumping on the bandwagon as well
by david karapetyan,
Re: So now java is jumping on the bandwagon as well
by P. H.,
Re: So now java is jumping on the bandwagon as well
by Henrik Baastrup,
Re: So now java is jumping on the bandwagon as well
by Stephan Kennedy,
Good explanation
by Baljeet Sandhu ,
relate to erlang or not?
by Meng Jian,
Your message is awaiting moderation. Thank you for participating in the discussion.
Is this talk relate to erlang or something like that?
C++ is now functional
by Faisal Waris,
Your message is awaiting moderation. Thank you for participating in the discussion.
The new C++ standard (almost done) supports lambdas and clojures - as the speaker notes.
The main idea was to support working at a higher level of abstraction and yet allow fine-grain control for performance.
This should be very significant over the long haul.
Re: relate to erlang or not?
by Ricardo Aguas,
Your message is awaiting moderation. Thank you for participating in the discussion.
No, This video explains a little bit of functional programming concepts applyed to OO Programming, in this case, Java.
So now java is jumping on the bandwagon as well
by david karapetyan,
Your message is awaiting moderation. Thank you for participating in the discussion.
Functional programming in Java is a little silly. You don't see Haskell programmers trying to code solutions using object oriented patterns. The Java platform is not suitable for functional programming because it is not built for optimizing patterns and process that functional programmers use. There is nothing to be gained from using functional constructs in a java setting until the platform adapts and starts to optimize functional constructs unless of course you want to write slow java code like in 1.0 days in which case go right ahead and pepper your code with inner classes galore.
Good explanation
by Baljeet Sandhu ,
Your message is awaiting moderation. Thank you for participating in the discussion.
Good talk. As a Java programmer this a nice and gentle introduction to the topic for me and a lot of it stuck. Lots of other resources on the topic get complicated so quick that they discourage beginners. Of course I assumed that the use of Java was more for demo purposes only. In real life I would pick a more suitable language.
Re: So now java is jumping on the bandwagon as well
by P. H.,
Your message is awaiting moderation. Thank you for participating in the discussion.
Since
(1) He said he wasn't teaching folks to write functional programming in Java; he was showing the functional thinking.
(2) Languages don't "jump" on anything, but possibly this metaphor could be have meaning if and when there is syntax support for functional programming. He wasn't talking about this other than to mention in passing the lack of syntax support.
(3) "Optimizing patterns and process that functional programmers use" that would NOT only be the role of the compiler, but would be the role of the runtime. Scala and other languages have shown that functional languages can work effectively on VMs (JVM, CLR ...).
Seems your odd rant has little applicability.
Re: So now java is jumping on the bandwagon as well
by Henrik Baastrup,
Your message is awaiting moderation. Thank you for participating in the discussion.
Yes - to me it looks like he have taken out the good old Strategy GOF pattern and try to use it in deferent ways. So I believe that you are right, using Java as an example for Functional Programming is not the best language.
Re: So now java is jumping on the bandwagon as well
by Stephan Kennedy,
Your message is awaiting moderation. Thank you for participating in the discussion.
I believe he was using java so that he could explain some concepts of functional programming to java developers without complicating the presentation by having to explain a functional programming language as well.