Jestem CTO firmy programistycznej z dużą istniejącą bazą kodów (wszystkie C #) i sporym zespołem inżynierów. Widzę, w jaki sposób niektóre części kodu byłyby o wiele łatwiejsze do napisania w języku F #, co skutkuje szybszym czasem programowania, mniejszą liczbą błędów, łatwiejszymi równoległymi implementacjami itp., W zasadzie ogólny wzrost wydajności mojego zespołu. Widzę jednak kilka pułapek wydajności związanych z wprowadzeniem F #, a mianowicie:
1) Każdy musi nauczyć się F # i nie jest to tak trywialne jak przejście z, powiedzmy, Java na C #. Członkowie zespołu, którzy nie nauczyli się języka F #, nie będą mogli pracować nad częściami F # bazy kodu.
2) Pula programistów F # do wynajęcia na razie (grudzień 2010) nie istnieje. Przeszukaj różne bazy danych CV inżyniera oprogramowania dla „F #”, mniej niż 1% CV zawiera słowo kluczowe.
3) Wsparcie Wspólnoty w chwili obecnej (grudzień 2010 r.) Jest mniej dostępne. Możesz wyszukać w Google prawie każdy problem w C # i znaleźć kogoś, kto już go rozwiązał, a nie F #. Obsługa narzędzi innych firm (NUnit, Resharper itp.) Jest również szkicowa.
Zdaję sobie sprawę, że jest to trochę Catch-22, tj. Jeśli ludzie tacy jak ja nie używają F #, społeczność i narzędzia nigdy się nie zmaterializują itp. Ale mam firmę do prowadzenia i mogę być najnowocześniejszy, ale nie krwawiąc krawędzi.
Jakieś inne pułapki, których nie rozważam? A może ktoś zechce obalić pułapki, o których wspominałem? Myślę, że jest to ważna dyskusja i chciałbym usłyszeć twoje kontrargumenty na tym publicznym forum, które mogą wiele zrobić, aby zwiększyć przyjęcie F # przez przemysł.