Bagaimana cara saya mendekati proyek F # yang serius tanpa pengetahuan C #?

11

Jadi, pada dasarnya proyek yang ingin saya lakukan adalah editor SVG. Saya lebih suka menggunakan WPF karena saya dapat memanfaatkan XAML untuk tata letak aplikasi saya (desainer itu sangat bagus). Sayangnya, saya hanya menggunakan .NET framework hanya beberapa bulan, dan saya masih tidak terbiasa dengan sebagian besar nama kelas.

Tujuannya adalah untuk menggunakan F # karena itu adalah bahasa pemrograman fungsional dan rekursi F # dan operasi daftar yang luar biasa dikombinasikan dengan tuple akan bekerja dengan baik untuk apa yang saya coba capai. Dan tujuannya adalah untuk menggunakan. NET karena perpustakaannya yang luas tersedia dan didokumentasikan kelas dengan contoh.

Saya sudah melihat pertanyaan ini . /software/3129/is-there-a-canonical-book-on-f Tetapi jawabannya hanya untuk F # secara umum dan menganggap Anda sudah tahu C #, yang tidak terlalu berguna bagi saya .

Buku teratas sebagai jawaban untuk pertanyaan yang dirujuk di atas adalah Pemrograman Fungsional Dunia Nyata: Dengan Contoh dalam F # dan C #. Namun, review bintang 3 amazon pada buku ini sementara cukup keras dan mungkin dibesar-besarkan dengan benar menggambarkan masalah saya.

Jika Anda tertarik pada pemrograman fungsional, tetapi Anda bukan seorang C # yang ingin belajar F #, Anda dapat melewati buku ini dengan aman.

Saya telah melihat online untuk WPF F # contoh, ada berbagai potongan kode di sana-sini, tetapi tidak ada yang substansial atau menunjukkan itu digunakan di luar skrip file tunggal .fsx, dan tidak ada yang benar-benar tingkat perusahaan atau bahkan setidaknya kelas profesional.

Jadi, bahkan Microsoft tidak memiliki banyak contoh tentang cara melakukan .NET stuff di F #. Contoh yang saya temukan biasanya hanya fitur unik untuk F #. Lihatlah bagian dasar dan lanjutan F #, dan Anda akan menemukan bahwa mereka bersalah karena hanya mengajarkan sintaksis. Misalnya, MSDN di WPF untuk kelas Line tidak memiliki contoh kode apa pun di F #.

Ketika Anda menggulir ke bawah tab contoh kode untuk F # itu hanya mengatakan

No code example is currently available or this language may not be supported.

Dengan begitu sedikit contoh kode yang tersedia, saya kesulitan menjalankan proyek ini.

Pertanyaan
saya saya akan sangat menghargai bantuan dengan memahami bagaimana saya harus mendekati proyek ini menggunakan F # ketika saya tidak tahu C # dengan baik.

Alexander Ryan Baggett
sumber

Jawaban:

10

Pecahkan masalah menjadi dua bagian.

  1. Pelajari dasar-dasar F # dengan mengecualikan penggunaan WPF. Pelajari cara menulis fungsi tanpa menggunakan mutablesdan while statementsdan menggunakan function composition. Setelah ini selesai, pelajari cara memanfaatkan mutables untuk memperbarui status.

  2. Pelajari cara menggunakan WPF dalam F # dengan membaca Belajar WPF melalui F #, dan sebaliknya , oleh John Liao.

Jika Anda tidak dapat menemukan kode yang Anda sukai di F #, ingatlah bahwa F # adalah turunan dari OCaml jadi Google untuk OCaml dan SVG, dan Anda mungkin menemukan sesuatu yang menarik. Meskipun F # tidak dapat mengkompilasi OCaml, ia sangat dekat dan tidak perlu banyak waktu untuk dikonversi. Saya mengonversi OCaml ke F # dalam jumlah besar dan semuanya dikonversi.

Guy Coder
sumber