1.7 functional programming

562 views
528 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
562
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1.7 functional programming

  1. 1. Functional programming
  2. 2. “Functional programming”First class functionsPattern matchingHigher order functions
  3. 3. Functional programmingPurityMathematical functions have no side effects f(x) = 2x + 3 y = sin(x)Only immutable objects (and object graphs)
  4. 4. In practiceAll field must be immutableAll methods must return somethingNo side-effects from method calls
  5. 5. Listhead :: tailPrepends to the head of the listOther operations (filter, map, remove, partition...) returns a new List instance
  6. 6. scala.collection.immutable...or scala.collection.mutablePick your poison!
  7. 7. Scala 2.8Case classes get copy methodsConstructors and methods get default parameters named parameters
  8. 8. Strive to be pureParallelization and concurrency (no synchronization)Usually easier to find errors (a lot less state)Easier to test

×