¿Es .yaml o .yml?

Resuelto spuder asked hace 10 años • 5 respuestas

Según yaml.org , la extensión de archivo oficial es .yaml.

Cita:

¿Existe una extensión oficial para archivos YAML?

Utilice ".yaml" cuando sea posible.

Sin embargo, parece haber un desacuerdo en Internet sobre qué extensión utilizar. Si busca ejemplos en la web , muchos de ellos utilizan la .ymlextensión no autorizada.

La búsqueda en Google arroja casi 3 veces más resultados para la más corta.


ingrese la descripción de la imagen aquí
49.100


ingrese la descripción de la imagen aquí
15.400


Entonces, ¿cuál se supone que debo usar? ¿La extensión adecuada de 4 letras sugerida por el creador, o la extensión de 3 letras que se encuentra en el salvaje oeste de Internet?

spuder avatar Jan 11 '14 13:01 spuder
Aceptado

La naturaleza e incluso la existencia de las extensiones de archivos depende de la plataforma (algunas plataformas poco conocidas ni siquiera las tienen, recuerde): en otros sistemas son sólo convencionales (UNIX y similares), mientras que en otros tienen una semántica definida. y en algunos casos límites específicos de longitud o contenido de caracteres (Windows, etc.).

Dado que los mantenedores le han pedido que use ".yaml", eso es lo más cercano a una regla "oficial" que puede obtener, pero es difícil deshacerse del hábito de 8.3 (y, terriblemente, ocasionalmente sigue siendo relevante en 2013).

Bandrami avatar Jan 11 '2014 06:01 Bandrami

EDITAR:

Entonces, ¿cuál se supone que debo usar? ¿La extensión adecuada de 4 letras sugerida por el creador, o la extensión de 3 letras que se encuentra en el salvaje oeste de Internet?

Esta pregunta podría ser:

  1. Una solicitud de asesoramiento; o

  2. Una expresión natural de esa emoción particular que se experimenta mientras uno observa que alguna recomendación oficial está siendo ignorada, de manera prominente o incluso predominante.

Las personas difieren en su predilección por lo siguiente:

  1. Asesoramiento oficial; o

  2. La preponderancia de la práctica.

¡Por supuesto, es poco probable que pueda influir en usted sobre cuál de estos dos caminos prefiere tomar!

En lo que sigue (y, en el espíritu de la ciencia), simplemente hago una hipótesis sobre lo que (simplemente de hecho) llevó a la mayoría de las personas a usar la extensión de 3 letras. Y me concentro en causas eficientes.

Con esto no pretendo hacer una exhortación moral. Como recordarás, el hecho de que algo sea, no implica que deba ser.

Cualquiera que sea vuestra inclinación personal, sea seguir un camino u otro, no me opongo.

(Fin de la edición.)

La sugerencia de que esta preferencia (en el uso de la vida real) fue causada por una limitación de 8.3 caracteres tipo DOS, en mi opinión, es una pista falsa (errónea y engañosa).

En agosto de 2016, los recuentos de búsquedas de Google para YML y YAML eran aproximadamente 6.000.000 y 4.100.000 (con dos dígitos de precisión). Además, el recuento de "YAML" era injustamente alto porque incluía la mención del idioma por su nombre, más allá de su uso como extensión.

En julio de 2018, los recuentos de búsquedas de Google para YML y YAML eran aproximadamente 8.100.000 y 4.100.000 (nuevamente, con dos dígitos de precisión). Entonces, en los últimos dos años, YML esencialmente ha duplicado su popularidad, pero YAML se ha mantenido igual.

Otra medida cultural son los sitios web que intentan explicar las extensiones de archivos. Por ejemplo, en el sitio web de FilExt (a julio de 2018), la página de YAML da como resultado: "¡Ups! La base de datos FILEXT.com no tiene ninguna información sobre la extensión de archivo .YAML".

Mientras que tiene una entrada para YML , que da: "YAML...usa un archivo de texto y lo organiza en un formato legible por humanos. 'database.yml' es un ejemplo típico cuando Ruby on Rails usa YAML para conectarse a una base de datos."

En noviembre de 2014, el artículo de Wikipedia sobre la extensión YML todavía indicaba que ".yml" es " la extensión de archivo para el formato de archivo YAML" (énfasis añadido). Su artículo YAML enumera ambas extensiones, sin expresar preferencia.

