Comment aborder un projet F # sérieux sans connaissance de C #?


11

Donc, essentiellement, le projet que je souhaite entreprendre est un éditeur SVG. Je préférerais utiliser WPF car je pourrai alors utiliser XAML pour la mise en page de mon application (ce concepteur est tellement astucieux). Malheureusement, je n'utilise le framework .NET que depuis quelques mois et je ne connais pas encore la plupart des noms de classe.

Le but était d'utiliser F # car c'est un langage de programmation fonctionnel et la récursivité de F # et les merveilleuses opérations de liste combinées avec des tuples fonctionneront bien pour ce que j'essaie de réaliser. Et l'objectif est d'utiliser .NET en raison de son énorme bibliothèque de classes disponibles et documentées avec des exemples.

J'ai déjà examiné cette question. /software/3129/is-there-a-canonical-book-on-f Mais les réponses sont juste pour F # en général et supposent que vous connaissez déjà C #, ce qui n'est pas particulièrement utile pour moi .

Le livre supérieur comme réponse à la question référencée ci-dessus était Programmation fonctionnelle du monde réel: avec des exemples en F # et C #. Cependant, la critique amazonienne 3 étoiles sur ce livre, bien que assez dure et peut-être exagérée, illustre correctement mon problème.

Si vous êtes intéressé par la programmation fonctionnelle, mais que vous n'êtes pas un C # qui cherche à apprendre le F #, vous pouvez sauter ce livre en toute sécurité.

J'ai consulté en ligne des exemples de WPF F #, il y a divers extraits de code ici et là, mais rien de substantiel ou de démonstration qu'il est utilisé en dehors d'un script de fichier unique .fsx, et rien de vraiment de niveau entreprise ou même au moins de qualité professionnelle.

Donc, même Microsoft n'a pas vraiment beaucoup d'exemples sur la façon de faire des choses .NET en F #. Les exemples que j'ai trouvés ne sont généralement que des fonctionnalités uniques à F #. Jetez un oeil aux sections de base et avancées de F #, et vous constaterez qu'ils sont coupables de n'enseigner que la syntaxe. Par exemple, le MSDN sur WPF pour la classe Line n'a pas d'exemples de code en F #.

Lorsque vous faites défiler l'onglet exemple de code pour F #, il dit simplement

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

Avec si peu d'exemples de code disponibles, j'ai du mal à entreprendre ce projet.

Ma question
j'apprécierais de l'aide pour comprendre comment je devrais aborder ce projet en utilisant F # quand je ne connais pas très bien C #.

Réponses:


10

Divisez le problème en deux parties.

  1. Apprenez les bases de F # en excluant l'utilisation de WPF. Apprenez à écrire des fonctions sans utiliser mutableset while statementset utiliser function composition. Une fois que vous avez terminé, découvrez comment utiliser les mutables pour mettre à jour l'état.

  2. Apprenez à utiliser WPF en F # en lisant Learning WPF through F #, et vice versa , par John Liao.

Si vous ne trouvez aucun code que vous aimez dans F #, n'oubliez pas que F # est un descendant d'OCaml, donc Google pour OCaml et SVG, et vous pourriez trouver quelque chose d'intéressant. Bien que F # ne puisse pas compiler OCaml, il est très proche et sa conversion ne devrait pas prendre beaucoup de temps. J'ai converti une grande quantité d'OCaml en F # et tout cela a été converti.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.