เริ่มต้นด้วย F # [ปิด]


139

ฉันจะเข้าไปเกี่ยวกับการเขียนโปรแกรม F # ได้อย่างไร

ตัวอย่างแบบเริ่มต้นที่ดีอะไรบ้างที่จะเรียนรู้ภาษาหรือเรียนรู้เกี่ยวกับข้อได้เปรียบบางอย่างเหนือภาษาอื่น ๆ

ฉันต้องการเครื่องมืออะไร (เช่น Windows, Visual Studio, ... )


4
ควรเปิดคำถามนี้ซ้ำด้วยการโหวต 120 ครั้งหรือไม่ มันให้คำตอบที่ดีสำหรับคำถามที่ดีที่ได้อ่านหลายครั้ง
ม้วน

คำตอบ:


137

จุดเริ่มต้นอย่างเป็นทางการอยู่ที่นี่: Microsoft F # Developer Center

เพื่อความรวดเร็วลองใช้F # ในเบราว์เซอร์ของคุณ (Silverlight) (มีคำแนะนำแบบอินเทอร์แอคทีฟแบบโต้ตอบ)

เริ่มต้นด้วยการดูวิดีโอและงานนำเสนอ (BTW การแนะนำ Microsoft F #โดย Luca Bolognese ยังคงเป็นหนึ่งในงานนำเสนอที่ดีที่สุดในเรื่อง) จากนั้นอ่านหนังสือที่ต้องอ่านสองเล่มต่อไปนี้:

และนอกจากนั้น ...

ลิงค์ด่วน

ชุมชน

Q & A

บล็อก / เผยแพร่

กลุ่ม Meetup

วิดีโอ

หนังสืออื่น ๆ

เครื่องมือที่จำเป็น

Visual Studio:

  • F # สร้างขึ้นในรุ่นระดับมืออาชีพของ VS2010 และ VS2012
  • F # พร้อมใช้งานเป็นส่วนเสริมสำหรับ Visual Studio 2012 Express สำหรับเว็บ
  • นอกจากนี้คุณยังสามารถติดตั้งเชลล์ในตัว VS2010 ( ดาวน์โหลดฟรี ) จากนั้นติดตั้งCTP MSIสำหรับ F20 เวอร์ชั่น VS2010 ฟรี

MonoDevelop:

  • คุณสามารถค้นหาข้อมูลจำนวนมากเกี่ยวกับการใช้ F # ภายใน MonoDevelop ที่นี่ คอมไพเลอร์ F # และ fsi.exe เป็นส่วนหนึ่งของการแจกแจงแบบโมโน

1
ฉันยังไม่พบหนังสือที่ "ต้องอ่าน" เมื่อมันมาถึงการเขียนโปรแกรมด้วยเหตุนี้ผมค่อนข้างเชื่อในคำแนะนำหนังสือดังกล่าว ...
HB

3
จะเกิดอะไรขึ้นถ้าสิ่งนี้ถูกเพิ่มลงในข้อมูลแท็ก stackoverflow.com/tags/f%23/info
bytebuster

2
หากสามารถช่วยฉันและตัวฉันเองพบว่าฉันใช้หนังสือที่แตกต่างกันเพื่อวัตถุประสงค์ที่แตกต่างกัน ผู้เชี่ยวชาญ F # ขึ้นไปเป็นข้อมูลอ้างอิง (ไม่ใช่การอ้างอิงที่บริสุทธิ์) เพื่อค้นหาสิ่งต่าง ๆ เริ่มต้น F # เป็นหนังสือวัฒนธรรมที่ฉันมักจะเรียนรู้บางสิ่งที่มีประโยชน์มากไม่ว่าจะเป็นบทที่ฉันอ่านบทใดแม้แต่พื้นฐานพื้นฐานและ RWFP .
ลัส

3
ฉันแนะนำหนังสือของ Jon Harrop ค่อนข้างมากเช่นกัน จริง ๆ แล้วจุดบนอัลโกกับสิ่งพื้นฐานดี เสีย 0% จอนชอบ noobie ด้วย
ลัส

1
@HB ผมคิดว่ามีจะต้องอ่าน แต่ผู้ที่ไม่ได้เป็นพื้นฐานและพอจะมีคุณสมบัติทั่วไป IMHO
นิโคลัส

31

วิธีที่ฉันเรียนรู้ F # คือทำตาม 3 ขั้นตอนต่อไปนี้

ก่อนอื่นฉันได้ทำการแนะนำเว็บไซต์Try F #ซึ่งให้การแนะนำแบบโต้ตอบที่ดี (แต่เบา) เกี่ยวกับไวยากรณ์และรูปแบบของภาษา

ต่อไปเพื่อให้เข้าใจถึงการแก้ปัญหาในภาษาฉันเริ่มไขปริศนาบางอย่างในไซต์Project Euler ฉันจะแก้ไขปัญหาเกี่ยวกับสิบครั้งแรกและหลังจากที่เกิดปัญหาที่ประสบความสำเร็จในแต่ละครั้งผมมองขึ้นไปทางเลือก 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

ฉันทำเช่นเดียวกัน เรียนรู้ภาษา / ไวยากรณ์ / วิธีคิดและไปที่ Project Euler
Grzegorz Gierlik

24

ไบรอันได้รวบรวมรายการที่ยอดเยี่ยมไว้แล้ว แต่ฉันส่งผลงานเล็ก ๆ ของฉันไปยังระบบนิเวศที่อุดมสมบูรณ์ของสื่อการเรียนรู้ F #, F # Koans - วิธีที่ง่ายสนุกและโต้ตอบเพื่อเรียนรู้ภาษา F # ผ่านการทดสอบ


2
+1 นี่คือการแนะนำแบบโต้ตอบที่ยอดเยี่ยมเกี่ยวกับแนวคิดพื้นฐานรอคอยที่จะ koans ระดับสูงบางอย่าง
79E09796

1
ขอบคุณ. ฉันเรียนรู้หนึ่งตันจาก koans และฉันจะสนใจในระดับขั้นสูงบางอย่าง
Tyler Smith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.