Як мені підійти до серйозного проекту F # без знань C #?


11

Отже, по суті проект, який я хочу здійснити, - це редактор SVG. Я вважаю за краще використовувати WPF, тому що тоді я можу використовувати XAML для моєї програми програми (цей дизайнер настільки чудовий). На жаль, я використовую рамку .NET лише кілька місяців, і досі не знайомий з більшістю імен класів.

Метою було використання F #, оскільки це функціональна мова програмування, а рекурсія F # та чудові операції зі списком у поєднанні з кортежами добре працюватимуть для того, що я намагаюся досягти. І мета полягає у використанні .NET через його величезну бібліотеку доступних та задокументованих класів із прикладами.

Я вже розглядав це питання. /software/3129/is-there-a-canonical-book-on-f Але відповіді стосуються лише F # загалом і припускаю, що ви вже знаєте C #, що не особливо корисно для мене .

Головною книжкою як відповідь на вищезазначене питання було функціональне програмування в реальному світі: з прикладами на F # і C #. Однак 3-зірковий огляд амазонки на цю книгу, хоча досить суворий і, можливо, перебільшений, правильно ілюструє мою проблему.

Якщо ви зацікавлені в функціональному програмуванні, але ви не C #, який хоче вивчити F #, можете сміливо пропустити цю книгу.

Я подивився в Інтернеті на приклади WPF F #, тут і там є різні фрагменти коду, але нічого істотного або демонструючого, що він не використовується за межами одного файлу.

Тож навіть у Microsoft насправді не так багато прикладів, як робити .NET речі у F #. Я знайшов приклади, як правило, лише функції, унікальні для F #. Погляньте на основні та розширені розділи F #, і ви побачите, що вони винні лише у навчанні синтаксису. Наприклад, MSDN на WPF для класу Line не містить прикладів коду у F #.

Коли ви прокручуєте вкладку зразка коду для F #, вона просто говорить

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

Маючи так мало доступних прикладів коду, мені важко здійснити цей проект.

Моє запитання,
я би вдячний допомогти зрозуміти, як я повинен підходити до цього проекту, використовуючи F #, коли я не знаю C # все так добре.

Відповіді:


10

Розбийте проблему на дві частини.

  1. Вивчіть основи F #, виключаючи використання WPF. Дізнайтеся , як писати функції без використання mutablesі while statementsта використання function composition. Після цього дізнайтеся, як використовувати мутанти для оновлення стану.

  2. Дізнайтеся, як використовувати WPF у F #, прочитавши « Навчання WPF через F #» та навпаки , від Джона Ляо.

Якщо ви не можете знайти жодного коду, який вам подобається у F #, пам’ятайте, що F # є нащадком OCaml, тому Google для OCaml та SVG, і ви можете знайти щось цікаве. Хоча F # не може компілювати OCaml, він дуже близький і не повинен займати багато часу для перетворення. Я перетворив велику кількість OCaml у F # і все це перетворив.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.