• [^] # Re: Encore le type Null...

    Posté par . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 2.

    En fait, si j'ai bien compris, le problème ne vient pas de la valeur NULL, puisque dans vos exemples vous utilisez un None qui a la même fonction que NULL.

    Le problème est que le langage/compilateur ne force pas le programmeur à écrire des tests qui tiennent compte de toutes les valeurs possibles d'une variable. Ce que je comprends tout à fait, car tester certaines valeurs ne sert à rien s'il a été convenu que ces valeurs étaient interdites. (Et que tout le monde s'y tient, ce qui est souvent le cas)

    D'après ce que je vois, la solution c'est de créer des types de variables "personnalisées" qui n'acceptent que des valeurs bien définies. Ainsi pour des variables référençant un certain type d'objets, on pourrait avoir des variables qui acceptent un NULL et d'autres qui n'en acceptent pas, voir des variables qui acceptent plusieurs sortes de NULL suivant la raison : (NULL_NOT_INITIALIZED, NULL_NOT_FOUND, NULL_REMOVED, etc)

    Du coup je me demande s'il serait aussi possible de faire la même chose avec des entiers où les valeurs 0 et -1 (ou des valeurs négatives) ont souvent une signification particulière. Serait-il possible de les interdire ou d'avoir différentes sortes de "NULL" là aussi ?

    Je sais pas si j'ai bien compris la discussion, mais ça me paraît intéressant.