KPI driven development : Gradual journey from imperative to functional development in JAVA

location_city Bengaluru schedule Nov 14th 04:25 - 05:10 PM place Ball Room 2 people 34 Interested

Even though there was a delay; but JAVA has been catching up quite nicely when it comes to FP. With frequent releases and feature inclusions at a faster pace, the FP landscape in JAVA is becoming better and better every day. A lot of cutting edge projects(inspired by other languages like clojure, scala, oCaml, haskell, F# etc..) with their high-end/superior APIs complementing the language. The best part is these are just not syntactic sugars; the underlying impact of functional programming(from the language as well as the libraries) when analyzed deeply is extremely enriching and profound. The KPIs which can directly get a face-lift is a lot

1. Reduced dev/unit-testing effort

2. Less boilerplate code

3. Less mutation and higher thread safety

4. High perf persistent data-structures

5. Proven performance improvement, reduced allocation and higher throughput

Developers who have been practicing java/jvm languages for several years will find this really appealing and intriguing.


Outline/Structure of the Talk

The presentation contains the following modules

  • FP knowhow in java with quick/crispy examples
    • syntax of lambda and closures
    • Methods to convert top-down/oo code into functional java code
    • Pure functions and reduced mutation
    • OO design patterns to functional design patterns
  • Popular Functional libraries in the ecosystem (examples, usage pattern, comparative study)
    • Vavr, cyclops
    • functionaljava, fugue-guava
    • Steamex, poetix-radioactive
    • resilience4j, failsafe
    • others
  • Functional java and its impact on performance
    • Byte code analysis
    • Impact on GC
    • latency, and throughput
  • Testing methodologies and comparison
    • Effective testing
    • Java vs other jvm languages Clojure, scala, kotlin etc.

Learning Outcome

  • OO to FP mindset
  • Learn and practice the FP advancements in java
  • Improve KPI on the enterprise java dev cycle
  • Get a fair idea where Java stands against other functional languages
  • Applying functional design patterns

Target Audience

Java developers, FP practitoners

Prerequisites for Attendees

Open to all. Basic/Intermediate knowledge of java/scala/Clojure is good but not mandatory.

schedule Submitted 11 months ago

Public Feedback