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

F# Discussion :

Nouvelle version de F# (1.9.7.8)


Sujet :

F#

  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 Nouvelle version de F# (1.9.7.8)
    Pour ceux qui ça intéresse, une mise à jour de F# vient d'être faite, en même temps que la Bêta 2 de Visual Studio 2010. Les détails se trouvent ici :
    http://blogs.msdn.com/dsyme/archive/...or-vs2008.aspx

    En bref :

    • Nouvelles contraintes "comparison" et "equality".

      Du coup, contrairement à Caml, le code "(fun x -> x) = (fun x -> x)" ne compile pas. Par conséquence, appeler List.sort sur une liste de records qui ont un champ non comparable échouera aussi (sauf si on a défini une fonction de comparaison ou si le type se compare de façon physique).
    • Support de Silverlight (intégré dans la release de F#)
    • Syntaxe simplifiée pour la surcharge de méthodes (plus de OverloadID à spécifier)
    • Chaque fichier (sauf le main) doit indiquer son nom de module ou namespace (au lieu de prendre le nom du fichier)
    • Toute la documentation F# est intégrée à MSDN
    • Diverses améliorations de la bibliothèque standard (simplification de l'asynchrone), qui est maintenant stable. Il n'y aura plus de renommages et autres incompatibilités.
    • Et plein d'autres choses (améliorations dans le système objet où des casts ne sont plus nécessaires, l'interopérabilité avec les autres langages a aussi été travaillée, de même que l'intégration dans Visual Studio et les messages d'erreur).

  2. #2
    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
    Toute la documentation F# est intégrée à MSDN
    C'est un très bon signal, parce que Microsoft ayant trop de technos pour les maintenir toutes indéfiniment, les entreprises ont souvent peur de miser sur le mauvais cheval et demandent des signes d'engagement à long terme.

    Une autre chose que les entreprises web-technos demandent c'est un projet de site commercial à forte visibilité, et là Scala a semble-t-il marqué plus de points avec Twitter et LinkedIn.

    Mon point de vue:
    • F# est vendu comme un langage fonctionnel qui s'intègre très bien au modèle objet de .Net, ça fonctionne mal parce qu'aucun programmeur C# ne veut se marginaliser en s'éloignant du paradigme dominant
    • Scala au contraire est vendu comme un super-langage à objets qui fait tout ce que fait Java/Ruby/Python mais en mieux, ça fonctionne mieux parce que le choc culturel est moins grand


    À mon avis le changement de paradigme ne peut se faire qu'accompagné d'un discours transitionnel. Au début il faut insister non pas sur la vraie nouveauté mais sur la liste de tous les apports superficiels, c'est ce que j'appelle l'argumentaire ++ qu'on pourrait résumer ainsi:
    C++ c'est comme le C mais avec les commentaires //
    C# c'est comme C++ mais avec une machine virtuelle
    C'est sur ce modèle qu'il faut bâtir les slogans qui vendront F# aux programmeurs C#. Il faut toujours dire qu'on fait mieux mais dans la continuité et pour ça il faut mettre en avant les nouveautés inconséquentes qui ne coûtent rien et remettre à plus tard la pédagogie sur ce qui dérange les habitudes établies.

    gorgonite semble penser que F# est vraiment fonctionnel tandis que Scala est plus POO. Je pense au contraire que seul Haskell est vraiment fonctionnel, et que tout le reste c'est de l'impératif avec un typage évolué. Il faut garder à l'esprit que ce qui succèdera à la POO ressemblera pendant encore longtemps à de la POO++ et ne pourra être accepté que comme tel.
    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.

  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 SpiceGuid Voir le message
    F# est vendu comme un langage fonctionnel qui s'intègre très bien au modèle objet de .Net, ça fonctionne mal parce qu'aucun programmeur C# ne veut se marginaliser en s'éloignant du paradigme dominant
    Ca fonctionne mal parce que F# est encore trop récent et trop expérimental. Si tu as écrit du code F# il y a un an, il ne compile plus à cause des nombreux changements dans le langage. C'est assez gênant pour qui veut faire un projet à long terme. Mais maintenant, tout se stabilise.

    Avec la première version stable de F# (22 mars 2010), la documentation MSDN qui donne des exemples en F#, la distribution de F# dans Visual Studio (sans installer de plugin à part), je pense que ça va changer pas mal de choses. Ce sera bien plus rassurant et le fait qu'il y ait une grande entreprise derrière ajoute du sérieux.

    Citation Envoyé par SpiceGuid Voir le message
    Scala au contraire est vendu comme un super-langage à objets qui fait tout ce que fait Java/Ruby/Python mais en mieux, ça fonctionne mieux parce que le choc culturel est moins grand
    Euh, je ne vois pas qui peut croire ce que tu décris. Pour moi, c'est peut-être Java en mieux, mais ce n'est nullement supérieur à Ruby. C'est un Java qui tend vers Ruby. Mais oui, c'est vrai, le choc culturel est probablement moins grand (parce que Ruby et Python sont plus connus que Caml).

    C'est sur ce modèle qu'il faut bâtir les slogans qui vendront F# aux programmeurs C#. Il faut toujours dire qu'on fait mieux mais dans la continuité et pour ça il faut mettre en avant les nouveautés inconséquentes qui ne coûtent rien et remettre à plus tard la pédagogie sur ce qui dérange les habitudes établies.

    Citation Envoyé par SpiceGuid Voir le message
    Je pense au contraire que seul Haskell est vraiment fonctionnel
    Parce que tu associes fonctionnel et pureté.

    Citation Envoyé par SpiceGuid Voir le message
    Il faut garder à l'esprit que ce qui succèdera à la POO ressemblera pendant encore longtemps à de la POO++ et ne pourra être accepté que comme tel.
    Je pense que c'est une bonne chose. La POO a apporté beaucoup de choses qu'il ne faut pas jeter, il construire au-dessus.

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    gorgonite semble penser que F# est vraiment fonctionnel tandis que Scala est plus POO. Je pense au contraire que seul Haskell est vraiment fonctionnel, et que tout le reste c'est de l'impératif avec un typage évolué. Il faut garder à l'esprit que ce qui succèdera à la POO ressemblera pendant encore longtemps à de la POO++ et ne pourra être accepté que comme tel.


    sympa de parler en mon nom, mais je suis encore capable d'exprimer mes idées si je le souhaite, et de manière plus précise
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    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
    Désolé, je n'ai pas cherché à exprimer maladroitement tes opinions, j'ai seulement maladroitement cherché à exprimer les miennes.

    Ce que je voulais dire c'est qu'il ne faut pas déplorer le fait que tel ou tel code Scala ressemble à du Java dopé aux types fonctionnels. Que c'est précisément la raison d'être de F# et Scala d'apporter des types fonctionnels en plus des types mutables habituels. Que le plus important c'est que ces nouveaux langages trouvent leur place pour qu'il y ait enfin d'autres styles possibles que la POO préformatée à la façon Java.
    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.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut Programmation fonctionnelle et C#.
    Jusqu'à récemment, je n'avais jamais entendu parler de programmation fonctionnelle. D'ailleurs, c'est avec un certain enthousiasme que j'ai découvert la définition de la programmation fonctionnelle, très instructive sur la différence entre fonctionnel et impératif, f# et c#.

    http://fr.wikipedia.org/wiki/Program..._fonctionnelle

    Microsoft a choisi de populariser le fonctionnel avec F# et l'initiative Scala dans le monde java qui connait un certain succès joue peut être un rôle dans cette décision de microsoft.

    De toute façon, c'est vrai que C# depuis le version 2.0 récupère des fonctionnalités issus du fonctionnel comme Linq par exemple. Le fonctionnel est donc dans l'air du temps...

    Pour les programmeurs issus de cursus informatique et formés à oCAML, l'apprentissage de F# sera probablement naturel, surtout si F# entre à l'université...

    Pour les autodidactes et les salariés formés par des stages de formation continue court,3 semaines ou 3 mois dans un centre de formation objet, il faudra un temps d'adaptation pour travailler avec F#. Répondre comme Tomas Petricek à la question "qu'apporte le fonctionnel aux entreprises ?" est à mon avis important pour des salariés qui pourront intégrer cet outil supplémentaire à leur quotidien du jour au lendemain en 2010.



    Yann.

Discussions similaires

  1. Formulaire de recherche prêt à l'emploi (nouvelle version)
    Par Darlay Jean_Louis dans le forum IHM
    Réponses: 2
    Dernier message: 24/11/2005, 12h29
  2. déclarer une nouvelle version de Tomcat
    Par keopsk dans le forum JBuilder
    Réponses: 9
    Dernier message: 02/07/2004, 23h28
  3. Réponses: 1
    Dernier message: 06/04/2004, 12h01
  4. Nouvelle version de MySql
    Par syannic dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 17/03/2003, 18h39

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