C'è una ragione, storica o no, perché l'operatore del modulo fa parte di un piccolo insieme di operatori standard in quelle che sembrano molte lingue? ( +, -, *, /
e %
, per Java e C, con **
in Ruby e Python).
Sembra strano includere la mod come "fondamentale" (non per bussarla, la uso in abbondanza, ma utilizzo anche esponenziazione, valore assoluto, pavimento / soffitto o altri - sembrano altrettanto utili e necessari). È stata una vecchia decisione presa in una specifica che Java, C, Ruby e Python seguono tutti o una lingua da cui tutti discendono? Per quanto ne so, la maggior parte dei dialetti di Lisp include solo +, -, /
e *
.
All'inizio mi chiedevo se la mod fosse particolarmente facile da implementare a livello binario (ciò farebbe anche la differenza, per quanto riguarda le decisioni su ciò che dovrebbe essere un operatore "fondamentale" e cosa non dovrebbe?) Ma sembra che non lo sia. È solo molto più comunemente usato nella programmazione di quanto penso?