Come posso affrontare un progetto F # serio senza conoscenza C #?


11

Quindi, essenzialmente il progetto che desidero intraprendere è un editor SVG. Preferirei usare WPF perché allora posso sfruttare XAML per il layout della mia applicazione (quel designer è così elegante). Sfortunatamente, sto usando il framework .NET da pochi mesi e non ho ancora familiarità con la maggior parte dei nomi delle classi.

L'obiettivo era usare F # perché è un linguaggio di programmazione funzionale e la ricorsione di F # e le meravigliose operazioni di elenco combinate con le tuple funzioneranno bene per quello che sto cercando di ottenere. E l'obiettivo è usare .NET per via della sua vasta libreria di classi disponibili e documentate con esempi.

Ho già esaminato questa domanda. /software/3129/is-there-a-canonical-book-on-f Ma le risposte sono solo per F # in generale e supponiamo che tu conosca già C #, che non è particolarmente utile per me .

Il primo libro come risposta alla domanda di cui sopra era la programmazione funzionale del mondo reale: con esempi in F # e C #. Tuttavia, la recensione di Amazon a 3 stelle su questo libro, sebbene piuttosto dura e forse esagerata, illustra correttamente il mio problema.

Se sei interessato alla programmazione funzionale, ma non sei un C # che cerca di imparare F #, puoi tranquillamente saltare questo libro.

Ho cercato online esempi W # FP, ci sono vari frammenti di codice qua e là, ma nulla di sostanziale o dimostrativo viene utilizzato al di fuori di un singolo script di file .fsx, e niente di veramente a livello aziendale o almeno di livello professionale.

Quindi anche Microsoft non ha molti esempi su come fare cose .NET in F #. Gli esempi che ho trovato di solito sono solo funzionalità esclusive di F #. Dai un'occhiata alle sezioni base e avanzate di F # e scoprirai che sono colpevoli di insegnare solo la sintassi. Ad esempio, MSDN su WPF per la classe Line non ha esempi di codice in F #.

Quando scorri verso il basso la scheda di esempio del codice per F #, si dice semplicemente

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

Con così pochi esempi di codice disponibili, trovo difficile intraprendere questo progetto.

La mia domanda
apprezzerei l'aiuto per capire come dovrei affrontare questo progetto usando F # quando non conosco C # così bene.

Risposte:


10

Rompere il problema in due parti.

  1. Impara le basi di F # escludendo l'uso di WPF. Scopri come scrivere funzioni senza usare mutablese while statementse usare function composition. Una volta fatto questo, impara come utilizzare i mutabili per aggiornare lo stato.

  2. Scopri come usare WPF in F # leggendo Learning WPF tramite F #, e viceversa , di John Liao.

Se non riesci a trovare alcun codice che ti piace in F #, ricorda che F # è un discendente di OCaml, quindi Google per OCaml e SVG, e potresti trovare qualcosa di interessante. Sebbene F # non sia in grado di compilare OCaml, è molto vicino e non dovrebbe richiedere molto tempo per la conversione. Ho convertito una grande quantità di OCaml in F # e tutto è stato convertito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.