------------------------------------------ Infierno yaml 12 ene 2023 ------------------------------------------ Leo un artículo [1] sobre lo innecesariamente complicado que es Yaml. El caso es que estoy escribiendo un pequeño script en Python y dudaba en la manera en qué guardar la salida, barajando varias posibilidades así que esto me interesaba. Por un lado está el módulo pickle que es muy cómodo de usar pero me gustaría que los datos fueran visibles como texto simple. Python tiene un módulo para usar yaml que ya he usado para otros proyectos así que veamos los argumentos de Ruud van Asseldonk, que a mí, me han convencido. El atractivo de yaml es que *parece* muy fácil y en realidad su especificación [2] ocupa diez capítulos con unas cuantas secciones cada uno más la página de erratas. Tiene una revisión reciente (1.2.2 oct 2021) y la 1.2 difiere al parecer sustancialmente de la 1.1, los planes son que yaml evolucione activamente. Ruud señala varios problemas que os invito a leer en su blog indicando que ni siquiera un resaltado de sintaxis nos salvará de errores. Aunque señala varias alternativas a mi me gusta la principal: Json. Me ha ganado con su simplicidad, toda la especificación de Json son seis diagramas de tipo "vía de tren" (otra idea interesante por cierto) y lleva congelada casi dos décadas [4]. Algunos puntos interesantes en la especificación: * Es fácil de leer y escribir para los humanos. * Es fácil de leer y generar para las máquinas. * Es independiente de cualquier lenguaje pero sigue convenciones familiares para programadores de C, C++, Python... Todo esto hace JSON un lenguaje ideal para intercambiar datos entre programas. A mi me ha convencido porque aunque lo conocía tenía ideas equivocadas sobre él. He hecho un par de pruebas con el módulo Python y creo que tengo hecha mi elección. Sí. [1]: https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell [2]: https://yaml.org/spec/1.2.2/ [3]: https://www.ibm.com/docs/en/integration-bus/10.0?topic=diagrams-how-read-railroad [4]: https://www.json.org/json-en.html