È .yaml o .yml?


336

Secondo yaml.org , l'estensione del file ufficiale è .yaml.

Citazione:

Esiste un'estensione ufficiale per i file YAML?

Si prega di utilizzare ".yaml" quando possibile.

Tuttavia sembra esserci un disaccordo su Internet su quale estensione utilizzare. Se cerchi esempi sul Web , molti di essi usano l' .ymlestensione non autorizzata .

La ricerca su Google restituisce quasi 3 volte più risultati per quello più breve.


inserisci qui la descrizione dell'immagine
49.100


inserisci qui la descrizione dell'immagine
15.400


Quindi quale dovrei usare? La corretta estensione di 4 lettere suggerita dal creatore o l'estensione di 3 lettere trovata nel selvaggio west di Internet?


3
Forse il pubblico dovrebbe lamentarsi qui e chiedere loro di cambiare la raccomandazione ufficiale in ".yml". Le organizzazioni (e i fondatori) possono naturalmente essere "lente", ma forse potrebbero essere convinte a seguire l'uso del mondo reale (se non altro per evangelizzare ulteriormente la lingua).
MarkDBlackwell,

3
@AndrewWagner, se cambiano il loro rec in .yml, allora le persone potrebbero cambiare in .yaml:-)
go2null


6
Non sono sicuro che yaml.org sia di grande aiuto dato che mostrano ancora:© 2001-2006 YAML.org All Rights Reserved
sean

6
Stai usando .htm o .html ora? Se continui a utilizzare .htm, probabilmente .yml è la scelta giusta per te. Altrimenti, potresti essere meglio abituarti ad usare .yaml :-)
xorcus

Risposte:


215

La natura e persino l'esistenza delle estensioni dei file dipende dalla piattaforma (alcune piattaforme oscure non le hanno nemmeno, ricordate) - in altri sistemi sono solo convenzionali (UNIX e simili), mentre in altre ancora hanno una semantica definita e in alcuni casi limiti specifici sulla lunghezza o sul contenuto dei caratteri (Windows, ecc.).

Dato che i manutentori ti hanno chiesto di usare ".yaml", questo è il più vicino possibile a una sentenza "ufficiale", ma l'abitudine di 8.3 è difficile da eliminare (e, spaventosamente, ancora occasionalmente rilevante nel 2013).


