45 F#antastic minutes!

453 views

Published on

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

  • Be the first to like this

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

No notes for slide

45 F#antastic minutes!

  1. 1. 45 F#antastic minutes! Getting Started with F# Alex Casquete acasquete
  2. 2. Alex Casquete acasquete
  3. 3. Functional Programming is not new but is ignored until now
  4. 4. The Challenges Process large datasets Scale to processors & computers Easily testing Declarative logic
  5. 5. “Take the next ticket from a list. If the ticket is not printed, send to print. If there are more tickets in the list, go to the begining.”
  6. 6. “Run the first command for every customer for which the second command returns true.”
  7. 7. “Send to print every ticket that is not printed.”
  8. 8. “Take the next ticket from a list. If the ticket is not printed, send to print. If there are more tickets in the list, go to the begining.” “Send to print every ticket that is not printed.”
  9. 9. Thinking difɘrɘntly Say “what” rather than “how”
  10. 10. Thinking difɘrɘntly in C# Imperative foreach (Ticket t in Tickets) { if (!t.IsPrinted) { Print(t); } } Declarative Tickets .Where(t=>!t.IsPrinted).ToList() .ForEach(t => Print(t));
  11. 11. Functional Basic Concepts Demo: From C# to F#
  12. 12. Functional Basic Concepts Immutability Recursion Higher order
  13. 13. <ironic> 10 Reasons not to use Functional Programming </ironic>
  14. 14. Reason 1 I don't want to follow the latest fad
  15. 15. Reason 2 I get paid by the line I get paid by the line I get paid by the line
  16. 16. Reason 3 { I love me some curly braces }
  17. 17. Reason 4 string s = “I like to see explicit types”;
  18. 18. Reason 5 I like to fix vugs
  19. 19. Reason 6 I live in the debugger
  20. 20. Reason 7 I don't want to think about every little detail
  21. 21. Reason 8 I like to check for != nulls
  22. 22. Reason 9 I like to use design patterns everywhere
  23. 23. Reason 10 It's very freaky
  24. 24. Why use F#? The Five C’s
  25. 25. Conciseness Convenience Correctness Concurrency Completeness
  26. 26. Understanding F#
  27. 27. F# 3.0 Data, Services, Information Access F# 2.0 Transformations, Analysis, Algorithms, Code, Parallel C#, HTML5, JS Presentation, Publication, Experience
  28. 28. Type providers Demo: OData, WSDL
  29. 29. More Resources?
  30. 30. http://Fsharp.org http://FsharpForFunAndProfit.com http://www.fssnip.net/
  31. 31. Thanks! Questions? Alex Casquete acasquete

×