Achieving Functional Programming in Java

Achieving Functional Programming in Java

In this talk I'll present Lambda, a Java library that offers

For years, the conventional wisdom around attempting pure functional programming in Java has been "don't", and for plenty of good reasons: lambdas weren't supported until the eighth major release of the language specification, creating value types is a verbose, ceremony-riddled exercise devoid of any first-class syntax, and neither are the majority of the data structures shipped in the JDK immutable, nor are interfaces a proper substitute in general for type classes.

Still, it's a shame for developers to have to seemingly choose between the myriad benefits of functional programming and the maturity of the java compiler, the investments made into the ecosystem by major organizations, and the ease of hireability especially when some of these short-comings can be addressed externally.

In this talk I'll present Lambda, a Java library that offers:

  •    A first-class model for functors, applicative functors, monads, coproducts, and more algebraic and category theoretic structures
  •    Lazy evaluation
  •    Profunctor optics
  •    Semigroups and Monoids
  •    Type-safe heterogeneous structures like HLists and HMaps
  •    and more...

The goal of this talk is to present this library as a viable option for experienced Java development teams that wish they could use some of the functional programming capabilities available in languages like Haskell?, and to show how the trading infrastructure teams of an algorithmic-trading firm in Chicago use Lambda to write correct-by-construction software and accelerate their development process.

Who should attend this talk: Experienced Java developers who want to program using algebraic data types, compositional patterns like functors and monads, lazy evaluation strategies, and a strong emphasis on type-level transformations, but are daunted by Java's current limitations in these areas

Academic level: Advanced to Expert

What is the take away in this talk: While Java has a long way to go, libraries like Lambda enable developers who want to push their Java programming much further towards functional idioms that previously seemed unachievable

Thanks for reading

If you liked this post, share it with all of your programming buddies!

Follow us on Facebook | Twitter

Further reading

Java Programming Masterclass for Software Developers

Selenium WebDriver with Java -Basics to Advanced+Frameworks

Java In-Depth: Become a Complete Java Engineer!

Top 4 Spring Annotations for Java Developer in 2019

Java Tutorial for Absolute Beginners

100+ Java Interview Questions and Answers In 2019

Python vs Java: Understand Object Oriented Programming

Angular 7 + Spring Boot CRUD Example

Build a Simple CRUD App with Spring Boot and Vue.js

Securing RESTful API with Spring Boot, Security, and Data MongoDB

Python vs Java: Understand Object Oriented Programming

The Best VS Code Extensions for Full Stack Developers

java function oop web-development

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Hire Web Developer

Looking for an attractive & user-friendly web developer? HourlyDeveloper.io, a leading web, and mobile app development company, offers web developers for hire through flexible engagement models. You can **[Hire Web...

How to Install OpenJDK 11 on CentOS 8

What is OpenJDK? OpenJDk or Open Java Development Kit is a free, open-source framework of the Java Platform, Standard Edition (or Java SE).

Why Web Development is Important for your Business

With the rapid development in technology, the old ways to do business have changed completely. A lot more advanced and developed ways are ...

Important Reasons to Hire a Professional Web Development Company

    You name the business and I will tell you how web development can help you promote your business. If it is a startup or you seeking some...

Hire Dedicated eCommerce Web Developers | Top eCommerce Web Designers

Build your eCommerce project by hiring our expert eCommerce Website developers. Our Dedicated Web Designers develop powerful & robust website in a short span of time.