Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Derniers journaux de Vivi :

Journal : histoires de typage

Posté par Vivi (page perso, ) le 10 mai 2004
y'a tout un thread sur le sempiternel "débat" typage dynamique vs. statique dans fr.comp.lang.general . Ça ressort tous les quelques mois, la dernière fois c'était cross-posté sur comp.lang.functional, comp.lang.lisp et comp.object (il était terrible celui là !).

C'est sympa pour récolter des citations marrantes :

« Dire qu'un langage est typé parce qu'il est typé dynamiquement, c'est un peu comme dire qu'une voiture offre une assistance au freinage parce qu'elle a une pédale de frein. »

Excellent !

> Lire le journal (4 commentaires, moyenne: 3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Cool ca

Posté par Jerome Herman () le 10/05/2004 à 14:05. (lien). Évalué à 3.

Dire qu'un langage est typé parce qu'il est typé dynamiquement, c'est un peu comme dire qu'une voiture offre une assistance au freinage parce qu'elle a une pédale de frein.

Ca veut dire qu'on ne peut pas considerer Caml comme typé ?
Ehhh ben...

Le premier qui trouve une analogie du même type pour démontrer que Small Talk n'est pas objet gagne toute mon estime. Allez-y

Kha

--
Kha
root est un privilège, pas un droit !
  • [^]Re: Cool ca

    Posté par Vivi (page perso, ) le 10/05/2004 à 15:09. (lien). Évalué à 3.

    bah non puisque caml est statiquement typé.

    démontrer que Small Talk n'est pas objet

    bah, c'est sûrement possible vu le nombre de définitions possible de l'objet :)

    • [^]Re: Cool ca

      Posté par Jerome Herman () le 10/05/2004 à 16:36. (lien). Évalué à 2.

      bah non puisque caml est statiquement typé

      Euh... CAML est très fortement typé, mais cela ne l'empèche absolument pas de determiner le type a l'execution. Soit ma définition de typage dynamique est mauvaise, soit il suffit de faire mumuse 10 secondes avec les outils de patterns matching de Caml (notament les listes et les exceptions) que l'on peut parfaitement creer des fonctions qui accepte x valeurs de n'importe quel type a condition que les x valeurs soient du même type.

      Si j'ai faux quelque part dites le moi, je bosse très rarement avec des langages fortements typés, mais la terminologie et les définitions m'interressent au plus haut point.

      Kha

      --
      Kha
      root est un privilège, pas un droit !
      • [^]Re: Cool ca

        Posté par Vivi (page perso, ) le 10/05/2004 à 17:05. (lien). Évalué à 4.

        Caml est fortement et statiquement typé. Cela lui permet d'oublier presque totalement les types des valeurs lors de l'exécution. Presque, parce qu'il reste un peu d'information pour que le runtime (notamment le garbage collector) puisse s'y retrouver.

        Quant tu dis 'faire mumuse 10 secondes' j'ai l'impression que tu parles du toplevel (aka interpréteur, aka REPL). Le toplevel fonctionne en fait comme un compilateur incrémentiel : quand tu tapes un truc dedans, c'est parsé, typé puis évalué. Le toplevel garde les informations de types pour les entrées suivantes mais lors de la phase d'évaluation tout se passe comme pour les programmes compilés, il n'y a pas d'information de type utilisée à l'exécution.

        Sinon tu parles peut-être du polymorphisme paramétrique. Typage statique n'est pas du tout incompatible avec polymorphisme paramétrique (ie les valeurs du genre 'une liste de n'importe quoi'). On peut travailler aved une telle liste (compter ses éléments, extraire des éléments, etc.) mais on ne peut rien faire avec les éléments eux-mêmes car on ne possède aucune information à leur sujet.

Revenir en haut de page