This is interesting. My experience with functional languages is pretty limited, but it’s not hard to imagine how they’re useful in the fields mentioned above. I like the idea of “what not how” programming, so I’ll be interested to see where this goes.
Maybe I’m overly skeptical, but if Microsoft is promoting F# then it must be that they’re selling software that requires an F# interface and is incompatible with anything that’s not also written by Microsoft’s proprietary version of F#.
There are Microsoft-brand black helicopters en route to your location as we speak to mete out your punishment for not correctly capitalizing <whatever>.NET.
Of course, there is no reason whatsoever to invent a new programming language. We already have plenty of good ones in the pure functional sphere alone, and all of them have good compilers and plenty of experience behind optimizing them on unfriendly hardware.* Inventing a new programming language is way down on the list of useful things Microsoft could be doing with what it has.
*(The languages you think must be dogs are actually pretty good. People much smarter than you worked long and hard making Smalltalk and Lisp and Prolog and Haskell go fast on real hardware. It’s the C and C++ compilers that can’t optimize much because the language doesn’t hide anything.)
Pure functional programming is programming with no side effects. You can replace any statement with its return value and you won’t change the behavior of the program. It’s really popular in the academic community, and taking off with other people who do technical programming.
I’ve got a degree in Computer Science and I still can’t explain it so that it makes sense. I’ve taken classes in functional programming and have read entire books on its theory and practice, but sit me down in front of a computer and tell me to write a program in Haskell and I still choke. Functional programming haunts me like Moby haunted Ahab. Please excuse me, I’ll be weeping in the corner.