• [^] # Re: Go est lent, Rust est rouillé !

    Posté par . En réponse au journal Explorer des langages de programmation - édition 2020. Évalué à 3.

    On s'est mal compris : bien sûr qu'en Go tu dois définir une interface statiquement dans ce cas pour éviter un cast.

    Ce que je veux dire, pour résumer, c'est qu'il y a deux cas : soit le système de type de Go permet de gérer le cas (comme dans ton exemple), soit le système de type n'est pas suffisant et il faut faire façon Ruby. Dans le deuxième cas on a un cast (explicite en Go avec gestion d'erreur possible, implicite en Ruby avec exception si échec), dans le premier cas on peut éviter le cast (en Go, jamais en Ruby) avec un peu de code en plus (définir l'interface).

    En d'autres termes, Ruby c'est conceptuellement proche d'un équivalent de Go avec comme unique type statique interface{} et plein de sucre syntaxique. Pour regarder à l'intérieur d'une variable Ruby, il y a toujours une tentative de cast implicite pour toute action qui ne soit pas totalement indépendante du type.

    Donc généralement tu va utiliser un type prédéfini qui possède potentiellement des trucs dont tu n'a pas besoin.

    Je vois pas trop à quoi tu fais référence ici.