dot_tom wrote:
So back in the day we had Mort (VB), Elvis (C# with a web bias) and Einstein (C++). With F# becoming an 'official' language sponsored by the C# team what persona should we encumber tag F# with?
Joking aside I find the intersection of C# 3.0, F# and ParallelFX with their common Functional meta-theme an interesting mix, esp. with the apparent degree of involved shared people resources within Microsoft. Is F# destined to become "C# Advanced"? Or will C#'s eventual replacement be Elvis-orientated version of F#? What do folks think?
Man why do we always have to label things the "best". Is it an American trait? Do we always have to categorize things? hehe
Ok sorry bout that rant. Anyways I don't think it is C# advanced at all. It is just a different way to solve a problem. The best developers will always have lots of tools at their disposal, and this is just another tool.
As for justification for using it on a real world project? It is true that it is going to be harder to find F# developers out there. But to be honest, F# is really not that hard to learn! Its even easier with the new books out there. At first is can seem really confusing, but since it supports some imperative constructs it is not as daunting as say a language like scheme.
Encouraging your developers to learn F#, maybe even giving them some time during the week to work with it would not only help them but it will help you too. Having a more competent development team never hurts. Find that person on the team who loves new technologies/languages and get him going on it. Then let him mentor the other developers on the side. Doesn't have to be formal or anything.
Maybe use it for tools? Unit tests in F#? Something non-mission critical at first (not implying that tests aren't mission critical, but you get the idea). Just so people can become familiar with it.