F # 시작하기 [닫기]


139

F # 프로그래밍을 시작하려면 어떻게해야합니까?

언어를 배우거나 다른 언어에 비해 어떤 장점이 있는지 배우기위한 좋은 출발점 샘플은 무엇입니까?

어떤 도구가 필요합니까 (예 : Windows, Visual Studio 등)?


4
120 위로 투표로이 질문을 다시 열어야합니까? 여러 번 읽은 좋은 질문에 대한 정답을 제공합니다.

답변:


137

공식 진입 점은 다음과 같습니다. Microsoft F # 개발자 센터

빠른 맛을 얻으려면 브라우저에서 Silverlight 를 사용해보십시오 (Silverlight). (대화식 튜토리얼 연습 포함)

비디오 및 프레젠테이션을 시청하십시오 (BTW, Luca Bolognese의 Microsoft F # 소개 는 여전히 주제에 대한 최고의 프레젠테이션 중 하나입니다). 그런 다음 반드시 읽어야 할 다음 두 권의 책을 읽으십시오.

그 외에도 ...

빠른 링크

커뮤니티

Q & A

블로깅 / 출판

밋업 그룹

비디오

다른 책들

필요한 도구

비주얼 스튜디오:

  • F #은 VS2010 및 VS2012의 프로페셔널 에디션에 내장되어 있습니다.
  • F #은 Visual Studio 2012 Express for Web에 추가 구성 요소로 제공됩니다.
  • 또는 VS2010 통합 셸 ( 무료 다운로드 )을 설치할 수도 있습니다 . 그런 다음 무료 VS2010 버전의 F # 2.0 용 CTP MSI를 설치하십시오 .

MonoDevelop :

  • MonoDevelop 내에서 F # 사용에 대한 많은 정보를 여기서 찾을 수 있습니다 . F # 컴파일러와 fsi.exe는 이제 Mono 배포판의 일부 입니다.

1
나는 프로그래밍에 관해서는 "읽어야 할"책을 아직 만나지 않았으므로, 그런 책 추천에 대해 회의적이다.
HB

3
이것이 태그 정보에 추가되면 어떻게됩니까? stackoverflow.com/tags/f%23/info
바이트 버스터

2
그것을 도울 수 있다면, 나는 나 자신, 나는 다른 목적을 위해 다른 책을 사용하는 것으로 나타났다. 전문가 F #은 사물을 찾기위한 참고 자료 (순수한 참고 자료는 아님)로, F #을 시작으로 문화 장부로 시작 합니다.이 장은 내가 읽은 챕터, 기본 자료 및 RWFP에 관계없이 항상 매우 유용한 것을 배우는 주제입니다. .
nicolas

3
Jon Harrop의 책도 강력 추천합니다. 정말 근본까지, 좋은 기본 사항이있는 알고리즘 측면. 폐기물 0 %. 또한 Jon은 noobie를 좋아합니다.
nicolas

1
@HB 읽어야한다고 생각하지만 IMHO 자격을 갖추기에 충분하지 않은 기본적이고 일반적인 것은 아닙니다.
nicolas

31

F #을 배운 방법은 다음 3 단계를 거치는 것입니다.

먼저 Try F # 웹 사이트에서 언어의 구문과 스타일에 대한 대화식 소개를 제공합니다.

다음으로, 실제로 언어로 문제를 해결하는 느낌을 얻기 위해 Project Euler 사이트 에서 퍼즐 몇 가지를 풀기 시작했습니다 . 나는 처음 10 문제에 대해 해결 및 각 성공적인 문제 후에, 나는 다른 F 번호 구현 고개 여기를 . 이것은 시퀀스로 작업하고 재귀를 사용하는 방법에 대해 좋은 느낌을 주었고 일반적으로 구문에 익숙해졌습니다.

마지막으로, 나는 진정으로 뛰어난 30 점의 가이드를 읽어 사용하는 이유 F 번호http://fsharpforfunandprofit.com/ . C # 개발자를 염두에두고 언어의 주요 부분을 모두 활용하는 방법을 단계별로 안내합니다. 그 후 웹 사이트에서 다른 자료를 찾아 보길 권한다. 모두 잘 작성되고 통찰력이있다.

이 단계를 완료하면 F #에서 실제 프로젝트를 만들 준비가되었습니다.


3
나는 오일러 추천을 정말 좋아합니다. 실제 문제 해결은 (나에게) 실제로 파는 가장 좋은 방법입니다. 또한 fsharpforfunandprofit은 제가 정말 도움이되는 훌륭한 소스입니다.
Ostkontentitan

오일러 프로젝트 예제에서 f #에 대한 솔루션이 가장 성능이 좋지 않은 것 같습니다. 문제 하나는 다음과 함께 훨씬 더 잘 수행합니다. let problem1 = [1..999] |> List.filter (fun x-> (x % 5 = 0 || x % 3 = 0)) |> Seq.sum ;; 솔루션 및 제공된 솔루션의 시간을 측정하는 것이 좋습니다. stackoverflow.com/questions/4528355/…
Ostkontentitan

나는 똑같이했다. 약간의 언어 / 구문 / 사고 방식을 배우고 프로젝트 오일러로 갔다.
Grzegorz Gierlik

24

Brian은 이미 훌륭한 목록을 작성했지만 테스트를 통해 F # 언어를 배울 수있는 간단하고 재미 있고 대화식 인 F # 학습 자료의 풍부한 에코 시스템 인 F # Koans에 저의 작은 공헌을 겸허하게 제출했습니다 .


2
+1 이것은 기본 개념에 대한 훌륭한 대화식 소개이며 고급 수준의 개념을 기대합니다.
79E09796

1
감사합니다. 나는 koans로부터 톤을 배웠고, 일부 고급 레벨에 완전히 관심이 있습니다.
Tyler Smith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.