Sono CTO di un'azienda di software con una base di codice esistente di grandi dimensioni (tutto C #) e un team di ingegneri di notevoli dimensioni. Riesco a vedere come certe parti del codice sarebbero molto più semplici da scrivere in F #, con un tempo di sviluppo più rapido, meno errori, implementazioni parallele più semplici, ecc., Sostanzialmente aumenti di produttività complessivi per la mia squadra. Tuttavia, posso anche notare alcune insidie nella produttività dell'introduzione di F #, ovvero:
1) Tutti devono imparare F #, e non è così banale come passare da, diciamo, da Java a C #. I membri del team che non hanno appreso F # non potranno lavorare su parti F # della base di codice.
2) Il pool di programmatori F # attivabili, al momento (Dicembre 2010) è inesistente. Cerca in vari software engineer di riprendere i database per "F #", molto meno dell'1% dei CV contiene la parola chiave.
3) Il supporto della community a partire da ora (dicembre 2010) è meno disponibile. Puoi trovare praticamente qualsiasi problema in C # su Google e trovare qualcuno che lo abbia già affrontato, non così con F #. Anche il supporto di strumenti di terze parti (NUnit, Resharper, ecc.) È approssimativo.
Mi rendo conto che questo è un po 'Catch-22, cioè se le persone come me non usano F # allora la community e gli strumenti non si materializzeranno mai, ecc. Ma, ho un'azienda da gestire, e posso essere all'avanguardia ma non all'avanguardia.
Qualche altra insidie che non sto considerando? O qualcuno si preoccupa di confutare le insidie che ho menzionato? Penso che questa sia una discussione importante e mi piacerebbe sentire le tue contro-argomentazioni in questo forum pubblico che potrebbe fare molto per aumentare l'adozione di F # da parte dell'industria.