CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[.NET] Apprendre Le F#

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
06 novembre 2010 à 18:08:41

Bonjour,

pour quelqu'un qui a connait très bien le C#, apprendre le F# m'apporte quoi? est ce que ça vaut le coup?

merci

dnob700
dnob700
Niveau 10
06 novembre 2010 à 18:36:37

ça t'enseigne un langage moderne. oui.

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
06 novembre 2010 à 18:51:17

C# n'est pas moderne? :(

isukthar
isukthar
Niveau 10
06 novembre 2010 à 19:12:47

C# est récent mais dans les concepts utilisés, il n'est pas spécialement moderne. F# (qui est une sorte de clone de Caml) apporte un certain nombre de concepts intéressants et peu répandus. Donc c'est toujours intéressant de voir plusieurs style de programmation.

A noter que F# est open source depuis hier.

dnob700
dnob700
Niveau 10
06 novembre 2010 à 20:41:06

"A noter que F# est open source depuis hier. "

C'est vrai. Et même si ça avait été promis au début de son développement, c'est quand même impressionnant pour un produit microsoft qui est distribué dans visual studio.

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
06 novembre 2010 à 21:40:55

apprendre F# ou ocaml est ce que ça revient au même?
F# n'est autre que ocaml utilisant le framework .net ?

dnob700
dnob700
Niveau 10
06 novembre 2010 à 22:34:19

non les langages sont quand même un peu différent : ocaml est plus "pur" et plus simple, plus efficace pour des programmes très fonctionnel (du à son GC optimisé pour ce genre de chose contrairement à celui de .NET qui n'est pas fait pour le taux d'allocation d'un programme fonctionnel). Par contre F# à un grand nombre de fonctionnalité qui ne sont pas dans Caml (de la surcharge, une représentation des valeur plus efficace pour faire du calcul numérique), sans compter l'accès à .NET.

Le cœur de ces deux langage est le même et apprendre l'un des deux permet d'apprendre l'autre assez rapidement.

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
07 novembre 2010 à 13:43:58

c'est décidé alors, merci :noel:

Aldebran
Aldebran
Niveau 10
07 novembre 2010 à 18:01:24

J'avais commencé à étudier un peu F#, j'avais trouvé ça très bien conçu et très intéressant comme langage, mais ça m'avait aussi plus l'air d'être un outil par et pour des universitaires que pour des industriels. Peut-être est-ce que je me trompe ?

tbol
tbol
Niveau 20
07 novembre 2010 à 22:58:20

La plupart des développements professionnels pour dotnet sont fait en C#, si F# c'est devenu open source c'est surtout parce que ça fait un bide.

Bref la majorité des développements dotnet sont fait en C#, ensuite en VB.NET ou en C++, le reste c'est microscopique.

Bref chacun à ses objectifs et ses gouts, mais si c'est pour trouver du boulot la majorité des offres pour dotnet c'est C#.

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
08 novembre 2010 à 09:25:20

c'est vrai, mais je voulais apprendre un nouveau style de programmation, une autre façon de concevoir mes progs :ok:

cependant j'ai fait un peu de recherche sur la toile et je pense que je vais apprendre haskell après je verrai pour F# :noel:

tbol
tbol
Niveau 20
09 novembre 2010 à 18:15:20

Tutoriel haskell : http://gorgonite.developpez.com/livres/traductions/haskell/gentle-haskell/

Jaden_Yuki_
Jaden_Yuki_
Niveau 7
09 novembre 2010 à 22:53:01

oui merci, j'ai déjà commencé à apprendre les bases. sinon je voulais savoir si j'ai bien fait de commencer par un langage fonctionnel pur?

saleGauss
saleGauss
Niveau 9
10 novembre 2010 à 19:11:46

C'est un très vaste sujet que de savoir par quel style de programmation débuter.

Tout le monde ou presque a son avis, et tout le monde avance des arguments convainquants.

Mon point de vue, de manière succinte (c'est rare, profitez en ! :d), c'est qu'il faut obligatoirement (j'allais dire impérativement) à un moment ou à un autre passer un moment à étudier un (bon) langage fonctionnel, et si possible le plus pur soit-il.
Et si possible, avant de se faire pourrir complètement la tête avec les langages objets, à mi chemin entre l'inexpressivité la plus totale pour des problèmes non antropomorphiques et le délire purement commercial.
(Mais bien sur, il faudra quand même regarder un langage objet à un moment, au moins pour comprendre les (pauvres) idées sous jacentes).

Après, quant à me prononcer entre commencer par un langage impératif ou un langage fonctionnel, je dirais que pour apprécier pleinement la beauté des langages fonctionnels, et l'abstraction qu'ils amènent, je pense qu'il est intéressant d'avoir vu avant des choses un peu moins sophistiquées, des choses un peu plus bas niveau, plus proche de la machine; et donc de commencer peut-être par un langage impératif.

Tu y utiliseras des pointeurs, tu y alloueras toi même ta mémoire, et tu verras qu'il y a un fossé entre un type abstrait algébrique et les possibilités de création de type offertes par ce genre de langage.

Alors, en découvrant un langage fonctionnel, tu verras comment des considérations d'un peu plus haut niveau peuvent permettent de représenter des choses qu'il était peu naturel de représenter avec des langages impératifs.

dnob700
dnob700
Niveau 10
10 novembre 2010 à 21:33:37

"La plupart des développements professionnels pour dotnet sont fait en C#, si F# c'est devenu open source c'est surtout parce que ça fait un bide. "

Il est possible que ça fasse un bide, mais il est quand même beaucoup trop tôt pour le dire. F# est sorti il y a tout juste 6 mois (avec Visual Studio 2010, avant c'était seulement un projet de recherche de microsoft). Si ça marche, on ne le verra que dans des années.

Aldebran
Aldebran
Niveau 10
14 novembre 2010 à 18:22:33

"Il est possible que ça fasse un bide, mais il est quand même beaucoup trop tôt pour le dire. F# est sorti il y a tout juste 6 mois (avec Visual Studio 2010, avant c'était seulement un projet de recherche de microsoft). Si ça marche, on ne le verra que dans des années."

La grande question pour savoir si ça va marcher ou non est : est-ce que les industriels vont le préférer aux langages C# et VB.Net ou pas ?
Et le choix que feront les industriels reposera principalement sur la rapidité et le coût de développement d'une application, mais pour l'instant, il est souvent plus rapide de concevoir quelque chose avec un langage objet qu'avec un langage fonctionnel. De plus former des programmeurs expérimentés et efficaces en C++/Java/C# à un nouveau paradigme pour lequel ils seront débutants, ça a un coût non négligeable en temps et en argent).
Si les universités décident de former des étudiants à OCaml ou F# et que le développement et la maintenance d'application s'avère plus rapide dans ces langages, alors peut-être que les industries adopteront ces nouveaux langages, mais pour l'instant je doute qu'elles le fasse.

dnob700
dnob700
Niveau 10
14 novembre 2010 à 21:46:43

"pour l'instant, il est souvent plus rapide de concevoir quelque chose avec un langage objet qu'avec un langage fonctionnel"

Je me demande bien d'où tu tire ça... En tout cas probablement pas de ton expérience personnel (je me trompe ?) si tu as effectué des proets d'une certaines envergure dans ces deux paradigmes, ni de l'expérience d'entreprise qui auraient elles aussi essayées les langes fonctionnelles.

Il y en a peu, mais les rares entreprises qui font l'essai des langages fonctionnels ne probablement jamais en arrière. Deux exemples dans le monde OCaml (mais il y en a certainement d'autre et aussi dans le monde Haskell, etc.) :
http://www.janestcapital.com/technology/ocaml.php
http://www.lexifi.com/technology/ocaml

