SlideShare a Scribd company logo
DEV-L-200-4




F#, The American Dream
Jack Hu
SDET Lead
Microsoft, F# Team
F# is the best programming language for
solving
• Computationally complex problems
• Data complex problems
“...a productive functional
programming language for .NET
that enables users to write
simple code to solve complex
problems.”
•   Let
•   Piping
•   Pattern Matching
•   Type Providers
•   Data access platform
•   Intellisense helps you to browse data schemas
•   Provides a code centric development experience
•   Brings data to the developer much closer
The American Dream
…buying a new car is the worst
investment you could ever
make…
       - Helium.com

A new car is generally a very
poor investment
       - ehow.com

New cars lose an average of 20
percent of their value in their
first year.
         - The Motley Fool
Price
        First year: 20%



           Next 5 years: 15%




                               Tapers off



 2012                                1980   Model Year
"(Buying used car is) going to take
                                 research if
you're going to get the best value…"

Lenny Simms, vice president at NADAguides.com.
Steps                        Technologies
1. Collect CraigsList data   F# Async (2.0)

2. Store the data            EntityFramework 4.1 Code-First,
                             SQL Express

3. Access the data           F# TypeProviders (3.0)

4. Filter the data           F# LINQ Query (3.0)

5. Computation               Linear regression, Excel formulas

6. Visualization             FSharpChart
Data-First


DataBase




           Code-First



                        DataBase
Demo
Craigslist Car Shopper
Azure,
SQL Azure
Is this the
right time to
buy?
To Rent (2b2b) – RedmondBellevue
To Own (2b2b) – RedmondBellevue
                   139th Ave NE #737
Price                     140,000
Tax                         2,022
Dues                          471

Interest                    4.50%
Years                          30
PMI                         0.52%
Down Payment %             15.00%

Down Payment       $       21,000
Closing Cost       $        5,310
Monthly Mortgage   $          603
PMI                $           52
Redfin Agent       $    (2,100.00)

Closing Cost       $      24,210
Monthly            $       1,294
Distance                      3.5
The Power of F#
Steps                        Technologies
1. Get Redfin Data           F# with Access Database

2. Get TaxesDues            Units of Measure, Pattern Matching
                             (2.0)
3. Display the results       F# with Excel

4. Calculate driving         Bing Map API using TypeProviders (3.0)
distance
5. Evaluate Property value   Zillow Estimator using
                             TypeProviders(3.0)

6. Publish                   SharePoint using TypeProviders(3.0)
Why F#?
4 Examples of F# Usage
• Amyris Biotechnologies
   – Biotechnology research for engineered renewable fuels
   – F# for in-house gene sequencing and analytics software tools
• Intellifactory WebSharper Platform
   – Productive Web development leveraging F#
• Microsoft ‘Path of Go’ Xbox Live Arcade Game
   – Paid Xbox Live Arcade Game
   – XNA with C#/F#
   – Leveraging advanced Go AI implemented by MSR in F#
• A large European Bank
   – Large group using F# (150+)
   – Financial modeling, mission critical components
F# is Cross-Platform and Open Source
The best of the both worlds


  Functional
  Language             F#                .NET




        Similar core    Similar object
          language         model
Why F#
• Computationally complex problems
  – Succinct, Expressive, Functional, Parallel
   - Productive, simple, powerful, and fun language
• Data complex problems
  – Explorative, Data-rich
   - Extends the .NET platform to important new
  audiences
F#
• F is for Functional
• F is for Financial
• F is for Fun
Starting Started
• http://tryFsharp.org
• http://fsharp.net
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
 not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
                                                                           IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

Similar to Doc 2011101410543721

01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
Марина Босова
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
Maxim Shaptala
 
Succeeding with Functional-first Programming in Enterprise
Succeeding with Functional-first Programming in EnterpriseSucceeding with Functional-first Programming in Enterprise
Succeeding with Functional-first Programming in Enterprisedsyme
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
Jonas Follesø
 
Going green kl presentation
Going green kl presentationGoing green kl presentation
Going green kl presentationPeter1020
 
Sudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta_Mukherjee_Resume-Nov_2022.pdfSudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta Mukherjee
 
Skillshare - From Noob to Tech CEO - nov 7th, 2011
Skillshare - From Noob to Tech CEO - nov 7th, 2011Skillshare - From Noob to Tech CEO - nov 7th, 2011
Skillshare - From Noob to Tech CEO - nov 7th, 2011Kareem Amin
 
Arpan_Resume_Aug_2015
Arpan_Resume_Aug_2015Arpan_Resume_Aug_2015
Arpan_Resume_Aug_2015arpan sarkar
 
Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?
Polyxer Systems
 
