¿Hay alguna razón, histórica o de otro tipo, por la cual el operador de módulo es parte de un pequeño conjunto de operadores estándar en lo que parecen muchos idiomas? ( +, -, *, /
y %
, para Java y C, con **
Ruby y Python).
Parece extraño incluir el mod como "fundamental" (para no tocarlo, lo uso mucho, pero también uso la exponenciación, el valor absoluto, el piso / techo u otros; parecen igual de útiles y necesarios). ¿Fue esta una vieja decisión tomada en alguna especificación que siguen Java, C, Ruby y Python o un lenguaje del que todos descienden? Por lo que puedo decir, la mayoría de los dialectos de Lisp solo incluyen +, -, /
y *
.
Al principio me preguntaba si el mod era particularmente fácil de implementar a nivel binario (¿eso incluso haría una diferencia, con respecto a las decisiones sobre lo que debería ser un operador "fundamental" y lo que no debería ser), pero parece que no lo es. ¿Se usa mucho más comúnmente en programación de lo que creo?