4
Quel che è peggio è che la mia installazione di Notepad ++ sembra sbagliare :-(
Samuel Harmer,

35
La convenzione del suffisso di 3 lettere è stata obsoleta per quasi 2 decenni. Semmai, direi che il World Wide Web lo ha deprecato negli anni '90. È offensivo che qualcuno cerchi persino di preoccuparsene. Abbastanza per archiviare un bug contro qualsiasi software che si rompe a causa sua.
Dave,

3
Categoria di Wikipedia : la pagina Filename_extensions elenca le voci per .a , .o e .z . In qualche modo, mancava .c e .h . Queste estensioni di una sola lettera ci aiutano a capire che le estensioni dovrebbero essere lunghe quanto necessarie, ma non più (per citare metà di A. Einstein ).
MarkDBlackwell,

19
Ho chiamato il mio file .ymle non c'è niente che tu possa fare contro di esso.
bvdb

4
@Dave terrò presente il tuo prezioso feedback. ( salvataggio del feedback in DOCUME~1.HTM. )
bvdb

31

MODIFICARE:

Quindi quale dovrei usare? La corretta estensione di 4 lettere suggerita dal creatore o l'estensione di 3 lettere trovata nel selvaggio west di Internet?

Questa domanda potrebbe essere:

  1. Una richiesta di consulenza; o

  2. Un'espressione naturale di quella particolare emozione vissuta, mentre si osserva che alcune raccomandazioni ufficiali vengono ignorate, in modo prominente o addirittura predominante.

Le persone differiscono nella loro predilezione per quanto segue:

  1. Consulenza ufficiale; o

  2. La preponderanza della pratica.

Certo, è improbabile che ti possa influenzare, riguardo a quale di questi due percorsi preferisci prendere!

In ciò che segue (e, nello spirito della scienza), faccio semplicemente un'ipotesi su cosa (semplicemente come un dato di fatto) ha portato la maggior parte delle persone a usare l'estensione di 3 lettere. E mi concentro su cause efficienti.

Con questo, non intendo l'esortazione morale. Come ricorderete, il fatto che qualcosa sia, non implica che dovrebbe essere.

Qualunque sia la tua inclinazione personale, che si tratti di seguire una strada o l'altra, non mi oppongo.

(Fine della modifica.)

Il suggerimento, che questa preferenza (nell'uso della vita reale) sia stata causata da una limitazione di DOS di 8,3 caratteri, IMO è un'aringa rossa (errata e fuorviante).

Ad agosto 2016, la ricerca di Google conta per YML e YAML erano circa 6.000.000 e 4.100.000 (a due cifre di precisione). Inoltre, il conteggio "YAML" era ingiustamente alto perché includeva la menzione della lingua per nome, oltre al suo uso come estensione.

A partire da luglio 2018, la ricerca di Google conta per YML e YAML erano circa 8.100.000 e 4.100.000 (di nuovo, a due cifre di precisione). Quindi, negli ultimi due anni, YML ha sostanzialmente raddoppiato la sua popolarità, ma YAML è rimasto lo stesso.

Un'altra misura culturale sono i siti Web che tentano di spiegare le estensioni dei file. Ad esempio, sul sito Web di FilExt (a partire da luglio 2018), la pagina per YAML risulta in "Ooops! Il database FILEXT.com non ha informazioni sull'estensione di file .YAML."

Considerando che ha una voce per YML , che dà: "YAML ... usa un file di testo e lo organizza in un formato che è leggibile dall'uomo. 'Database.yml' è un tipico esempio quando YAML è usato da Ruby su Rails per connettersi a un database. "

A novembre 2014, l'articolo di Wikipedia sull'estensione YML affermava ancora che ".yml" è " l' estensione del file YAML" (enfasi aggiunta). L' articolo di YAML elenca entrambe le estensioni, senza esprimere una preferenza.

L'estensione ".yml" è sufficientemente chiara, è più breve (quindi più facile da scrivere e riconoscere) ed è molto più comune.

Naturalmente, entrambe queste estensioni potrebbero essere viste come abbreviazioni di un'estensione lunga e possibile, ".yamlaintmarkuplanguage". Ma i programmatori (e gli utenti) non vogliono scrivere tutto questo!

Invece, noi programmatori (e utenti) desideriamo digitare il meno possibile, e tuttavia essere chiari e chiari. E vogliamo vedere che tipo di file è, il più rapidamente possibile, senza leggere una parola più lunga. Digitando quanti personaggi raggiunge entrambi questi obiettivi? La risposta non è tre (3)? In altre parole, YML?

Categoria di Wikipedia : la pagina Filename_extensions elenca le voci per .a , .o e .Z . In qualche modo, mancava .c e .h (usato dal linguaggio C). Queste estensioni a lettera singola di esempio ci aiutano a capire che le estensioni dovrebbero essere lunghe quanto necessarie, ma non più (per citare metà Albert Einstein).

Si noti invece che, in generale, poche estensioni iniziano con "Y". Comunemente, d'altra parte, la lettera X è usata per una grande varietà di significati tra cui "croce", "estensibile", "estrema", "" variabile ", ecc. (Ad esempio in XML). Quindi a partire da "Y" trasmette già molte informazioni (in termini di teoria dell'informazione), mentre a partire da "X" non lo fa.

Linguisticamente parlando, quindi, l'acronimo "XML" ha (in un certo senso) solo due lettere informative ("M" e "L"). "YML", invece, ha tre lettere informative ("M", "L" e "Y"). In effetti, l'insieme esistente di acronimi che iniziano con Y sembra estremamente piccolo. Di conseguenza, questo è il motivo per cui un'estensione di file YAML di quattro lettere sembra molto sovra specificata.

Forse è per questo che vediamo in pratica che la pressione "linguistica" (in uso naturale) per allungare l'abbreviazione in questione a quattro (4) caratteri è debole, e la pressione "linguistica" per abbreviare questa abbreviazione a tre (3) caratteri è forte.

Proprio a causa, probabilmente, di questi fattori (e non come approvazione ufficiale), vorrei notare che l' ultima notizia del sito Web YAML.org (da novembre 2011) riguarda un progetto scritto in JavaScript, JS-YAML , che, di per sé, preferisce utilizzare internamente l'estensione ".yml".

I suddetti fattori potrebbero essere stati i principali; tuttavia, tutti i fattori (noti o sconosciuti) hanno portato l'estensione di tre (3) caratteri abbreviata a diventare quella in uso predominante per YAML, nonostante le preferenze degli inventori.

".YML" sembra essere lo standard di fatto . Eppure gli stessi inventori erano percettivi e corretti, riguardo alla necessità del mondo di un linguaggio di dati leggibile dall'uomo. E dovremmo ringraziarli per averlo fornito.


1
Utilizzare l'estensione di file ".yml" per YAML elenca molti esempi concreti, consigli e impostazioni di configurazione predefinite su ".yml" trovato in natura.
MarkDBlackwell,

1
Se si citano Wikipedia, è meglio leggere un po 'di più: Yaml articolo s' dice estensione Nome file: .yaml,.yml
Charles Follet

1
@CharlesFollet, ciò che hai citato era in realtà la base della mia affermazione, "Il suo articolo YAML elenca entrambe le estensioni, senza pregiudizio" (ora modificato in "senza esprimere una preferenza"). Le persone usano entrambe le estensioni; eppure ".yml" predomina.
MarkDBlackwell,

19
Ricorda sempre che Wikipedia è un'enciclopedia collaborativa . Ho modificato la pagina di disambiguazione YML per riflettere che è solo " una comune estensione" invece di " l' estensione".
NiñoScript

2
Esiste un linguaggio YML (markup specifico per il dominio che genera XML) per molti anni, forse fino a quando YAML. È probabile che il conteggio delle ricerche di Google non abbia contato sia i riferimenti YML che i riferimenti YAML difettosi. YAML non è una specifica eccessiva, ma utilizza il nome appropriato per evitare confusione.
Anthon,

4

Dopo aver letto un sacco di commenti online su questo, la mia prima reazione è stata che questo è fondamentalmente uno di quei dibattiti davvero poco importanti. Tuttavia, il mio interesse iniziale era scoprire il formato giusto in modo da poter essere coerente con la mia pratica di denominazione dei file.

Per farla breve, il creatore di YAML sta dicendo .yaml, ma personalmente continuo a farlo .yml. Questo ha più senso per me . Così sono andato in viaggio per trovare affermazione e presto, mi rendo conto che la docker usa .ymlovunque. Ho sempre scritto docker-compose.ymlfile mentre continui a vedere nei documenti di kubernetes kubectl apply -f *.yaml...

Quindi, in conclusione, entrambi i formati sono ovviamente accettati e se ci si trova dall'altra parte, (vale a dire: sistemi di scrittura che ricevono un file YAML come input) è necessario consentire entrambi. Sembra un altro caso di serpente contro il caso di cammello ...


2
Quindi, ciò che rende più senso per voi da utilizzare per la YML lingua dominio specifico (che è stato intorno per probabilmente il più a lungo YAML): il .yl, .ymo l' .mlestensione?
Anthon,

2

.yamlè apparentemente l'estensione ufficiale, perché alcune applicazioni falliscono durante l'utilizzo .yml. D'altra parte non ho familiarità con le applicazioni che utilizzano il codice YAML, ma non riesco con .yamlun'estensione.

Mi sono imbattuto in questo, poiché ero abituato a scrivere .ymlin Ansible e Docker Compose. Per abitudine ho usato .ymlquando scrivevo i file Netplan che fallivano silenziosamente. Alla fine ho capito il mio errore. L'autore di un popolare ruolo di Ansible Galaxy per Netplan fa la stessa ipotesi nel suo codice:

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

Tuttavia, qualsiasi file con .ymlestensione viene ignorato da Netplan allo stesso modo dei file con .bakestensione. Poiché Netplan è molto silenzioso e non fornisce alcun feedback sul successo, anche con netplan apply --debug, una configurazione come 01-netcfg.ymlfallirà silenziosamente senza alcun feedback significativo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.