Si c'est comme dans Go (à vérifier), nil est typé et peut être utilisé comme valeur (on peut même lui appliquer des méthodes tant qu'elles n'accèdent pas à la valeur pointée). Le pire qui puisse se passer, c'est un panic si on accède à la valeur pointée : pas de soucis de safety mémoire. Rien qui ne puisse se passer dans un langage dynamique quelconque et équivalent à un .unwrap() de Rust.
La joie de programmer est dans la productivité sans prises de tête, s'intéressant plus au résultat qu'à la façon d'y arriver, comme avec Python/Perl/Ruby/.... En prime, on a plus de garanties statiques et de meilleures performances. À partir de là, "billion dollar mistake" est à mon avis une hyperbole pour beaucoup de langages.
[^] # Re: "Billion dollar mistake"
Posté par anaseto . En réponse au lien Odin: Go done right?. Évalué à 3.
Si c'est comme dans Go (à vérifier), nil est typé et peut être utilisé comme valeur (on peut même lui appliquer des méthodes tant qu'elles n'accèdent pas à la valeur pointée). Le pire qui puisse se passer, c'est un panic si on accède à la valeur pointée : pas de soucis de safety mémoire. Rien qui ne puisse se passer dans un langage dynamique quelconque et équivalent à un
.unwrap()de Rust.La joie de programmer est dans la productivité sans prises de tête, s'intéressant plus au résultat qu'à la façon d'y arriver, comme avec Python/Perl/Ruby/.... En prime, on a plus de garanties statiques et de meilleures performances. À partir de là, "billion dollar mistake" est à mon avis une hyperbole pour beaucoup de langages.