Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Fun and Games in F#F# MVP2MVPRichard Minerich@RickasaurusRichardMinerich.com
Most Common F# TalksThe Feature-FestA technical description of F# feature by featureExhaustive Code ComparisonShowing sample after sample side by side with another language
How will this solve myproblem?
Shocking Announcements!Most C# devs don’t even know how to use lambda expressions!Big academic sounding words are scary to even seasoned devs!Many devsstill think F# is a dynamic language!If you already know F#, you are smarter than the vast majority of the devs you’ll meet.
Kinds of Audience MembersBeginner(Some members of) F# User Groups.NET User GroupsCode CampsExisting F# User(Some members of) F# User GroupsThe Community For F#
PassionExplain why you careSafety from Types?Abstraction without Obfuscation?Aesthetically Beautiful Code?Speak with enthusiasmWhy over howAbstractions instead of detailsJust try it!
InterestEngage withCompetition EntertainmentGratificationHow?Ask Questions, Issue challengesMake it Visually InterestingGive Rewards
Example 1: Show Examples, Ask Questions, Give PrizesFunction> letrecrecFun n = if(n < 3) then 1 elserecFun (n - 1) + recFun (n - 2);;valrecFun : int -> int> recFun 4;;??
Example 2: Teaching with GamesThe Students are Given: An Obfuscated Library
 A Simple API - A Simple Template Example- Time to play- Motivation via Competition
Example 3: The Code-offSome compete for supremacy,others learn a few things.
Example 4: The PlaygroundPlay should be fundamental

More Related Content

Fun and Games in F#

  • 1. Fun and Games in F#F# MVP2MVPRichard Minerich@RickasaurusRichardMinerich.com
  • 2. Most Common F# TalksThe Feature-FestA technical description of F# feature by featureExhaustive Code ComparisonShowing sample after sample side by side with another language
  • 3. How will this solve myproblem?
  • 4. Shocking Announcements!Most C# devs don’t even know how to use lambda expressions!Big academic sounding words are scary to even seasoned devs!Many devsstill think F# is a dynamic language!If you already know F#, you are smarter than the vast majority of the devs you’ll meet.
  • 5. Kinds of Audience MembersBeginner(Some members of) F# User Groups.NET User GroupsCode CampsExisting F# User(Some members of) F# User GroupsThe Community For F#
  • 6. PassionExplain why you careSafety from Types?Abstraction without Obfuscation?Aesthetically Beautiful Code?Speak with enthusiasmWhy over howAbstractions instead of detailsJust try it!
  • 7. InterestEngage withCompetition EntertainmentGratificationHow?Ask Questions, Issue challengesMake it Visually InterestingGive Rewards
  • 8. Example 1: Show Examples, Ask Questions, Give PrizesFunction> letrecrecFun n = if(n < 3) then 1 elserecFun (n - 1) + recFun (n - 2);;valrecFun : int -> int> recFun 4;;??
  • 9. Example 2: Teaching with GamesThe Students are Given: An Obfuscated Library
  • 10. A Simple API - A Simple Template Example- Time to play- Motivation via Competition
  • 11. Example 3: The Code-offSome compete for supremacy,others learn a few things.
  • 12. Example 4: The PlaygroundPlay should be fundamental
  • 13. Help build an inviting F# community cultureTell people about why you love F#Make your presentation format engagingEncourage others to SpeakBe sympathetic to new usersAgree? Disagree? Email me:Richard.Minerich@gmail.com

Editor's Notes

  1. How many people here love F#?I’m not saying I have all the answers, but I’m saying we all need to think hard about how we present on F#
  2. I started with talks along these lines and I’ve seen given by some of the most experienced speakers. They focus on engagement by being an entertaining speakerBut it’s more about personality than contentAnd does it inspire people to go home and play with F# on their own?Note: I’m not saying talking about features or comparing samples is bad, but it does not inspire anyone to go home and start an F# project!
  3. This is a very difficult mind to break into The most intelligent people tend to be the most opinionated. Target people who you can help
  4. Not social smarter, I mean like the kind of guy they golden handcuff and keep locked in a back office kind of smart.Some of the smartest people are the worst socially. Keep in mind, while the usefulness of lambdas, discriminated unions and tuples seemed obvious to you, it may not be to others.
  5. Obviously I’d like to give and watch more talks oriented toward F# users, but a focus on that won’t grow our community.As things stand right now we have people who learned on their own and those who are interested but know very little.
  6. Prizes, Pride and Vanity Show you’re passionateBuild interest through external motivators
  7. First recursion, then tail recurisonEasy, but intentionally wrong
  8. Just a month ago I was tasked with running a four hour tutorial at the Commercial Users of Functional Programming conference. I presented attendees with a simple API, a template example and a challenge to beat each other. I then and then simply gave them time to play. The end result was a room full of people who were motivated to be creative and solve problems independently. Little did they know that I had planned a path for them to follow just by having had written several of my own solutions previously.
  9. Satisfy the new user and the advanced.
  10. Tomas’s Community for F# TalkTalk about Logo
  11. I challenge you to do better than I have. Find new and engaging ways to bring new users into the fold. Thank you