Como en la lengua española, detrás de los lenguajes de programación también hay personas encargadas de establecer unas directrices comunes de uso o de simplificación. Hay academias con numerosos miembros (en los lenguajes comunitarios) y otras que establecen su particular ortografía y gramática, por así decirlo, con mano dictatorial.
El código, como los diccionarios, necesita actualizarse cada cierto tiempo: añadir nuevos términos, quitar otros, clasificar los arcaísmos... Pero, ¿quiénes son los responsables de las 'reales academias' de la programación?
No existen como tal, pero se podrían dividir en tres grupos. Pueden ser autoritarias o benevolentes, ejercer la tiranía de un dictador o permitir que cualquiera pase a engrosar sus filas. Incluso las hay que con el tiempo se vuelven más laxas y permiten que nuevos académicos entren en lo que hasta entonces era casi un bastión inexpugnable.
Todas esas academias las conoce Luis García Castro. Empezó a interesarse por ellas tras escuchar una conferencia en Bruselas y decidió investigar quién andaba detrás de los lenguajes de programación. Se preguntó por qué, cuando elegimos un lenguaje para un proyecto, “siempre pensamos en lo eficiente que va a ser, lo rápido que va ser o lo estética que es la sintaxis, pero no nos paramos a pensar en lo ética o abierta que es su comunidad”.
Las reales academias del código existen, pero a su manera. Algunas son lideradas por lo que en el mundillo se denomina “un dictador benevolente”, según explica Luis a HojaDeRouter.com. Él mismo diseñó el lenguaje, o bien lo heredó, “y hace y deshace un poco como le viene bien”. Un ejemplo es Rich Hickey, diseñador de Clojure, que tiene la última palabra sobre los cambios que se introducen en el diccionario de este lenguaje.
Hay otras academias más abiertas, sin dictador benevolente, aunque sus métodos para limpiar y dar esplendor siguen siendo un poco desconocidos para la mayoría. Son aquellas cuyos lenguajes han optado por la vía de la estandarización y van evolucionando gracias a organismos un poco “opacos”, en palabras de Luis. Es difícil saber cómo se accede a esos organismos. Al menos en la RAE tenemos claro que las candidaturas las tienen que proponer tres miembros.
Es lo que le sucede a JavaScript: el llamado TC39 Group define y mejora el estándar. El proceso para ser miembro del TC39 no está claro, tal y como explicó Luis en la pasada conferencia Codemotion, pero de él forman parte multinacionales como Adobe, Intel, Facebook, Google o Twitter.
Otros lenguajes, en cambio, están controlados por la academia más libre que existe: la propia comunidad de usuarios. En estos casos, las reuniones semanales de los jueves que celebra la RAE no existen: “Se plantean las cosas abiertamente en una lista de correo, por ejemplo, y allí se explican los pros y los contras”. Eso sí, igual que cuando los académicos se dividen las palabras para confeccionar el nuevo diccionario, aquí “se crean grupos de trabajo, se reparten responsabilidades…” Es lo que sucede con el lenguaje Ruby, liberado públicamente en 1995 y con una amplia comunidad de desarrolladores. Tienen una lista de correo en la que fácilmente puedes recibir unos 200 mensajes cada día, según sus miembros.
En el mundo físico, la sociedad va por delante de la Real Academia, y por eso esta termina adoptando como propias algunas de las innovaciones de la calle. Aquí pasa lo mismo: los usuarios de los programas reclaman novedades que los administradores de estos lenguajes terminan adoptando.
Luis pone un ejemplo reciente con Java 8 (que no es lo mismo que Javascript, cuidado): “Ha incorporado algunas mejoras en el lenguaje que llevaban años siendo demandadas por la comunidad, como el uso de lambdas”, los elementos anónimos para realizar determinadas funciones en el cálculo.
Igual que tras la RAE hay donaciones, patronos o partidas de dinero público, estos lenguajes también buscan ingresos. Por ejemplo, JCP (Java Community Progress), el organismo responsable de Java. Luis cuenta que viven de donaciones de empresas que necesitan alguna característica del lenguaje. Así, pueden poner ese dinero o bien aportar desarrolladores, diseñadores u otros recursos para conseguirlo.
Dando esplendor con normas de estilo
La estética o belleza del lenguaje también cuenta en la programación. Estas particulares academias también ponen el grito en el cielo ante lo feo y defienden eso de que cuantas menos palabras, mejor. Sin embargo, depende del lenguaje. Unos que buscan la sobriedad y el “menos es más” son los de Python, regulado por la Python Software Foundation: “En Python se presume de que el código tiene que ser bonito, en un sentido muy amplio: sencillo, comprensible…” Hasta su entrada en Wikipedia lo destaca. Todo lo contrario que en Perl, cuyos académicos son más bien barrocos: “Ellos presumen de que el código tiene que funcionar, aunque sea más enrevesado”.
Aun así, parece que hay una cierta norma de estilo entre todos los programadores. Como “una aplicación se escribe una vez y se lee cincuenta veces”, según nos cuenta Luis, la convención es “que el código sea limpio, comprensible; que de un simple vistazo sepas lo que tiene que hacer, para que alguien posteriormente pueda detectar los errores que pueda haber” sin demasiadas complicaciones.
Luis explica que su lenguaje favorito es Groovy: “De ser totalmente propiedad de una empresa, empezaron a liberarlo. Ahora es un proyecto de la Fundación Apache, un lenguaje totalmente 'open source'”. En su academia se escuchan todas las voces. Mientras tanto, otros siguen siendo dictadores benevolentes, gestionando el lenguaje a su voluntad. En cualquier caso, todos limpian, fijan y dan esplendor a su manera.
-------------
Las imágenes proceden de Pixabay, StartupStockPhotos y Pexels