Pour te citer, "le développement et la maintenance d'application *s'avèrent* plus rapide dans ces langages" (l'emphase est de moi).

La question de la formation est effectivement un problème. Les deux boites ci-dessus font de la finance et peuvent se permettre d'embaucher des chercheurs et/ou de former eux même leur programmeurs aux langages fonctionnels (généralement bien plus couteux (les programmeurs) que pour des langages objets par exemple). Mais les FAC forment aux langages fonctionnels, si ces formations prennent un côté un peu plus industrielle, il n'y aura pas de problème pour les industries pour recruter des programmeurs.

isukthar
isukthar
Niveau 10
14 novembre 2010 à 22:15:27

Les entreprises sont encore trop peu nombreuses à s'intéresser à ce genre de langage. Sur mes 5 années de fac, j'ai fait du Caml pendant presque 4 ans et au final ça fait sourire certains recruteurs quand je mentionne Caml sur mon CV.

godrik
godrik
Niveau 30
15 novembre 2010 à 17:13:54

Je sais, je suis moderateur et je ne devrais pas troller...

Mais les langages fonctionnel c'est un truc de matheux. Et 90% des developpeurs sur le marcher c'est des billes en maths. Le nombre de fois que j'ai entendu des conneries comme "ca monte et ca descend alors ca doit etre un sinus" de developpeur dans l'industrie est impressionnant.
Une grand majorite de developpeur ne comprennent rien a rien et font la plupart de leur developpement par copier/coller/bidouillage jusqu'a ce que ca marche. Et apres ils font des legos, il y a deux boites noires et on les branche ensemble. vous m'voyez!

</troll>

PS: J'ai rencontrer des gens tres bien aussi, hein... Mais il y a une proportion non negligeable de boulet.

Aldebran
Aldebran
Niveau 10
15 novembre 2010 à 17:47:02

"Je me demande bien d'où tu tire ça... En tout cas probablement pas de ton expérience personnel (je me trompe ?) si tu as effectué des proets d'une certaines envergure dans ces deux paradigmes, ni de l'expérience d'entreprise qui auraient elles aussi essayées les langes fonctionnelles."

Je tire ça d'une observation toute simple : à l'université j'ai suivi un cours de langage objet (Java), et un cours qui nous faisait travailler sur Prolog et Scheme, et globalement les étudiants concevaient des applications impressionnantes en Java avec un temps d'apprentissage très court tandis qu'ils galéraient en Scheme à concevoir de tout petits bouts de code (et ils avaient souvent cette expression à la bouche "putain mais pourquoi on peut pas utiliser une boucle for ça serait vachement plus simple").

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment