• [^] # Re: Mmmh

    Posté par . En réponse au journal Ada, langage et ressources. Évalué à 4.

    Alors j'ai une remarque et une question.

    Ma remarque d'abord :

    Je trouve ça remarque pertinente

    "sa" (désolé mais ça me piquait les n'œils).

    La question ensuite :

    Bien que je sois d'accord sur l'utilité évidente d'établir des plages de valeurs pour un « même type » directement dans le langage, au final ça revient malgré tout à créer deux types différents et laisser le système de typage (fort) faire son boulot. En C++ on ferait sans doute ça en créant une interface avec template, quelque chose qui aurait une interface du genre:

    typedef Range<unsigned,0U,65535U> u16; // on pourrait sans doute faire sans le unsigned

    ... Avec toutes les opérations de surcharges d'opérateurs qui vont bien œuf corse (qui peut être facilité grâce à l'utilisation de Boost). Au final le système de typage ferait aussi son boulot.

    Certes la syntaxe est peut-être moins sexy, mais le résultat (et surtout l'utilisation !) serait la même (une exception serait lancée si on tente d'affecter un nombre trop grand à un entier de type u16 par ex). Mon exemple montre même un cas qui serait sans doute résolu à la compil, comme en Ada.