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

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 2 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Deepti Tomar
    By Deepti Tomar  ~  1 month ago
    reply Reply

    Hello Anirban,

    Thanks for your proposal! This is an interesting topic.

    In order to help the program committee to understand your presentation style, may I request you to please upload a video of your past presentations? If you don't have one, can you record a small 1 mins trailer of your talk and share the link to the same? 

    Thanks,

    Deepti

    • Anirban Bhattacharjee
      By Anirban Bhattacharjee  ~  1 week ago
      reply Reply

      Hello Dipti,

      My travel is dealyed to 16th of November. So, i can make myself available. I have strarted working on the ppt. Still work in progress. I am uploading the WIP one. Please see if you can give me the slot on 15th.

    • Anirban Bhattacharjee
      By Anirban Bhattacharjee  ~  1 month ago
      reply Reply

      Hello Deepti/Naresh,

      Apologies...saw the message late. Have you filled all the slots? In case you still have a room, please do let me know. I will send across the video

      • Naresh Jain
        By Naresh Jain  ~  1 month ago
        reply Reply

        Pleaes send the video.

    • Naresh Jain
      By Naresh Jain  ~  1 month ago
      reply Reply

      Hi Anirban,

      Can you please respond to Deepti's comments?