Y a-t-il une raison, historique ou autre, pour laquelle l'opérateur de module fait partie d'un petit ensemble d'opérateurs standard dans ce qui semble être de nombreuses langues? ( +, -, *, /
et %
, pour Java et C, avec **
en Ruby et Python).
Il semble étrange d'inclure le mod comme "fondamental" (pour ne pas le frapper, je l'utilise beaucoup, mais j'utilise aussi l'exponentiation, la valeur absolue, le plancher / plafond ou autres - ils semblent tout aussi utiles et nécessaires). Était-ce une vieille décision prise dans une spécification que Java, C, Ruby et Python suivent tous ou un langage dont ils descendent tous? Pour autant que je sache, la plupart des dialectes lisp ne comprennent que +, -, /
et *
.
Au début, je me demandais si le mod était particulièrement facile à implémenter au niveau binaire (cela ferait-il même une différence en ce qui concerne les décisions sur ce qui devrait être un opérateur "fondamental" et ce qui ne devrait pas?), Mais il ne semble pas l'être. Est-il simplement beaucoup plus couramment utilisé en programmation que je ne le pense?