YOW WEST 2014: "Adopting Functional Programming Languages"

Post on 21-Jan-2018

26 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

Transcript

1

LANGUAGES

ADOPTINGPROGRAMMINGFUNCTIONAL

Andy Marks @andee_marks amarks@thoughtworks.com

ADOPTING FUNCTIONAL

PROGRAMMING LANGUAGES

(reduce + (map #(/ 1.0 % %) (range 1 1001)))

lists:sum([1/math:pow(X,2) || X <- lists:seq(1,1000)]).

sum [1 / x ^ 2 | x <- [1..1000]]

1 to 1000 map (x => 1.0 / (x * x)) sum

let rec sum n = if n < 1 then 0.0 else sum (n-1) +. 1.0 /. float (n*n) in sum 1000

!

Computation via functional evaluation Higher order functions

Immutability

Source: http://rosettacode.org/wiki/Sum_of_a_series

1996 2013

4

LANGUAGES

ADOPTINGPROGRAMMINGFUNCTIONAL

10 BUTSA TALE OF

BUT… IT’S JUST FOR ACADEMICS

#1

5

6

+ FP =

+ FP =

+ FP =

BUT… NO ONE ELSE IS USING THEM

#2

7

8

BUT… THEY’RE JUST THE SHINY NEW TOY

#3

9

10

BUT… THEY’RE TOO NICHE FOR GENERAL USE

#4

11

12

HTTP ✅

Test automation ✅

Database IO ✅

Build automation ✅

etc ✅

BUT… I DON’T “GET” MONADS

#5

13

14

BUT… I’M ADDICTED TO MUTABLE STATE

#6

15

16

BUT… I ALREADY HAVE CLOSURES IN C#.

#7

17

18

BUT… THE TOOLS ARE TOO IMMATURE

#8

19

20

BUT… THERE ARE NO DEVELOPERS WHO KNOW SCALA

#9

21

22

BUT… I DON’T WANT TO LEARN ANOTHER SYNTAX

#10

23

24

CONCLUSION

Distribution + concurrency Data + data analysis Lower barrier to entry Hybrid languages

25

26

LANGUAGES

ADOPTINGPROGRAMMINGFUNCTIONAL

Andy Marks @andee_marks amarks@thoughtworks.com

THANKS!

top related