Muchos lenguajes de programación permiten comas en su gramática siguiendo el último elemento de una lista. Supuestamente, esto se hizo para simplificar la generación automática de código, lo que es comprensible.Historial de coma que se arrastra en las gramáticas del lenguaje de programación
A modo de ejemplo, la siguiente es una inicialización de la matriz perfectamente legal en Java (JLS 10.6 Array Initializers):
int[] a = { 1, 2, 3, };
Tengo curiosidad por si alguien sabe qué idioma fue el primero en permitir que se arrastra comas como estos. Aparentemente C lo tenía as far back as 1985.
Además, si alguien conoce otras "peculiaridades" de la gramática de los lenguajes de programación modernos, estaría muy interesado en escuchar acerca de eso también. Leí que Perl y Python, por ejemplo, son aún más liberales al permitir comas finales en otras partes de su gramática.
Si mal no recuerdo, cuando aprendí C del K & R original (pre-ANSI) en 1983, se permitieron las comillas finales. Esto fue intencional para permitir una generación automática de código más sencilla (por herramientas como YACC). – Ralph
También ayuda cuando (como en una definición de 'enum') cada elemento está en su propia línea: agregar un nuevo valor al final es simplemente una línea adicional (que no requiere un cambio de la penúltima línea), evitando potencialmente una dependencia en/por cualquier cambio a la penúltima línea. – jhfrontz