Upcoming SlideShare
×

"Introduction to F#" - South Dakota Code Camp, November 5, 2011

963 views

Published on

Seth Larson's presentation to South Dakota Code Camp about F#.

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
963
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
4
0
Likes
0
Embeds 0
No embeds

No notes for slide

"Introduction to F#" - South Dakota Code Camp, November 5, 2011

1. 1. Introduction  to   F#
2. 2. What’s  a  Seth? •  SD Native•  Graduated a couple times•  Developer – Blend Interactive•  Consultant•  Founder – Sioux Falls Developers Group•  Cofounder – This thing we’re at today
3. 3. Who  are  you? •  Java peoples?•  .Net people?•  Python/Ruby people?•  Why are you interested?
4. 4. Goals •  Give a little background•  Explain some of the basic FP ideas•  Cover F# syntax basics•  Converting you to FP and F# is NOT my goal
5. 5. Functional  Programming •  First Class Functions•  Higher-Order Functions•  No Shared State•  No Side Effects•  Immutable data•  Recursion
6. 6. Functional  Principles •  Composition over Inheritance•  Separate functions from data•  Referential Transparency
7. 7. Composition  Over   Inheritance •  Write functions that transform known input to known output•  Output of one function is input to the next•  Things like LINQ o  Repeater.DataSource = myList.Where(x=> x.Length > 5).OrderBy(x=>x.Name);
8. 8. Separate  Functions  From   Data •  But why wouldn’t you want possibly re-usable functionality tightly bound to a specific data type?
9. 9. Together                Separate •  x.Method() •  Method(x)•  Our brains probably •  But what if we want to prefer this way, nothing use it on y? wrong with that •  Method(y)•  Since C# is taking on •  darn some FP concepts extension methods semi-allow for this
10. 10. Referential  Transparency •  ???•  When it comes to null references
11. 11. F#  isn’t  just  functional •  So I’m kind of wasting your time right?•  F# is multi-paradigm, but “functional first” o  Object Oriented – Smalltalk o  Functional – Lisp, Scala, Haskell, OCaml, etc. o  Imperative – C•  "I like to think of F# as a strongly typed python for .net” – Don Syme, MS Research/Creator of F#
12. 12. Object  Oriented Encapsulation Inheritance Polymorphism
13. 13. Demo
14. 14. What  industries? •  Finance•  Front Office•  Banking•  Games•  3D Graphics•  Telecoms•  Investment Banks•  Advertising
15. 15. What  companies? •  Optiver•  EDF•  Computational Problems•  Credit Suisse•  Data Analytics•  Measured Progress•  guardian.co.uk
16. 16. Questions