MHa Resume Aug 27 2012
MHa Resume Aug 27 2012MHa Resume Aug 27 2012
MHa Resume Aug 27 2012mhaapane
 
Lecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & DatabasesLecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & Databases
Mubashir Ali
 
Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy Cabral
 
Sudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdfSudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdf
sudipto801
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007
Mike Feltman
 
When Is It Time For Your Company To Invest In.NET Development Services? 
When Is It Time For Your Company To Invest In.NET Development Services? When Is It Time For Your Company To Invest In.NET Development Services? 
When Is It Time For Your Company To Invest In.NET Development Services? 
Flexsin
 
Drive Product Improvements with Telemetry
Drive Product Improvements with TelemetryDrive Product Improvements with Telemetry
Drive Product Improvements with Telemetry
TechWell
 
Zapbuild Portfolio
Zapbuild PortfolioZapbuild Portfolio
Zapbuild Portfolio
Zapbuild
 

Similar to Doc 2011101410543721 (20)

01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
 
Succeeding with Functional-first Programming in Enterprise
Succeeding with Functional-first Programming in EnterpriseSucceeding with Functional-first Programming in Enterprise
Succeeding with Functional-first Programming in Enterprise
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Going green kl presentation
Going green kl presentationGoing green kl presentation
Going green kl presentation
 
Sudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta_Mukherjee_Resume-Nov_2022.pdfSudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta_Mukherjee_Resume-Nov_2022.pdf
 
Ramy_Khater
Ramy_KhaterRamy_Khater
Ramy_Khater
 
Skillshare - From Noob to Tech CEO - nov 7th, 2011
Skillshare - From Noob to Tech CEO - nov 7th, 2011Skillshare - From Noob to Tech CEO - nov 7th, 2011
Skillshare - From Noob to Tech CEO - nov 7th, 2011
 
Arpan_Resume_Aug_2015
Arpan_Resume_Aug_2015Arpan_Resume_Aug_2015
Arpan_Resume_Aug_2015
 
Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?
 
MHa Resume Aug 27 2012
MHa Resume Aug 27 2012MHa Resume Aug 27 2012
MHa Resume Aug 27 2012
 
Technical trainings
Technical trainingsTechnical trainings
Technical trainings
 
Lecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & DatabasesLecture-4: Introduction to Programming & Databases
Lecture-4: Introduction to Programming & Databases
 
Jeremy cabral search marketing summit - scraping data-driven content (1)
Jeremy cabral   search marketing summit - scraping data-driven content (1)Jeremy cabral   search marketing summit - scraping data-driven content (1)
Jeremy cabral search marketing summit - scraping data-driven content (1)
 
Mohamed attia farag
Mohamed attia faragMohamed attia farag
Mohamed attia farag
 
Sudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdfSudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdf
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007
 
When Is It Time For Your Company To Invest In.NET Development Services? 
When Is It Time For Your Company To Invest In.NET Development Services? When Is It Time For Your Company To Invest In.NET Development Services? 
When Is It Time For Your Company To Invest In.NET Development Services? 
 
Drive Product Improvements with Telemetry
Drive Product Improvements with TelemetryDrive Product Improvements with Telemetry
Drive Product Improvements with Telemetry
 
Zapbuild Portfolio
Zapbuild PortfolioZapbuild Portfolio
Zapbuild Portfolio
 

More from Rhythm Sun

长连接服务 WebSocket Service
长连接服务 WebSocket Service长连接服务 WebSocket Service
长连接服务 WebSocket Service
Rhythm Sun
 
Trello workflow by @imRhythm
Trello workflow by @imRhythmTrello workflow by @imRhythm
Trello workflow by @imRhythmRhythm Sun
 
Bitcoin and retail
Bitcoin and retailBitcoin and retail
Bitcoin and retailRhythm Sun
 
Garage cafe keynote peak ji_no_video
Garage cafe keynote peak ji_no_videoGarage cafe keynote peak ji_no_video
Garage cafe keynote peak ji_no_videoRhythm Sun
 
Doc 2011101411284862
Doc 2011101411284862Doc 2011101411284862
Doc 2011101411284862Rhythm Sun
 
Doc 2010050608572429
Doc 2010050608572429Doc 2010050608572429
Doc 2010050608572429Rhythm Sun
 
火狐2011 sfd讲稿
火狐2011 sfd讲稿火狐2011 sfd讲稿
火狐2011 sfd讲稿Rhythm Sun
 
Customize snipmate
Customize snipmateCustomize snipmate
Customize snipmateRhythm Sun
 

More from Rhythm Sun (11)

