Discovering Functional Treasure in Idiomatic Groovy

location_city Bengaluru schedule Oct 9th 05:30 PM - Jan 1st 12:00 AM place Grand Ball Room 1

Groovy is a dynamic language on the JVM. Groovy supports programming in multiple paradigms - imperative, object oriented and even functional programming. 

When I started using Groovy with Java background, the code used to be mostly imperative. As I explored the language in detail, I realized the power of idiomatic code. While the attempt to write idiomatic Groovy code helped me to realise the benefits of functional approach, thinking functionally resulted in better code too.

In this talk, I will demonstrate functional programming constructs in Groovy and show how to use them effectively. I will provide plently of examples to help the audience realize the benefits.


Outline/Structure of the Demonstration

  1. Closures in groovy as building blocks for functional programming
    1. Closures as first class constructs
    2. Higher order functions
    3. Functional composition
  2. Making use of powerful FP related techniques like Memoization, immutability, and lazy initialization
  3. Functional style in Groovy JDK (favour immutability, closure as parameters etc.)
  4. Map reduce operations

Learning Outcome

  1. How functional programming principles can help developers
  2. What are the functional programming support available in Groovy
  3. How idiomatic Groovy embraces functional programming principles

Target Audience

Groovy developers, Java developers, language explorers

schedule Submitted 5 years ago

Public Feedback

comment Suggest improvements to the Speaker
  • Naresh Jain
    By Naresh Jain  ~  5 years ago
    reply Reply

    Glad to see someone propose a topic on Groovy. Personally I think 60 mins might be too long for this. Can it be reduced to 45 mins?

    Also is there a link where you've explained some of these concepts? For ex: I would love to see an example code done in the imperative style using Java and the same done using idiomatic style?

    • Naresha K .
      By Naresha K .  ~  5 years ago
      reply Reply

      Thanks Naresh. I have changed it to 45 mins.

      Here are few related blogs.