Tôi là CTO của một công ty phần mềm với một cơ sở mã lớn hiện có (tất cả C #) và một nhóm kỹ thuật khá lớn. Tôi có thể thấy các phần nhất định của mã sẽ dễ dàng hơn để viết trong F #, dẫn đến thời gian phát triển nhanh hơn, ít lỗi hơn, triển khai song song dễ dàng hơn, v.v., về cơ bản tăng năng suất chung cho nhóm của tôi. Tuy nhiên, tôi cũng có thể thấy một số cạm bẫy về năng suất khi giới thiệu F #, cụ thể là:
1) Mọi người đều phải học F # và nó không tầm thường như chuyển từ, giả sử, Java sang C #. Các thành viên trong nhóm chưa học F # sẽ không thể làm việc trên các phần F # của cơ sở mã.
2) Nhóm lập trình viên F # đáng tin cậy, tính đến thời điểm hiện tại (tháng 12 năm 2010) là không tồn tại. Tìm kiếm các kỹ sư phần mềm khác nhau tiếp tục cơ sở dữ liệu cho "F #", cách ít hơn 1% hồ sơ có chứa từ khóa.
3) Hỗ trợ cộng đồng tính đến thời điểm hiện tại (tháng 12 năm 2010) ít khả dụng. Bạn có thể google gần như bất kỳ vấn đề nào trong C # và tìm ai đó đã xử lý nó, không phải như vậy với F #. Hỗ trợ công cụ của bên thứ ba (NUnit, Resharper, v.v.) cũng sơ sài.
Tôi nhận ra rằng đây là một chút Catch-22, tức là nếu những người như tôi không sử dụng F # thì cộng đồng và các công cụ sẽ không bao giờ thành hiện thực, v.v. Nhưng, tôi đã có một công ty để điều hành và tôi có thể chặt chẽ nhưng không chảy máu mép.
Bất kỳ cạm bẫy nào khác tôi không xem xét? Hoặc bất cứ ai quan tâm để bác bỏ những cạm bẫy mà tôi đã đề cập? Tôi nghĩ rằng đây là một cuộc thảo luận quan trọng và rất thích nghe những phản biện của bạn trong diễn đàn công cộng này có thể giúp ích rất nhiều để tăng sự chấp nhận F # theo ngành.