Sí, los romanos también tuvieron problemas con el cero.
Esto es solo una consecuencia [no intuitiva] de las matemáticas (siendo un componente fuerte de la programación, especialmente la programación temprana) que define cero como el primer (término problemático ese uno) número real, positivo * natural, y dado que una matriz está indexada con real , números naturales, el "primer" elemento está en el índice 0.
Los meses son realmente valores con nombre en una matriz, donde los días y los años son valores numerados; quizás sería más útil pensar en los días / años como en matrices que se parecen a {"1", "2", "3",. ..} ellos mismos.
En cuanto a por qué esto es tan común (además de ser matemáticamente correcto) bueno, todos los idiomas que enumeró descienden de un origen común para una cosa ...
Editar:
Mirándolo más a fondo, este enlace de wikipedia detalla varias razones buenas e interesantes para la indexación cero (que no habla directamente de por qué los meses tienen indexación cero, pero creo que ya está cubierto), y este enlace SO ha respondido la pregunta antes.
Parece que la opinión predominante es "accidente histórico" o "porque los meses no son números, por lo que no se pueden comparar con el almacenamiento de día / año", según a quién le pregunte.
* Lo siento, lo siento, la física! = Las matemáticas vuelven a morderme allí. Me voy a planchar las manos ahora.