Làm cách nào để tiếp cận một dự án F # nghiêm túc mà không có kiến ​​thức về C #?


11

Vì vậy, về cơ bản, dự án tôi muốn thực hiện là một trình soạn thảo SVG. Tôi thích sử dụng WPF hơn vì sau đó tôi có thể tận dụng XAML cho bố cục ứng dụng của mình (nhà thiết kế đó rất tiện lợi). Thật không may, tôi chỉ mới sử dụng .NET framework được vài tháng và vẫn chưa quen với hầu hết các tên lớp.

Mục tiêu là sử dụng F # vì đây là ngôn ngữ lập trình chức năng và phép đệ quy và các hoạt động danh sách tuyệt vời của F # kết hợp với bộ dữ liệu sẽ hoạt động tốt cho những gì tôi đang cố gắng đạt được. Và mục tiêu là sử dụng .NET vì thư viện khổng lồ của các lớp có sẵn và được ghi lại bằng các ví dụ.

Tôi đã xem xét câu hỏi này . /software/3129/is-there-a-canonical-book-on-f Nhưng các câu trả lời chỉ dành cho F # nói chung và giả sử bạn đã biết C #, không đặc biệt hữu ích cho tôi .

Cuốn sách hàng đầu như một câu trả lời cho câu hỏi được tham chiếu ở trên là Lập trình chức năng trong thế giới thực: Với các ví dụ trong F # và C #. Tuy nhiên, bài đánh giá amazon 3 sao về cuốn sách này trong khi khá khắc nghiệt và có lẽ được phóng đại chính xác minh họa vấn đề của tôi.

Nếu bạn quan tâm đến lập trình chức năng, nhưng bạn không phải là C # muốn tìm hiểu F #, bạn có thể bỏ qua cuốn sách này một cách an toàn.

Tôi đã xem trực tuyến các ví dụ về WPF F #, có nhiều đoạn mã khác nhau ở đây và ở đó, nhưng không có gì đáng kể hoặc chứng minh nó được sử dụng bên ngoài một tập lệnh .fsx, và không có gì thực sự ở cấp độ doanh nghiệp hoặc thậm chí ít nhất là cấp chuyên nghiệp.

Vì vậy, ngay cả Microsoft cũng không thực sự có nhiều ví dụ về cách thực hiện công cụ .NET trong F #. Các ví dụ tôi đã tìm thấy thường chỉ có các tính năng duy nhất cho F #. Hãy xem các phần cơ bản và nâng cao của F # và bạn sẽ thấy họ có lỗi khi chỉ dạy cú pháp. Ví dụ: MSDN trên WPF cho lớp Line không có bất kỳ ví dụ mã nào trong F #.

Khi bạn cuộn xuống tab mẫu mã cho F #, nó chỉ nói

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

Với rất ít ví dụ mã có sẵn, tôi thấy khó thực hiện dự án này.

Câu hỏi của
tôi Tôi sẽ đánh giá cao sự giúp đỡ trong việc hiểu cách tôi nên tiếp cận dự án này bằng F # khi tôi không biết rõ về C #.

Câu trả lời:


10

Chia vấn đề thành hai phần.

  1. Tìm hiểu những điều cơ bản của F # bằng cách loại trừ việc sử dụng WPF. Tìm hiểu làm thế nào để viết các chức năng mà không sử dụng mutableswhile statementsvà sử dụng function composition. Một khi bạn đã hoàn thành việc này, hãy học cách sử dụng các biến thể để cập nhật trạng thái.

  2. Tìm hiểu cách sử dụng WPF trong F # bằng cách đọc Học WPF qua F # và ngược lại , bởi John Liao.

Nếu bạn không thể tìm thấy bất kỳ mã nào bạn thích trong F #, hãy nhớ rằng F # là hậu duệ của OCaml, vì vậy Google cho OCaml và SVG, và bạn có thể tìm thấy điều gì đó thú vị. Mặc dù F # không thể biên dịch OCaml, nhưng nó rất gần và không mất nhiều thời gian để chuyển đổi. Tôi đã chuyển đổi một lượng lớn OCaml sang F # và tất cả đều được chuyển đổi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.