The article compared "async" C# to async F# and makes the claim that F# is better because of the lighter syntax. The only problem is that they're using the wrong version of C#. C# is expected to get the same async feature in the next version. Version 4 brought dynamic features to C# and completely changed the language. Version 5 is expected to bring async and change how people use C# again.<p>It's really slick and MS should really be commended for their work on it. It makes writing asynchronous code as straightforward as writing regular code. No crazy callbacks. That's what is so great about the CLI. All the .NET languages get an upgrade when the CLI gets an upgrade. All the work done to support Python and Ruby on .NET led to the dynamic and functional features of C# 4.
As soon as I saw node.fs, I knew it had to be done in F# (preferably with Mono). It's just too good not to be done. All the goodness of functional-reactive servers with the .NET pantheon of libraries thrown in.<p>I especially like the code/time comparisons at the bottom. For those C# and other .NET guys, yes, you can do the same thing in any .NET language. That's not the point. What F# brings is the ability to think and write code in a quicker, more concise manner that's also more error-free. Modern coding environments are more and more lending themselves to FP.
It would be great to see an F# aync http server combined with something like WebSharper(which allows writing a lot of javascript in F#).<p><a href="http://websharper.com/samples/Canvas" rel="nofollow">http://websharper.com/samples/Canvas</a><p><a href="http://websharper.com/samples/WebGL" rel="nofollow">http://websharper.com/samples/WebGL</a><p>Get it to work on Mono and it would be Mono and F#'s killer app(stack).
NB I found this after listening to a podcast about IronJS, during which Fredrik Holmström mentioned that F# would be a much better starting point for an async http server.
<i>cough</i><p>There are things like <a href="https://github.com/panesofglass/frack" rel="nofollow">https://github.com/panesofglass/frack</a> already. That's not the only one. This entire approach running on the stack and frameworks it can is a massive deal, and running silent at present.
For semi-related further reading, here is the second in a blog series extending async F# in the context of developing GUIs:<p><a href="http://tomasp.net/blog/safe-gui-async.aspx" rel="nofollow">http://tomasp.net/blog/safe-gui-async.aspx</a>