APM -> EAP -> TAP What next?
-
While going through Async CTP, I was reflecting on how the asynchronous programming in .NET has changed over the years. .NET 1,1.1 = (APM) Asynchronous Programming Model (Begin, End and IAsyncResult) .NET 2,3.5 = (EAP) Event based Asynchronous Programming .NET 4 = (TAP) Task based Asynchronous Programming This is interesting as MS has invented a new model in each major release of .NET.
-
While going through Async CTP, I was reflecting on how the asynchronous programming in .NET has changed over the years. .NET 1,1.1 = (APM) Asynchronous Programming Model (Begin, End and IAsyncResult) .NET 2,3.5 = (EAP) Event based Asynchronous Programming .NET 4 = (TAP) Task based Asynchronous Programming This is interesting as MS has invented a new model in each major release of .NET.
From what I hear, the next version will be Complex Reactive Asynchronous Programming, based on the idea of applying observable behaviour to async programming; allowing applications to maintain arbitrary complex pathways that will be automatically spawned off onto separate threads as appropriate.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
From what I hear, the next version will be Complex Reactive Asynchronous Programming, based on the idea of applying observable behaviour to async programming; allowing applications to maintain arbitrary complex pathways that will be automatically spawned off onto separate threads as appropriate.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
This will be a fine mess to debug :^)
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
-
From what I hear, the next version will be Complex Reactive Asynchronous Programming, based on the idea of applying observable behaviour to async programming; allowing applications to maintain arbitrary complex pathways that will be automatically spawned off onto separate threads as appropriate.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
May be you are talking about the 'async' keyword ? Like described in this document ? http://www.asp.net/vnext/whats-new#_Toc303354463[^]
-
From what I hear, the next version will be Complex Reactive Asynchronous Programming, based on the idea of applying observable behaviour to async programming; allowing applications to maintain arbitrary complex pathways that will be automatically spawned off onto separate threads as appropriate.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
Pete O'Hanlon wrote:
From what I hear, the next version will be Complex Reactive Asynchronous Programming,
Ah yes, that's really a newer version of Programming Objective Orthoganal Paradigm. Fundamental principles are the same. Messy and not fun cleaning up.
Regards, Nish
My technology blog: voidnish.wordpress.com You've gotta read this : Using lambdas - C++ vs. C# vs. C++/CX vs. C++/CLI
-
May be you are talking about the 'async' keyword ? Like described in this document ? http://www.asp.net/vnext/whats-new#_Toc303354463[^]
Yuri Vital wrote:
May be you are talking about the 'async' keyword ?
:rolleyes: No, I'm not. The clue was in the name I assigned: Complex Reactive Async Programming.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Yuri Vital wrote:
May be you are talking about the 'async' keyword ?
:rolleyes: No, I'm not. The clue was in the name I assigned: Complex Reactive Async Programming.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
Vooooooosh! (That was the sound of the joke passing him by)
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
-
Pete O'Hanlon wrote:
From what I hear, the next version will be Complex Reactive Asynchronous Programming,
Ah yes, that's really a newer version of Programming Objective Orthoganal Paradigm. Fundamental principles are the same. Messy and not fun cleaning up.
Regards, Nish
My technology blog: voidnish.wordpress.com You've gotta read this : Using lambdas - C++ vs. C# vs. C++/CX vs. C++/CLI
That's the one. It supersedes Synchronous Heuristic Information Tokenisation Static Typed Object Relation Model.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
That's the one. It supersedes Synchronous Heuristic Information Tokenisation Static Typed Object Relation Model.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
Pete O'Hanlon wrote:
It supersedes Synchronous Heuristic Information Tokenisation Static Typed Object Relation Model.
Wow, good to see that you are keeping yourself up-to-date, Pete. :-D
Regards, Nish
My technology blog: voidnish.wordpress.com You've gotta read this : Using lambdas - C++ vs. C# vs. C++/CX vs. C++/CLI
-
Yuri Vital wrote:
May be you are talking about the 'async' keyword ?
:rolleyes: No, I'm not. The clue was in the name I assigned: Complex Reactive Async Programming.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
X| (shame)
-
While going through Async CTP, I was reflecting on how the asynchronous programming in .NET has changed over the years. .NET 1,1.1 = (APM) Asynchronous Programming Model (Begin, End and IAsyncResult) .NET 2,3.5 = (EAP) Event based Asynchronous Programming .NET 4 = (TAP) Task based Asynchronous Programming This is interesting as MS has invented a new model in each major release of .NET.
I'm lovin' it :) My only criticism is that we just taught people not to call
Application.DoEvents()
and now we haveawait
running the main message loop which will also cause unexpected re-entrancy. A Microsoftie told me that problem was just being left to the UI developer :wtf: Apart from that I thinkawait
is great work - including for back end development. If MS can add async versions of the blocking calls in the framework, that expose progress and cancellation properly, C# 5 may be the version that tips the effort / reward balance and brings multi-threading to the mainstream. Still lovin' it :) Nick -
Pete O'Hanlon wrote:
From what I hear, the next version will be Complex Reactive Asynchronous Programming,
Ah yes, that's really a newer version of Programming Objective Orthoganal Paradigm. Fundamental principles are the same. Messy and not fun cleaning up.
Regards, Nish
My technology blog: voidnish.wordpress.com You've gotta read this : Using lambdas - C++ vs. C# vs. C++/CX vs. C++/CLI
Nishant Sivakumar wrote:
Messy and not fun cleaning up.
True but you can overcome blocking with a pencil.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.