Sou CTO de uma empresa de software com uma grande base de código existente (toda em C #) e uma equipe de engenharia considerável. Eu posso ver como certas partes do código seriam muito mais fáceis de escrever em F #, resultando em tempo de desenvolvimento mais rápido, menos bugs, implementações paralelas mais fáceis, etc., basicamente ganhos gerais de produtividade para minha equipe. No entanto, também vejo várias armadilhas de produtividade da introdução do F #, a saber:
1) Todo mundo precisa aprender F #, e não é tão trivial quanto mudar de, digamos, Java para C #. Os membros da equipe que não aprenderam F # não poderão trabalhar nas partes F # da base de código.
2) O conjunto de programadores F # contratáveis a partir de agora (dez / 2010) é inexistente. Pesquise em vários engenheiros de software retomar bancos de dados para "F #", assim como menos de 1% dos currículos contêm a palavra-chave.
3) O apoio da comunidade a partir de agora (dezembro de 2010) está menos disponível. Você pode pesquisar no Google quase qualquer problema em C # e encontrar alguém que já tenha lidado com isso, não com F #. O suporte a ferramentas de terceiros (NUnit, Resharper etc.) também é superficial.
Percebo que isso é um pouco complicado, ou seja, se pessoas como eu não usam F #, a comunidade e as ferramentas nunca se materializam etc. Mas, eu tenho uma empresa para administrar, e posso ser de ponta, mas borda não sangrando.
Quaisquer outras armadilhas que eu não estou considerando? Ou alguém quer refutar as armadilhas que mencionei? Penso que esta é uma discussão importante e gostaria de ouvir seus contra-argumentos neste fórum público que podem fazer muito para aumentar a adoção de F # pela indústria.