La extensión ".yml" es suficientemente clara, más breve (por lo tanto más fácil de escribir y reconocer) y mucho más común.

Por supuesto, ambas extensiones podrían verse como abreviaturas de una posible extensión larga, ".yamlaintmarkuplanguage". ¡Pero los programadores (y usuarios) no quieren escribir todo eso!

En cambio, nosotros, los programadores (y los usuarios), queremos escribir lo menos posible y, al mismo tiempo, ser claros y sin ambigüedades. Y queremos ver qué tipo de archivo es, lo más rápido posible, sin leer una palabra más larga. ¿Escribir cuántos caracteres logra ambos objetivos? ¿No es la respuesta tres (3)? En otras palabras, ¿YML?

La página Categoría:Extensiones_nombre_de_archivo de Wikipedia enumera las entradas para .a , .o y .Z . De alguna manera, omitió .c y .h (usados ​​por el lenguaje C). Estos ejemplos de extensiones de una sola letra nos ayudan a ver que las extensiones deben ser tan largas como sea necesario, pero no más (para citar a medias a Albert Einstein).

En cambio, observe que, en general, pocas extensiones comienzan con "Y". Por otra parte, comúnmente la letra X se utiliza para una gran variedad de significados, incluidos "cruzado", "extensible", "extremo", "variable", etc. (por ejemplo, en XML). Entonces, comenzar con "Y" ya transmite mucha información (en términos de teoría de la información), mientras que comenzar con "X" no.

Lingüísticamente hablando, por tanto, la sigla "XML" tiene (en cierto modo) sólo dos letras informativas ("M" y "L"). "YML", en cambio, tiene tres letras informativas ("M", "L" e "Y"). De hecho, el conjunto existente de siglas que comienzan con Y parece extremadamente pequeño. Por implicación, esta es la razón por la que una extensión de archivo YAML de cuatro letras parece sobreespecificada.

Quizás por eso vemos en la práctica que la presión "lingüística" (en el uso natural) para alargar la abreviatura en cuestión a cuatro (4) caracteres es débil, y la presión "lingüística" para acortar esta abreviatura a tres (3) caracteres es fuerte.

Probablemente como resultado puramente de estos factores (y no como un respaldo oficial), señalaría que la última noticia del sitio web YAML.org (de noviembre de 2011) trata sobre un proyecto escrito en JavaScript, JS-YAML . que, a su vez, internamente prefiere utilizar la extensión ".yml".

Los factores antes mencionados pueden haber sido los principales; sin embargo, todos los factores (conocidos o desconocidos) han resultado en que la extensión abreviada de tres (3) caracteres se convierta en la de uso predominante para YAML, a pesar de la preferencia de los inventores.

".YML" parece ser el estándar de facto . Sin embargo, los mismos inventores fueron perspicaces y correctos acerca de la necesidad del mundo de un lenguaje de datos legible por humanos. Y deberíamos agradecerles por proporcionárnoslo.

MarkDBlackwell avatar Aug 03 '2016 23:08 MarkDBlackwell

.yamlAl parecer es la extensión oficial, porque algunas aplicaciones fallan al usar .yml. Por otro lado, no estoy familiarizado con ninguna aplicación que use código YAML, pero falle con una .yamlextensión.

Me encontré con esto porque estaba acostumbrado a escribir .ymlen Ansible y Docker Compose. Por costumbre lo usé .ymlal escribir archivos Netplan que fallaron silenciosamente. Finalmente descubrí mi error. El autor de un popular rol de Ansible Galaxy para Netplan hace la misma suposición en su código:

- name: Capturing Existing Configurations
  find:
    paths: /etc/netplan
    patterns: "*.yml,*.yaml"
  register: _netplan_configs

.ymlSin embargo , Netplan ignora cualquier archivo con una extensión de la misma manera que los archivos con una .bakextensión. Como Netplan es muy silencioso y no proporciona ningún tipo de información sobre el éxito, incluso con netplan apply --debug, una configuración como esta 01-netcfg.ymlfallará silenciosamente sin ninguna información significativa.

ChrisW avatar Sep 03 '2019 13:09 ChrisW