Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Functional Programming with F#: Getting Started & Basic Concepts

675 views

Published on

Basic Concepts, Immutable Collections: List & Sequence, OOP and .NET Framework support, Async, Xamarin: iOS + Android, MVC & Windows 8

Published in: Software
  • Be the first to comment

  • Be the first to like this

Functional Programming with F#: Getting Started & Basic Concepts

  1. 1. FUNCTIONAL PROGRAMMING WITH F# Getting Started & Basic Concepts
  2. 2. AGENDA Basic Concepts Immutable Collections: List & Sequence OOP and .NET Framework support Async Xamarin: iOS + Android MVC &Windows 8
  3. 3. ABOUTUS ALEX CASQUETE acasquete Software Developer at Plain Concepts MVP Client Development JUAN M. GÓMEZ Contractor Software Engineer FounderOrchard Hispano Xamarin Insider alex@casquete.es _jmgomez_ info@jmgomez.me
  4. 4. THE CHALLENGES Process large datasets Scale to processors & computers Easily testing Declarative logic
  5. 5. IMPERATIVE “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 beginning.”
  6. 6. DECLARATIVE “Run the first command for every ticket for which the second command returns true.”
  7. 7. DECLARATIVE “Send to print every ticket that is not printed.”
  8. 8. WHICHONE DOYOU PREFER? “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 beginning.” “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 INC# Imperative foreach (Ticket t inTickets) { if (!t.IsPrinted) { Print(t); } } Declarative Tickets .Where(t=>!t.IsPrinted).ToList() .ForEach(t => Print(t));
  11. 11. Demos, demos, demos Basic Concepts, collections, async, everything…
  12. 12. Recap Basic concepts, Five C’s, Understanding F#
  13. 13. FUNCTIONAL BASIC CONCEPTS Immutability Recursion Higher order
  14. 14. WHYUSE F#? FIVEC’s Conciseness Convenience Correctness Concurrency Completeness
  15. 15. Understanding F# The vision of F#
  16. 16. Data, Services, Information Access Transformations, Analysis, Algorithms, Code, Parallel Presentation, Publication, Experience F# 3.0 F# 2.0 C#, HTML5, JS
  17. 17. BOOKS
  18. 18. MORE RESOURCES http://Fsharp.org http://FsharpForFunAndProfit.com http://www.fssnip.net
  19. 19. THANKS! ANY QUESTION? ALEX CASQUETE acasquete Software Developer at Plain Concepts MVP Client Development JUAN M. GÓMEZ Contractor Software Engineer FounderOrchard Hispano Xamarin Insider alex@casquete.es _jmgomez_ info@jmgomez.me

×