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#语言对异步程序设计的支持
 
generation of programming language
generation of programming languagegeneration of programming language
generation of programming language
 
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
 
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

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Último (20)

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 

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