Memulai dengan F # [ditutup]

139

Bagaimana cara saya masuk ke pemrograman F #?

Apa saja sampel pemula yang baik untuk belajar bahasa, atau belajar tentang beberapa kelebihannya dibandingkan bahasa lain?

Alat apa yang saya butuhkan (mis. Windows, Visual Studio, ...)?

Brian
sumber
4
Dengan 120 suara, haruskah pertanyaan ini dibuka kembali? Ini memberikan jawaban yang bagus untuk pertanyaan bagus yang telah dibaca berulang kali.
bergulung

Jawaban:

137

Titik masuk resmi ada di sini: Pusat Pengembang Microsoft F #

Untuk rasa cepat, pertimbangkan untuk mencoba F # di browser Anda (Silverlight). (berisi panduan tutorial interaktif)

Mulailah dengan menonton video dan presentasi (BTW, Pengantar Microsoft F # oleh Luca Bolognese masih merupakan salah satu presentasi terbaik tentang masalah ini). Kemudian bacalah dua buku yang harus dibaca berikut ini:

dan selain itu ...

tautan langsung

Masyarakat

T&J

Blogging / penerbitan

Grup Temu

Video

Buku-buku lain

Alat dibutuhkan

Studio visual:

  • F # dibangun untuk edisi profesional VS2010 dan VS2012.
  • F # tersedia sebagai komponen tambahan untuk Visual Studio 2012 Express untuk Web.
  • Atau Anda juga dapat menginstal shell terintegrasi VS2010 ( unduhan gratis ). Kemudian instal CTP MSI , untuk F # 2.0 versi VS2010 gratis.

MonoDevelop:

  • Anda dapat menemukan banyak informasi tentang menggunakan F # dalam MonoDevelop di sini . Compiler F # dan fsi.exe sekarang menjadi bagian dari distribusi Mono.
Brian
sumber
1
Saya belum menemukan buku yang "harus dibaca" ketika membahas tentang pemrograman, oleh karena itu saya agak skeptis dengan rekomendasi buku semacam itu ...
HB
3
Bagaimana jika ini ditambahkan ke info tag? stackoverflow.com/tags/f%23/info
bytebuster
2
Jika itu dapat membantu, saya dan saya sendiri, menemukan bahwa saya menggunakan buku yang berbeda untuk tujuan yang berbeda. Pakar F # lebih sebagai referensi (bukan referensi murni) untuk mencari hal-hal, mulai F # sebagai buku budaya di mana saya selalu belajar sesuatu yang sangat berguna tidak peduli bab mana yang saya baca, bahkan hal-hal dasar, dan RWFP sebagai penutup pada subjek .
nicolas
3
Saya juga sangat merekomendasikan buku Jon Harrop. Benar-benar to the point, di sisi algo dengan hal-hal mendasar yang bagus. 0% limbah. Juga Jon suka noobie.
nicolas
1
@BB Saya pikir ada harus membaca, tetapi itu tidak cukup mendasar dan umum untuk memenuhi syarat IMHO
nicolas
31

Cara saya belajar F # adalah melalui 3 langkah berikut.

Pertama, saya membaca pengantar di situs web Try F # yang memberikan pengantar interaktif yang bagus (tapi ringan) pada sintaks dan gaya bahasa.

Selanjutnya, untuk mendapatkan rasa untuk benar-benar memecahkan masalah dalam bahasa, saya mulai memecahkan beberapa teka-teki di situs Project Euler . Saya memecahkan sekitar sepuluh masalah pertama dan setelah setiap masalah yang berhasil, saya mencari alternatif implementasi F # di sini . Ini memberi perasaan yang baik untuk bagaimana bekerja dengan urutan dan menggunakan rekursi dan umumnya menjadi nyaman dengan sintaksis.

Akhirnya, saya membaca panduan 30-point yang benar-benar bagus. Mengapa menggunakan F # di http://fsharpforfunandprofit.com/ . Ini akan membawa Anda selangkah demi selangkah melalui semua bagian utama dari bahasa yang menjelaskan bagaimana Anda bisa memanfaatkannya - dengan pandangan ke arah pengembang C #. Setelah itu saya mendorong Anda untuk mencari sumber daya lain di situs web, semuanya ditulis dengan sangat baik dan sangat berwawasan luas.

Setelah menyelesaikan langkah-langkah ini, Anda harus siap untuk mulai membuat proyek nyata di F #.

Morten Christiansen
sumber
3
Saya sangat suka rekomendasi Euler. Pemecahan masalah yang sebenarnya adalah (bagi saya) cara terbaik untuk benar-benar menggali. Juga fsharpforfunandprofit adalah sumber hebat yang saya temukan sangat membantu juga.
Ostkontentitan
Pada contoh proyek euler solusi untuk f # tampaknya bukan yang paling performant. Problem satu berkinerja lebih baik dengan: biarkan problem1 = [1..999] |> List.filter (fun x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Saya sarankan mengukur waktu solusi Anda dan yang disediakan. stackoverflow.com/questions/4528355/…
Ostkontentitan
Saya melakukan hal yang sama. Belajar sedikit bahasa / sintaks / cara berpikir dan pergi ke Project Euler.
Grzegorz Gierlik
24

Brian sudah menyusun daftar yang bagus, tapi saya dengan rendah hati menyerahkan sumbangan kecil saya sendiri ke ekosistem kaya materi pembelajaran F #, F # Koans - cara sederhana, menyenangkan, dan interaktif untuk mempelajari bahasa F # melalui pengujian.

Chris Marinos
sumber
2
+1 Ini adalah pengantar interaktif yang bagus untuk konsep dasar, menantikan beberapa koan tingkat lanjut.
79E09796
1
Terima kasih. Saya belajar banyak dari koan, dan saya benar-benar akan tertarik pada beberapa yang tingkat lanjut.
Tyler Smith