JUGGL

Java Users Group

of

Greater Louisville

Check us out on social media!!

http://juggl.us

https://github.com/JUGGL

@JUGGLou

+JugglUs

JUGGL

Java Users Group

of

Greater Louisville

Let us know what topics you would like to see presented!

 

Volunteer To Present

Got a topic you are passionate about?

 

https://goo.gl/KQGXvk

Functional Java

Deven Phillips

Senior Software Engineer

Sungard Availability Services

Functional Java

What does it mean to be "functional"?

f(x) = x \times 2
f(x)=x×2

Functional Java

Properties of functions

Idempotence

f(x) = x \times 2
f(x)=x×2

Functional Java

Properties of functions

Composable

f(x, y) = x \times y
f(x,y)=x×y
g(x) = f(x, 5)
g(x)=f(x,5)
g(10) = 50
g(10)=50

Functional Java

Those are the MAIN tenets of Functions

 

What about everything else everyone is touting as "functional programming"?

Functional Java

How does Java implement these concepts?

 

Lambda Expressions

Concurrent Data Structures

Message Passing

Actors

"final" variables

Functional Java

Lambda (  ) Expressions

\lambda
λ

Functional Java

Concurrent Data Structures

java.util.concurrent.*


ConcurrentHashMap

Atomic<Numeric>

(Completable)Future

<Numeric>Accumulator

Functional Java

Streams

java.util.Collection

 

Collection.stream()

List.stream()

Map.stream()

Queue.stream()

Functional Programming With Java 8

By Deven Phillips

Functional Programming With Java 8

A discussion about how to adhere to functional programming ideals while still programming in Java

  • 1,603