SlideShare una empresa de Scribd logo
1 de 11
Async Programming in F# LiuYanJiang - June 2010 Work In: 山东泰迪计算机软件工程师学校
About Me 刘晏江/刘校长/BeauLiu Microsoft Most Valuable Professiona Programmer F#,Scala,JavaScript,Pytho,.NET,mono Java(as the language) hater
What's F# Languages by Don Syme,MS Research Strongly Statically Typed Language Functional Language with OO Ability General Purpose Language
Async Programming is complex……
Four Big Concurrency Challenges Shared State Code Locality I/O Parallelism Scaling Up
Shared State Difficult to maintain and test Very difficult to parallelize Locking is fundamentally error prone
Immutability in F# Immutable Union Immutable Record Immutable Set Immutable Objects Immutable Tuple Immutable List Immutable Map
Code Locality Used to expressing algorithms linearly Async requires logical division of algorithms
Scaling to Multi-Machine To scale up,must to go beyond a single machine Multi-machine resources becoming common Roll-you-own clusters with cheap hardware Shared memory doesn't scale
F# Modern,simple,powerful and prductive Ready for  production use with VS 2010 Simplified parallel and async programming for today and tomorrow Support .NET 4.0/3.5 and mono Open Source
Q & A

Más contenido relacionado

La actualidad más candente

Introduction to Internationalization
Introduction to InternationalizationIntroduction to Internationalization
Introduction to Internationalization
Ewa Barczykowska
 

La actualidad más candente (13)

Evolution of Computer Languages
Evolution of Computer LanguagesEvolution of Computer Languages
Evolution of Computer Languages
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
An Introduction to FSharp
An Introduction to FSharpAn Introduction to FSharp
An Introduction to FSharp
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
BDD with F# at DDD9
BDD with F# at DDD9BDD with F# at DDD9
BDD with F# at DDD9
 
Introduction to Internationalization
Introduction to InternationalizationIntroduction to Internationalization
Introduction to Internationalization
 
What is Coding
What is CodingWhat is Coding
What is Coding
 
Programming
ProgrammingProgramming
Programming
 
Machine Translation: The Neural Frontier
Machine Translation: The Neural FrontierMachine Translation: The Neural Frontier
Machine Translation: The Neural Frontier
 
Intro
IntroIntro
Intro
 
What is unique in Objective C?
What is unique in Objective C?What is unique in Objective C?
What is unique in Objective C?
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?
 

Destacado (6)

10 Holiday Eating Tips (Part I)
10 Holiday Eating Tips (Part I)10 Holiday Eating Tips (Part I)
10 Holiday Eating Tips (Part I)
 
Code 3 accounting llc
Code 3 accounting llcCode 3 accounting llc
Code 3 accounting llc
 
UWaterloo Enterprise Co-op Information
UWaterloo Enterprise Co-op InformationUWaterloo Enterprise Co-op Information
UWaterloo Enterprise Co-op Information
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
100331 i propeller-fishtank presentatie toon aangepast
100331 i propeller-fishtank presentatie toon aangepast100331 i propeller-fishtank presentatie toon aangepast
100331 i propeller-fishtank presentatie toon aangepast
 
The Scientific Revolution
The Scientific RevolutionThe Scientific Revolution
The Scientific Revolution
 

Similar a Async programming in f

What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#
Kevin Hazzard
 

Similar a Async programming in f (20)

Bay NET Aug 19 2009 presentation ppt
Bay  NET Aug 19 2009 presentation pptBay  NET Aug 19 2009 presentation ppt
Bay NET Aug 19 2009 presentation ppt
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Practical F#
Practical F#Practical F#
Practical F#
 
From Programming to Modeling And Back Again
From Programming to Modeling And Back AgainFrom Programming to Modeling And Back Again
From Programming to Modeling And Back Again
 
Pharo Smalltalk as Universal Development Platform
Pharo Smalltalk as Universal Development PlatformPharo Smalltalk as Universal Development Platform
Pharo Smalltalk as Universal Development Platform
 
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptxCobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
 
Which programming language should you learn next?
Which programming language should you learn next? Which programming language should you learn next?
Which programming language should you learn next?
 
Programming Language Selection
Programming Language SelectionProgramming Language Selection
Programming Language Selection
 
What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#
 
MomentumSI Programming Language Recommendations
MomentumSI Programming Language RecommendationsMomentumSI Programming Language Recommendations
MomentumSI Programming Language Recommendations
 
Create Your Own Language
Create Your Own LanguageCreate Your Own Language
Create Your Own Language
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
 
Basics-Of-Java
Basics-Of-JavaBasics-Of-Java
Basics-Of-Java
 
F#语言对异步程序设计的支持
F#语言对异步程序设计的支持F#语言对异步程序设计的支持
F#语言对异步程序设计的支持
 
Generations of programming_language.kum_ari11-1-1-1
Generations of programming_language.kum_ari11-1-1-1Generations of programming_language.kum_ari11-1-1-1
Generations of programming_language.kum_ari11-1-1-1
 
generation of programming language
generation of programming languagegeneration of programming language
generation of programming language
 
Lession 6
Lession 6Lession 6
Lession 6
 
Comparative Study of programming Languages
Comparative Study of programming LanguagesComparative Study of programming Languages
Comparative Study of programming Languages
 
Comparative study of programming languages
Comparative study of programming languagesComparative study of programming languages
Comparative study of programming languages
 
F# Tutorial @ QCon
F# Tutorial @ QConF# Tutorial @ QCon
F# Tutorial @ QCon
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Async programming in f

  • 1. Async Programming in F# LiuYanJiang - June 2010 Work In: 山东泰迪计算机软件工程师学校
  • 2. About Me 刘晏江/刘校长/BeauLiu Microsoft Most Valuable Professiona Programmer F#,Scala,JavaScript,Pytho,.NET,mono Java(as the language) hater
  • 3. What's F# Languages by Don Syme,MS Research Strongly Statically Typed Language Functional Language with OO Ability General Purpose Language
  • 4. Async Programming is complex……
  • 5. Four Big Concurrency Challenges Shared State Code Locality I/O Parallelism Scaling Up
  • 6. Shared State Difficult to maintain and test Very difficult to parallelize Locking is fundamentally error prone
  • 7. Immutability in F# Immutable Union Immutable Record Immutable Set Immutable Objects Immutable Tuple Immutable List Immutable Map
  • 8. Code Locality Used to expressing algorithms linearly Async requires logical division of algorithms
  • 9. Scaling to Multi-Machine To scale up,must to go beyond a single machine Multi-machine resources becoming common Roll-you-own clusters with cheap hardware Shared memory doesn't scale
  • 10. F# Modern,simple,powerful and prductive Ready for production use with VS 2010 Simplified parallel and async programming for today and tomorrow Support .NET 4.0/3.5 and mono Open Source
  • 11. Q & A