IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages fonctionnels Discussion :

Debat F# vs OCaml


Sujet :

Langages fonctionnels

  1. #1
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    F# possède un certain nombre d'outils pour faire du parrallèlisme et je le trouve beaucoup plus agréable qu'OCaml sur ce point-là.

    Jon Harrop évoque une façon possible dans ce message et compare avec OCaml : http://groups.google.com/group/fa.ca...a635a4e876f167

    Si tu travailles sous Windows, je te recommande très fortement F# (d'ailleurs, je ne suis pas sûr que la fonction fork ait été portée sous Windows).
    Si tu es sous Unix, je ne sais pas si tout marche parfaitement sous Mono ; à tester, mais je pense que c'est bon.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    John Harrop a une capacité trollifique qui fait que ce n'est pas une bonne source. Je ne dis pas que tout ce qu'il dit est faux (et il est très certainement beaucoup plus compétent que moi dans la plupart des domaines, y compris évidemment la concurrence et le parallélisme), mais le fait qu'il a changé d'avis assez radicalement à partir du moment où il s'est mis à vendre des produits F# au lieu de faire seulement du OCaml devrait faire comprendre qu'il est bon de ne pas écouter que lui.

    Ceci dit, en l'état actuel des choses, je veux bien croire que le parallélisme est plus sexy sous F# qu'en OCaml. Après, on peut probablement faire des choses assez chouettes avec Jocaml aussi.

  3. #3
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par bluestorm Voir le message
    John Harrop a une capacité trollifique qui fait que ce n'est pas une bonne source. Je ne dis pas que tout ce qu'il dit est faux (et il est très certainement beaucoup plus compétent que moi dans la plupart des domaines, y compris évidemment la concurrence et le parallélisme), mais le fait qu'il a changé d'avis assez radicalement à partir du moment où il s'est mis à vendre des produits F# au lieu de faire seulement du OCaml devrait faire comprendre qu'il est bon de ne pas écouter que lui.
    S'il est passé à F#, ce n'est pas sans raison, non ? Son avis me semble assez pertinent, justement parce qu'il utilise encore les deux langages (et critique occasionnellement F#). Bien sûr, ce n'est qu'un avis parmi tant d'autres.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Citation Envoyé par llb
    S'il est passé à F#, ce n'est pas sans raison, non ?
    Absolument. Je pense qu'il est passé à F# parce qu'il a compris que c'est beaucoup plus facile de gagner de l'argent là-bas qu'en faisant directement du OCaml. Il est clairement tout à fait compétent en OCaml et dans d'autres domaines (surtout les calculs numériques si j'ai bien compris) mais le OCamlien moyen n'est pas vraiment du genre à acheter ses produits (des journaux payants avec des trucs sur OCaml, des bibliothèques graphiques propriétaires, c'est pas vraiment le genre de truc qui allèche les post-doc qui font du Coq toute la journée, en pratique).

    Par contre, le monde du .NET est plein de gogos qui sont prêts à mettre plein d'argent dans n'importe quoi qui 'enlarge your C# skillz', et depuis que tout le monde fait tout un raffût sur les nouveaux langages fonctionnels trop bien (ce qui est tout à fait justifié, pour quelqu'un qui n'a fait que du Java puis du C# toute sa vie, F# c'est effectivement trop bien, en plus c'est soutenu par MS donc c'est plus facile de convaincre monsieur le manager obtus), et bien il y a un marché fantastique. Tu n'as pas vu la multiplication des billets "j'ai appris F# il y a deux jours, je suis tout fier et voici mon code dégoutant" sur le net depuis quelques temps ?

    Il y a un marché, Harrop l'a bien senti, et il s'est positionné de manière stratégique.

    Peut-être qu'il aime aussi la syntaxe #light (qui est relativement pas mal, j'ai pas encore vraiment comparé par rapport à The Whitespace Thing, mais ça a une odeur de fraîcheur pas désagréable, même si en pratique c'est un détail complètement mineur), et les facilités de F# pour le parallélisme (ce qui encore une fois peut se comprendre vu son background de calcul numérique, même si en pratique le vrai calcul numérique ne se fait ni en OCaml ni en F#, et pas sur un multicore mais plutôt sur des clusters où les jouets de .NET ne servent plus à grand chose). Je ne l'ai jamais vu vanter les possibilités apportées par le framework .NET, mais encore une fois c'est une possibilité.

    Mais si tu veux mon avis, ce genre de machins il s'en fout pas mal, et s'il a fait ce choix c'est pour des raisons purement économiques. Je ne dis pas que c'est mal, il vit de ce qu'il fait, et il le fait assez intelligemment (ne serait-ce que dans sa capacité à infester et lancer des trolls subtils sur toutes les mailing-list aux environs, en en profitant pour glisser des liens vers ses produits), mais de là à le montrer en switcheur exemplaire (dans le sens "purement intéressé par la beauté intérieure du langage de programmation") au point de vue objectif (je ne dis pas que c'est ce que tu fais, mais que c'est ce qu'on ne devrait pas faire), c'est un peu gros.

  5. #5
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Je suis d'accord sur l'ensemble du message.

    Citation Envoyé par bluestorm Voir le message
    Peut-être qu'il aime aussi la syntaxe #light (qui est relativement pas mal, j'ai pas encore vraiment comparé par rapport à The Whitespace Thing, mais ça a une odeur de fraîcheur pas désagréable, même si en pratique c'est un détail complètement mineur)
    Il y a pas mal de ressemblances.

    Une différence quand même : TWT permet de supprimer des parenthèses comme dans cet exemple (F# ne touche pas au parenthésage - il se limite aux blocs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    let list_out lst =
     List.map
      function Some x -> x
      List.filter
       function Some x -> true | None -> false
       lst
    En F#, on écrit ce code exactement comme en Caml, en ajoutant 3 paires de parenthèses. En pratique, on utiliserait juste un opérateur pour combiner map et filter, et se passer ainsi d'une paire de parenthèses.

    Il y a d'autres différences, mais rien de très important (j'ai pas testé TWT, j'ai juste lu la page).


    Il y a quand même un truc : TWT est une extension non standard de Caml. Je pense qu'à cause de ça, elle reste peu utilisée (à l'opposé du mode #light de F# que presque tout le monde utilise). La page indique que les numéros de ligne sont conservés pour les messages d'erreurs, mais je suppose que les colonnes deviennent fausses. Le mode interactif n'est pas disponible pour TWT, ce qui est assez gênant.

    Comme pour de nombreuses extensions Camlp4, l'idée est très intéressante, mais je ne suis pas sûr que ce soit très utilisé (ce qui est dommage).

    Comme tu l'as dit, pour ce point, c'est relativement du détail.

  6. #6
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Juste pour préciser une chose...

    Je ne pense pas que ce mec se soit orienté tout seul vers F#. C'est pas la première fois que Microsoft achète des noms faisant autorité dans le monde de l'informatique : le premier exemple me venant à l'esprit est celui du concepteur d'Eiffel (j'ai son nom sur la pointe de la langue...). Pendant des années, ce mec a emmerdé la planète entière avec son langage QU'IL EST TROP BIEN, et maintenant, il vaut plus rien ! Fini ! Eiffel, c'est de la grosse merde ! Il faut faire du C# !

    Non, c'est pas la première fois qu'on nous sert ce genre de choses.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  7. #7
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Bertrand Meyer (http://www.eiffel.com/)
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  8. #8
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    Je ne pense pas que ce mec se soit orienté tout seul vers F#.
    Il n'est pas embauché par MS Research. Ca fait longtemps qu'il utilise Caml et il a souvent testé/comparé d'autres langages proches (plus explication de Bluestorm).

    Citation Envoyé par InOCamlWeTrust Voir le message
    C'est pas la première fois que Microsoft achète des noms faisant autorité dans le monde de l'informatique
    Bien sûr, MS, comme Google et d'autres, embauche des gens assez connus dans leur domaine. Tu peux trouver plein d'autres exemples (développeurs Haskell, Tony Hoare, etc.). Mais je ne vois pas bien le rapport avec le reste du thread.

  9. #9
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Bertrand Meyer (http://www.eiffel.com/)
    Ouais, voilà, merci.

    Citation Envoyé par LLB
    Il n'est pas embauché par MS Research.
    Pas la peine d'être embauché : il suffit d'être sponsorisé.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  10. #10
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Ça fait des années qu'il s'intéresse à F# (j'ai retrouvé un de ses messages en 2004). Crois-tu vraiment que Microsoft ait pu le payer, alors que le langage n'était pas mature et qu'il y avait juste 2 développeurs dans le projet ? Si Microsoft avait considéré F# comme suffisamment important, il aurait été plus utile d'embaucher des personnes.

    Tu remarqueras aussi que J. Harrop fait de temps en temps des critiques sur F# (la flemme de retrouver les messages, mais il a vanté les avantages de Caml plus d'une fois). Bref, j'adhère beaucoup plus au point de vue de Bluestorm, le marché .Net est plus porteur que celui de Caml.

Discussions similaires

  1. Réponses: 26
    Dernier message: 11/08/2013, 19h27
  2. Débat sur les outils de développement RAD.
    Par PsychicStorm dans le forum Débats sur le développement - Le Best Of
    Réponses: 20
    Dernier message: 20/08/2003, 11h29
  3. [DEBAT] Cadre ou Technicien ?
    Par Maître Kenobi dans le forum Emploi
    Réponses: 50
    Dernier message: 05/06/2003, 23h19
  4. [DEBAT]Différence entre pme et grande entreprise
    Par dante2002 dans le forum Emploi
    Réponses: 6
    Dernier message: 02/06/2003, 17h20
  5. Réponses: 13
    Dernier message: 11/05/2003, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo