Happy to see that the latest release of Visual Studio includes support for a functional programming language F#.
Back when I started at university, I was surprised to find that we were expected to learn a “weird” programming language called Haskell that was completely different from the procedural programming languages I’d used before.
It was certainly a great thing to learn – instead of viewing a computer as a binary sequential processing machine, the view of it was more like a abstract symbol processor – a very different mental model. If you understand both models it’s a great way to be able to develop very powerful solutions to problems.
Congrats to Don Syme for this release – he’s featured in the article (great photo of Don looking thoughtful near the water) and surely has contributed enormously.
I remember doing some research with Don a long time ago (more than 10 years now). What was incredibly impressive about working with him was that in the morning you could be working on a whiteboard full of greek symbols – well -- no you don’t need greek symbols for F#, but you often do if you write research papers about programming languages.
Anyway so the morning -- greek symbols, type systems, using the words like “semantic domain” and “type inference” and “polymorphism”.
Then in the afternoon, we are looking at x86 instructions in a debugger trying to understand why performance of some JIT code is slower than we expect, and discovering probable i-cache misses.
Not many people can do just one of these things. Let alone doing both in one day. So Don -- respect to the king! And enjoy the release.