내가 고려하지 않은 다른 함정은?
실제로 사람들이 보는 주된 실수는 F #을 작업에 대한 잘못된 도구 인 문제에 강제로 사용하려고한다는 것입니다.
아니면 내가 언급 한 함정을 반박 할 사람이 있습니까?
그것들은 어느 정도 분명한 관심사이지만 어느 정도 궁금합니다.
예를 들어, F # 코드 작업을하려면 모든 사람이 F #을 배워야한다고 말합니다. 사실이지만 이것은 실제로 큰 문제는 아닙니다. FPF 학습은 WPF, Silverlight 또는 TPL 학습보다 중요하지 않습니다. 저는 현재 30 명의 개발자들에게 런던에서 클라이언트를 위해 F #을 사용하는 방법을 가르치고 있습니다. 그리고 몇 주 후에 12 명 정도가 F # 코드를 풀 타임으로 일하고 있었고 첫 제품 (정시 및 예산 내)을 배송했습니다! )는 몇 개월 후에 거의 전적으로 F #으로 작성되었습니다. 실제로 F #보다 Silverlight의 기술적 인 어려움이 더 많았고 Silverlight의 기술 지원이 F #보다 훨씬 나빴습니다.
사용 가능한 F # 프로그래머의 비교적 작은 풀을 참조하지만 F #을 쉽게 얻을 수 있다는 점을 고려할 때 이것이 중요한 문제라고 생각하지 않습니다. 나는 당신이 있다면 많은 것을 고용해야한다고 의심한다. 내 고객은 프로그래머가 100 명 이상인 두 명의 F # 직원을두고 있으며 F # 사용을 시드하고 감독하는 일을합니다.
세 번째이자 마지막 관심사는 커뮤니티 지원 감소, C # 솔루션 용 Googling 대 F # 및 타사 도구 지원에 관한 것입니다. 다시, 나는 이것들이 실제로 문제가되는 것을 발견하지 못했다. F #의 측정 단위에 대한 의견과 함께 fsbugs에게 전자 메일을 보냈으며 24 시간 이내에 연구원이 내 해석이 왜 틀 렸으며 그것이 어떻게 작동하는지에 대한 자세한 설명으로 응답했습니다. 나는 Anders Hejlsberg ;-)에서 그것을 얻지 못했습니다. Google은 항상 솔루션을 찾고 C #, VB 또는 IronPython으로 작성된 솔루션을 찾았지만 3 년 동안 F # 산업을 사용하면 솔루션을 F #으로 변환하는 것이 쉽지 않은 단일 인스턴스 만 불러올 수 있습니다. 사실, 최근에는 데이터 직렬 변환기 C # 샘플을 MSDN에서 F #으로 변환했으며 5 배 더 짧았습니다. 마지막으로 NUnit과 같은 도구에서 F # 지원에 대해 언급했습니다. 한동안 문제없이 F #에서 NUnit을 사용했습니다. 이들은 C # 도구가 아닌 .NET 도구입니다.
사례 연구 : 현재 고객은 단위 테스트를 위해 NUnit을 사용하고있을뿐 아니라 BDD 용 SpecFlow에 대한 기술적으로 탁월한 대안으로 NUnit 위에 F #에 TickSpec 을 구축 했습니다 . 필자는 TickSpec이 SpecFlow의 작은 크기이며 더 많은 기능을 제공한다는 점을 보여주었습니다. 또한 이전 F # 경험이없는 (및 이전의 기능적 프로그래밍 경험이없는) 작업중인 일부 개발자가 F # + TickSpec을 사용하면 문제를 쉽게 해결할 수 있기 때문에 관련 프로젝트에서 문제없이 정확하게 사용하기 시작했습니다. 문제.
FWIW, 나는 클라이언트에게 F #을 배우는 많은 개발자들과 잘 어울리는 F # .NET 저널에 무료 사이트 구독을주었습니다 .
HTH!