J'ai lu Où sont les octales utiles? et il semble que les octales soient quelque chose qui étaient autrefois utiles.
De nombreux langages traitent les nombres précédés d'un 0 comme octaux, donc le littéral 010
est en fait 8. Quelques-uns d'entre eux sont JavaScript, Python (2.7) et Ruby.
Mais je ne vois pas vraiment pourquoi ces langues ont besoin d'octal, surtout lorsque l'utilisation la plus probable de la notation est de désigner un nombre décimal avec un 0 superflu.
JavaScript est un langage côté client, octal semble assez inutile. Tous les trois sont assez modernes dans un autre sens, et je ne pense pas qu'il y aurait beaucoup de code utilisant la notation octale qui serait rompu en supprimant cette "fonctionnalité".
Donc, mes questions sont:
- Est-il utile que ces langages prennent en charge les littéraux octaux?
- Si des littéraux octaux sont nécessaires, pourquoi ne pas utiliser quelque chose comme
0o10
? Pourquoi copier une ancienne notation qui remplace un cas d'utilisation plus utile?
chmod
avec 0666 ou 0777 pour des groupes de 3 bits pour l'utilisateur, le groupe et autres: lecture, écriture, exécutable.
parseInt('010')
a en effet renvoyé 8, d'où tous les conseils à toujours utiliser parseInt(foo, 10)
(et c'est toujours une habitude pour moi)