El artículo propone un conjunto de directrices fundamentales para el diseño de nuevos lenguajes de programación y sus sistemas de configuración, argumentando que estas decisiones deben tomarse desde el inicio para evitar problemas de compatibilidad y usabilidad. El autor destaca la importancia de resolver problemas técnicos específicos, como la gestión de cadenas de texto multilínea, citando como ejemplos de soluciones exitosas a Dhall, Nix/Lix y Ve.dedent, que permiten distinguir entre texto fuente y contenido escapado o interpolado. En cuanto a la estructura de archivos, se recomienda que las rutas de archivos sean relativas al archivo que las contiene o a una raíz de proyecto definida, un estándar que el texto señala que herramientas como Docker Compose y Cargo de Rust no cumplen correctamente. Además, se aboga por la adopción de extensiones de archivo consistentes para facilitar el resaltado de sintaxis en editores de código y la búsqueda de archivos mediante grep. El texto también aborda la gestión de versiones, sugiriendo que los lenguajes deben incluir fechas de lanzamiento accesibles para facilitar la comparación entre diferentes software y dependencias. Finalmente, se enfatiza la necesidad de respetar los flujos de trabajo de desarrollo versus producción, permitiendo configuraciones flexibles durante el desarrollo y una versión limpia en producción, así como la integración de herramientas de búsqueda de código que distingan entre identificadores, cadenas y tipos.
