> et c'est super pas utile en terme d’interopérabilité pour quand on fait des libs et qu'on veut avoir des types qui sont compris de la même façon par tout le monde.
Je crois que tu n’as pas compris leur système d’interfaces. Une même interface est comprise pareille pour tout le monde. Si tu fais un minimum de Go, tu verras par exemple que l’interface Reader est utilisée absolument partout (dans io, http, json, logger,...), et tout le monde la comprend pareil. Idem pour l’interface Error.
> La notion d'interface permet de donner une sémantique à ses méthode
Ben oui, c’est ce que fait une interface en Go ; un ReadWriter, c’est un objet sur lequel on peut lire et écrire.
Ou alors j’ai pas compris ce que tu voulais dire par « donner une sémantique à ses méthodes ».
> et là, justement ce n'est que du structural typing statiquement typé !
En quoi est-ce supposé être en contradiction ?
> avec son typage VRAIMENT avancé (higher-kind et autres trucs du genre)
Par exemple ?
> avec une vraie réflexion sur le lien entre objets et fonctions
Par exemple ?
> (voir tout le travail sur les contraintes sémantiques encodées avec les types pour avoir plus de vérification et de sûreté à la compilation par exemple).
Un lien ?
[^] # Re: Mais sinon, pourquoi je devrais m'intéresser à ce énième langage
Posté par Moonz . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 1.
Je crois que tu n’as pas compris leur système d’interfaces. Une même interface est comprise pareille pour tout le monde. Si tu fais un minimum de Go, tu verras par exemple que l’interface Reader est utilisée absolument partout (dans io, http, json, logger,...), et tout le monde la comprend pareil. Idem pour l’interface Error.
> La notion d'interface permet de donner une sémantique à ses méthode
Ben oui, c’est ce que fait une interface en Go ; un ReadWriter, c’est un objet sur lequel on peut lire et écrire.
Ou alors j’ai pas compris ce que tu voulais dire par « donner une sémantique à ses méthodes ».
> et là, justement ce n'est que du structural typing statiquement typé !
En quoi est-ce supposé être en contradiction ?
> avec son typage VRAIMENT avancé (higher-kind et autres trucs du genre)
Par exemple ?
> avec une vraie réflexion sur le lien entre objets et fonctions
Par exemple ?
> (voir tout le travail sur les contraintes sémantiques encodées avec les types pour avoir plus de vérification et de sûreté à la compilation par exemple).
Un lien ?