长连接服务 WebSocket Service
长连接服务 WebSocket Service长连接服务 WebSocket Service
长连接服务 WebSocket Service
 
Trello workflow by @imRhythm
Trello workflow by @imRhythmTrello workflow by @imRhythm
Trello workflow by @imRhythm
 
Bitcoin and retail
Bitcoin and retailBitcoin and retail
Bitcoin and retail
 
Garage cafe keynote peak ji_no_video
Garage cafe keynote peak ji_no_videoGarage cafe keynote peak ji_no_video
Garage cafe keynote peak ji_no_video
 
Beginning git
Beginning gitBeginning git
Beginning git
 
Doc 2011101411284862
Doc 2011101411284862Doc 2011101411284862
Doc 2011101411284862
 
Doc 2010050608572429
Doc 2010050608572429Doc 2010050608572429
Doc 2010050608572429
 
Outside
OutsideOutside
Outside
 
火狐2011 sfd讲稿
火狐2011 sfd讲稿火狐2011 sfd讲稿
火狐2011 sfd讲稿
 
Customize snipmate
Customize snipmateCustomize snipmate
Customize snipmate
 
Zsh
ZshZsh
Zsh
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

Doc 2011101410543721

  • 1.
  • 2. DEV-L-200-4 F#, The American Dream Jack Hu SDET Lead Microsoft, F# Team
  • 3. F# is the best programming language for solving • Computationally complex problems • Data complex problems
  • 4. “...a productive functional programming language for .NET that enables users to write simple code to solve complex problems.”
  • 5. Let • Piping • Pattern Matching • Type Providers
  • 6. Data access platform • Intellisense helps you to browse data schemas • Provides a code centric development experience • Brings data to the developer much closer
  • 8.
  • 9.
  • 10. …buying a new car is the worst investment you could ever make… - Helium.com A new car is generally a very poor investment - ehow.com New cars lose an average of 20 percent of their value in their first year. - The Motley Fool
  • 11. Price First year: 20% Next 5 years: 15% Tapers off 2012 1980 Model Year
  • 12.
  • 13. "(Buying used car is) going to take research if you're going to get the best value…" Lenny Simms, vice president at NADAguides.com.
  • 14. Steps Technologies 1. Collect CraigsList data F# Async (2.0) 2. Store the data EntityFramework 4.1 Code-First, SQL Express 3. Access the data F# TypeProviders (3.0) 4. Filter the data F# LINQ Query (3.0) 5. Computation Linear regression, Excel formulas 6. Visualization FSharpChart
  • 15. Data-First DataBase Code-First DataBase
  • 18.
  • 19. Is this the right time to buy?
  • 20.
  • 21.
  • 22.
  • 23. To Rent (2b2b) – RedmondBellevue
  • 24. To Own (2b2b) – RedmondBellevue 139th Ave NE #737 Price 140,000 Tax 2,022 Dues 471 Interest 4.50% Years 30 PMI 0.52% Down Payment % 15.00% Down Payment $ 21,000 Closing Cost $ 5,310 Monthly Mortgage $ 603 PMI $ 52 Redfin Agent $ (2,100.00) Closing Cost $ 24,210 Monthly $ 1,294 Distance 3.5
  • 25. The Power of F# Steps Technologies 1. Get Redfin Data F# with Access Database 2. Get TaxesDues Units of Measure, Pattern Matching (2.0) 3. Display the results F# with Excel 4. Calculate driving Bing Map API using TypeProviders (3.0) distance 5. Evaluate Property value Zillow Estimator using TypeProviders(3.0) 6. Publish SharePoint using TypeProviders(3.0)
  • 26.
  • 27.
  • 29.
  • 30. 4 Examples of F# Usage • Amyris Biotechnologies – Biotechnology research for engineered renewable fuels – F# for in-house gene sequencing and analytics software tools • Intellifactory WebSharper Platform – Productive Web development leveraging F# • Microsoft ‘Path of Go’ Xbox Live Arcade Game – Paid Xbox Live Arcade Game – XNA with C#/F# – Leveraging advanced Go AI implemented by MSR in F# • A large European Bank – Large group using F# (150+) – Financial modeling, mission critical components
  • 31. F# is Cross-Platform and Open Source
  • 32. The best of the both worlds Functional Language F# .NET Similar core Similar object language model
  • 33. Why F# • Computationally complex problems – Succinct, Expressive, Functional, Parallel - Productive, simple, powerful, and fun language • Data complex problems – Explorative, Data-rich - Extends the .NET platform to important new audiences
  • 34. F# • F is for Functional • F is for Financial • F is for Fun
  • 36. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.