accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Typage (était : Re: ruby et genie logiciel)

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.ruby ] 

Retour : Accueil du site fr comp lang ruby  


  Sujet:   Re: Typage (était : Re: ruby et genie logiciel)  
 De: bruno.42.desthuilli...@wtf.websiteburo.oops.com (Bruno Desthuilliers)
 Groupes: fr.comp.lang.ruby
 Organisation: Guest of ProXad - France
 Date: 23. Jan 2008, 13:57:28
 References: 1 2 3
mdiam a écrit :
> On 22 jan, 12:06, "Etienne Vallette d'Osia" <doh...@gmail.com> wrote:
>> Je ne vois dans le duck typing qu'une manière de présenter le typage
>> dynamique... Je me trompe peut-être, mais alors j'aimerais bien
>> connaître la différence.
> 
> Sans etre specialiste, je pensais que le typage dynamique était lié à
> la
> virtualité, pour lequel le type précis (mais limité à une classe
> fille)

Si tu a une limite de cet ordre, ce n'est pas du typage dynamique.

> est défini à l'exécution (e.g. une liste le "formes" auquelles on veut
> envoyer
> un message "surface".

Ca, c'est du 'late binding' (liaison tardive) dans un langage à typage 
statique.

> Si le typage est statique (e.g c++ pour une méthode non virtuelle)
> alors
> ce serait la methode de la classe forme (probablement inexistante)
> qui
> serait appelé.

Et là c'est une liaison précoce.

> C'est pas ça ?

Bin non. C++ est un langage à typage statique, et il propose les deux 
possibilité (liaison précoce et liaison tardive) via le modificateur 
'virtual'. Dans d'autres langages à typage statique (comme Java par 
exemple, et si ma mémoire est bonne), la liaison est tardive par défaut. 
Ca ne change rien au fait que les types sont vérifiés à la compilation 
(ce qui est la définition même du typage statique).

> Ensuite le typage canard ne nécessite même pas qu'un objet est une
> rriere grand-mere qui sache faire coin-coin (i.e calculer une
> surface) :
> il suffit qu'il sache le faire *au moment* de l'appel !?

Ce qui est la définition du typage dynamique: ou bien l'objet sait 
répondre au message, ou bien il ne sait pas. Aucune vérification de cet 
ordre n'est effectuée à la compilation (quand il y en a une).

  > Meme sujet :
> 
> On 22 jan, 12:45, Bruno Desthuilliers <bruno.
> 42.desthuilli...@wtf.websiteburo.oops.com> wrote:
>>> ...sur la page "http://fr.wikipedia.org/wiki/Programmation_orientée_objet"
>>> Et concernant le typage ils distinguent :
>>>> On distingue dans les langages objets trois mécanismes du typage :
>>>> - le typage dynamique : ...  (Smalltalk, CLOS, Piquet, PHP...),
>>>> - le typage statique : ...  (C++, Java, C#, Pascal...),
>>>> - le typage par inférence : ...(C#, OCaml).
>>> Sans mention de Ruby nul part ni du typage canard.
>> "typage canard" est un alias pour typage dynamique.
>>
>> Accessoirement, les deux items suivants devraient être:
>> - le typage statique déclaratif
>> - le typage statique par inférence
> 
> Ah,
> Et donc le typages canard ne pourrait-il pas etre une variante du
> typage
> dynamique ?

Où est la différence ?

> ou bien c'est rigoureusement la meme chose ?

Voilà.

Pour ce que ça vaut, la notion de "type" est en fait assez différente 
selon l'approche. Du point de vue "statique", les langages à typage 
dynamique n'ont en fait qu'un seul et unique type générique.


DateSujet  Auteur
22.01.
* Re: ruby et genie logici
mdiam
22.01.
+* Re: ruby et genie logici
Etienne Vallette d'Osia
22.01.
|`- Re: ruby et genie logici
mdiam
22.01.
`* [hs] Typage (était :
Bruno Desthuilliers
22.01.
 `* Re: Typage (était : Re:
mdiam
23.01.
  `-   Re: Typage (était : Re:
Bruno Desthuilliers
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats