Premiers pas avec F # [fermé]

139

Comment puis-je entrer dans la programmation F #?

Quels sont quelques bons exemples de démarrage pour apprendre la langue ou découvrir certains de ses avantages par rapport à d'autres langues?

De quels outils ai-je besoin (par exemple Windows, Visual Studio, ...)?

Brian
la source
4
Avec 120 voix, cette question devrait-elle être rouverte? Il fournit de bonnes réponses à une bonne question qui a été lue plusieurs fois.
lance le

Réponses:

137

Le point d'entrée officiel est ici: Microsoft F # Developer Center

Pour un avant-goût rapide, pensez à essayer F # dans votre navigateur (Silverlight). (contient des procédures pas à pas du tutoriel interactif)

Commencez par regarder des vidéos et des présentations (BTW, An Introduction to Microsoft F # par Luca Bolognese est toujours l'une des meilleures présentations sur le sujet). Ensuite, lisez les deux livres à lire absolument:

et en plus de ça ...

Liens rapides

Communauté

Questions et réponses

Bloguer / publier

Groupes Meetup

Vidéos

Autres livres

Outils nécessaires

Visual Studio:

  • F # est intégré aux éditions professionnelles de VS2010 et VS2012.
  • F # est disponible en tant que composant complémentaire de Visual Studio 2012 Express pour le Web.
  • Vous pouvez également installer le shell intégré VS2010 ( téléchargement gratuit ). Ensuite, installez le CTP MSI , pour une version VS2010 gratuite de F # 2.0.

MonoDevelop:

  • Vous pouvez trouver de nombreuses informations sur l'utilisation de F # dans MonoDevelop ici . Le compilateur F # et fsi.exe font désormais partie de la distribution Mono.
Brian
la source
1
Je n'ai pas encore rencontré de livre "à lire absolument" en matière de programmation, donc je suis plutôt sceptique quant à ces recommandations de livres ...
HB
3
Et si cela était ajouté aux informations de balise? stackoverflow.com/tags/f%23/info
bytebuster
2
Si cela peut aider, moi et moi-même avons constaté que j'utilise différents livres à des fins différentes. Expert F # plus comme une référence (pas une pure référence cependant) pour rechercher des choses, commençant F # comme un livre de culture où j'apprends toujours quelque chose de très utile quel que soit le chapitre que je lis, même des choses de base, et RWFP en guise de conclusion sur un sujet .
nicolas
3
Je recommande vivement le livre de Jon Harrop aussi. Vraiment au point, du côté de l'algo avec de belles choses fondamentales. 0% de déchets. Jon aime aussi noobie.
nicolas
1
@HB Je pense qu'il y a des incontournables à lire, mais ceux-ci ne sont pas assez fondamentaux et généraux pour qualifier IMHO
nicolas
31

La façon dont j'ai appris F # était de passer par les 3 étapes suivantes.

Tout d'abord, j'ai parcouru l'introduction sur le site Web Try F # qui donne une bonne (mais légère) introduction interactive à la syntaxe et au style du langage.

Ensuite, pour avoir une idée de la résolution des problèmes dans la langue, j'ai commencé à résoudre certaines des énigmes sur le site de Project Euler . J'ai résolu les dix premiers problèmes et après chaque problème réussi, j'ai recherché une implémentation F # alternative ici . Cela a donné une bonne idée de la façon de travailler avec des séquences et d'utiliser la récursivité et de se familiariser généralement avec la syntaxe.

Enfin, j'ai lu l'excellent guide en 30 points Pourquoi utiliser F # sur http://fsharpforfunandprofit.com/ . Il vous guide pas à pas à travers toutes les principales parties du langage en décrivant comment vous pouvez en tirer parti - avec un œil sur les développeurs C #. Après cela, je vous encourage à chercher d'autres ressources sur le site Web, elles sont toutes très bien rédigées et très perspicaces.

Après avoir terminé ces étapes, vous devriez être prêt à commencer à créer un vrai projet en F #.

Morten Christiansen
la source
3
J'aime beaucoup la recommandation Euler. La résolution de problèmes réels est (pour moi) la meilleure façon de vraiment creuser. Fsharpforfunandprofit est également une excellente source que j'ai trouvée vraiment utile.
Ostkontentitan
Sur l'exemple de projet euler, les solutions pour f # ne semblent pas être les plus performantes. Le problème 1 fonctionne beaucoup mieux avec: let problem1 = [1..999] |> List.filter (fun x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Je suggérerais de mesurer le temps de votre solution et celles fournies. stackoverflow.com/questions/4528355/…
Ostkontentitan
J'ai fait la même chose. J'ai appris un peu de langage / syntaxe / façon de penser et je suis allé au projet Euler.
Grzegorz Gierlik
24

Brian a déjà dressé une excellente liste, mais je soumets humblement ma propre petite contribution au riche écosystème de matériel d'apprentissage F #, les F # Koans - une façon simple, amusante et interactive d'apprendre le langage F # à travers des tests.

Chris Marinos
la source
2
+1 Ceci est une excellente introduction interactive aux concepts de base, dans l'attente de certains koans de niveau avancé.
79E09796
1
Je vous remercie. J'ai beaucoup appris des koans, et je serais totalement intéressé par certains de niveau avancé.
Tyler Smith