Sono CTO di una società di software con una base di codice esistente di grandi dimensioni (tutto C #) e un considerevole team di ingegneri. Vedo come alcune parti del codice sarebbero molto più facili da scrivere in F #, con conseguenti tempi di sviluppo più rapidi, meno bug, implementazioni parallele più semplici, ecc., Sostanzialmente aumenti di produttività complessivi per il mio team. Tuttavia, posso anche vedere diverse insidie sulla produttività dell'introduzione di F #, vale a dire:
1) Tutti devono imparare F #, e non è banale come passare da, diciamo, Java a C #. I membri del team che non hanno appreso F # non saranno in grado di lavorare su parti F # della base di codice.
2) Il pool di programmatori F # noleggiabili, al momento (dicembre 2010) è inesistente. Cerca nei vari database di curriculum di ingegneri del software "F #", in modo che meno dell'1% dei curriculum contenga la parola chiave.
3) Il sostegno comunitario a partire da oggi (dicembre 2010) è meno disponibile. Puoi cercare su Google qualsiasi problema in C # e trovare qualcuno che ha già risolto il problema, non così con F #. Anche il supporto di strumenti di terze parti (NUnit, Resharper ecc.) È impreciso.
Mi rendo conto che questo è un po 'Catch-22, cioè se le persone come me non usano F #, la community e gli strumenti non si materializzeranno mai, ecc. Ma ho un'azienda da gestire e posso essere all'avanguardia ma bordo non sanguinante.
Altre insidie che non sto prendendo in considerazione? O qualcuno si preoccupa di confutare le insidie che ho citato? Penso che questa sia una discussione importante e mi piacerebbe sentire le tue contro-argomentazioni in questo forum pubblico che potrebbero fare molto per aumentare l'adozione di F # da parte dell'industria.