Apakah itu .yaml atau .yml?

336

Menurut yaml.org , ekstensi file resmi adalah .yaml.

Mengutip:

Apakah ada ekstensi resmi untuk file YAML?

Harap gunakan ".yaml" bila memungkinkan.

Namun tampaknya ada ketidaksepakatan di internet di mana ekstensi untuk digunakan. Jika Anda mencari contoh di web , banyak dari mereka menggunakan .ymlekstensi yang tidak disetujui .

Pencarian Google menghasilkan hampir 3 kali lebih banyak hasil untuk yang lebih pendek.


masukkan deskripsi gambar di sini
49.100


masukkan deskripsi gambar di sini
15.400


Jadi mana yang harus saya gunakan? Perpanjangan 4 huruf yang disarankan oleh pencipta, atau ekstensi 3 huruf yang ditemukan di barat internet?

spuder
sumber
3
Mungkin publik harus mengeluh di sini dan meminta mereka untuk mengubah rekomendasi resmi menjadi ".yml". Organisasi (dan pendiri) secara alami bisa "lambat," tetapi mungkin mereka dapat diyakinkan untuk mengikuti penggunaan dunia nyata (jika hanya untuk menginjili bahasa lebih lanjut).
MarkDBlackwell
3
@AndrewWagner, jika mereka mengubah rec ke .yml, maka orang mungkin berubah ke .yaml:-)
go2null
5
yaml.org/faq.html -> Use .yaml
Wannes
6
Saya tidak yakin yaml.org sangat membantu mengingat mereka masih menunjukkan:© 2001-2006 YAML.org All Rights Reserved
sean
6
Apakah Anda menggunakan .htm atau .html sekarang? Jika Anda masih tetap menggunakan .htm, maka mungkin .yml adalah pilihan yang tepat untuk Anda. Jika tidak, Anda mungkin lebih baik menggunakan .yaml :-)
xorcus

Jawaban:

215

Sifat dan bahkan keberadaan ekstensi file tergantung pada platform (ingat beberapa platform yang tidak jelas bahkan tidak memilikinya) - dalam sistem lain mereka hanya konvensional (UNIX dan sejenisnya), sementara di yang lain mereka memiliki semantik yang pasti dan dalam beberapa kasus batas tertentu pada panjang atau konten karakter (Windows, dll.)

Karena pengelola telah meminta Anda menggunakan ".yaml", itu hampir sama dengan aturan "resmi" yang Anda bisa dapatkan, tetapi kebiasaan 8.3 sulit untuk keluar dari (dan, secara mengejutkan, kadang-kadang masih relevan di 2013).

Bandrami
sumber
4
Yang lebih parah adalah instalasi Notepad ++ saya kelihatannya salah :-(
Samuel Harmer
35
Konvensi sufiks 3 huruf telah usang selama hampir 2 dekade. Jika ada, saya berpendapat bahwa World-Wide Web mencabutnya di tahun 90-an. Menyinggung bahwa siapa pun bahkan mencoba untuk peduli. Cukup sehingga saya akan mengajukan bug terhadap setiap perangkat lunak yang rusak karenanya.
Dave
3
Kategori Wikipedia : Halaman Filename_extensions mencantumkan entri untuk .a , .o dan .z . Entah bagaimana, ia melewatkan .c dan .h . Ekstensi satu huruf ini membantu kami melihat bahwa ekstensi harus sepanjang diperlukan, tetapi tidak lagi (dengan setengah mengutip A. Einstein ).
MarkDBlackwell
19
Saya memberi nama file saya .ymldan tidak ada yang dapat Anda lakukan untuk menentangnya.
bvdb
4
@Dave Saya akan mengingat umpan balik Anda yang berharga. ( simpan tanggapan Anda ke DOCUME~1.HTM. )
bvdb
31

EDIT:

Jadi mana yang harus saya gunakan? Perpanjangan 4 huruf yang disarankan oleh pencipta, atau ekstensi 3 huruf yang ditemukan di barat internet?

Pertanyaan ini bisa berupa:

  1. Permintaan saran; atau

  2. Ekspresi alami dari emosi tertentu yang dialami, sementara orang mengamati bahwa beberapa rekomendasi resmi sedang diabaikan — secara mencolok, atau bahkan dominan.

Orang berbeda dalam kecenderungan mereka untuk mengikuti:

  1. Saran resmi; atau

  2. Banyaknya praktik.

Tentu saja, saya tidak mungkin mempengaruhi Anda, mengenai jalur mana yang Anda pilih!

Dalam apa yang mengikuti (dan, dalam semangat sains), saya hanya membuat hipotesis, tentang apa (hanya sebagai fakta) yang menyebabkan mayoritas orang menggunakan ekstensi 3 huruf. Dan, saya fokus pada penyebab yang efisien.

Dengan ini, saya tidak bermaksud nasihat moral. Seperti yang Anda ingat, fakta bahwa sesuatu itu, tidak menyiratkan bahwa itu seharusnya.

Apa pun kecenderungan pribadi Anda, baik untuk mengikuti satu jalan atau yang lain, saya tidak keberatan.

(Akhir edit.)

Saran, bahwa preferensi ini (dalam penggunaan kehidupan nyata) disebabkan oleh pembatasan DOS-ish 8,3 karakter, IMO adalah herring merah (keliru dan menyesatkan).

Pada Agustus 2016, jumlah pencarian Google untuk YML dan YAML sekitar 6.000.000 dan 4.100.000 (dengan dua digit presisi). Selain itu, jumlah "YAML" sangat tidak adil karena termasuk menyebutkan bahasa dengan nama, di luar penggunaannya sebagai ekstensi.

Pada Juli 2018, jumlah pencarian Google untuk YML dan YAML sekitar 8.100.000 dan 4.100.000 (sekali lagi, dengan dua digit presisi). Jadi, dalam dua tahun terakhir, YML pada dasarnya dua kali lipat dalam popularitas, tetapi YAML tetap sama.

Ukuran budaya lainnya adalah situs web yang berupaya menjelaskan ekstensi file. Misalnya, di situs web FilExt (per Juli, 2018), halaman untuk YAML menghasilkan: "Ooops! Basis data FILEXT.com tidak memiliki informasi tentang ekstensi file .YAML."

Sedangkan, itu memiliki entri untuk YML , yang memberikan: "YAML ... menggunakan file teks dan mengaturnya ke dalam format yang dapat dibaca oleh Manusia. 'Database.yml' adalah contoh khas ketika YAML digunakan oleh Ruby on Rails untuk terhubung ke database. "

Pada November 2014, artikel Wikipedia tentang perpanjangan YML masih menyatakan bahwa ".yml" adalah ' yang ekstensi file untuk format file YAML' (penekanan ditambahkan). Artikel YAML- nya mencantumkan kedua ekstensi, tanpa menyatakan preferensi.

Ekstensi ".yml" cukup jelas, lebih singkat (sehingga lebih mudah untuk mengetik dan mengenali), dan jauh lebih umum.

Tentu saja, kedua ekstensi ini dapat dilihat sebagai singkatan dari ekstensi yang panjang dan mungkin, ".yamlaintmarkuplanguage". Tetapi programmer (dan pengguna) tidak ingin mengetik semua itu!

Sebagai gantinya, kami programmer (dan pengguna) ingin mengetik sesedikit mungkin, dan masih belum jelas dan jelas. Dan kami ingin melihat file apa itu, secepat mungkin, tanpa membaca sepatah kata pun. Mengetik berapa banyak karakter yang memenuhi kedua tujuan ini? Bukankah jawabannya tiga (3)? Dengan kata lain, YML?

Kategori Wikipedia : Halaman Filename_extensions mencantumkan entri untuk .a , .o dan .Z . Entah bagaimana, ia melewatkan .c dan .h (digunakan oleh bahasa C). Contoh ekstensi satu huruf ini membantu kita untuk melihat bahwa ekstensi harus sepanjang diperlukan, tetapi tidak lagi (dengan setengah mengutip Albert Einstein).

Alih-alih, perhatikan bahwa, secara umum, beberapa ekstensi dimulai dengan "Y". Secara umum, di sisi lain, huruf X digunakan untuk berbagai macam makna termasuk "cross," "extensible," "extreme," "variable," dll. (Misalnya dalam XML). Jadi mulai dengan "Y" sudah menyampaikan banyak informasi (dalam hal teori informasi), sedangkan mulai dengan "X" tidak.

Oleh karena itu, secara linguistik, akronim "XML" hanya memiliki (dua) huruf informatif ("M" dan "L"). "YML", sebaliknya, memiliki tiga huruf informatif ("M", "L" dan "Y"). Memang, set akronim yang ada yang dimulai dengan Y tampaknya sangat kecil. Implikasinya, inilah mengapa ekstensi file empat huruf YAML terasa sangat ditentukan spesifikasi.

Mungkin inilah mengapa kita melihat dalam praktiknya bahwa tekanan "linguistik" (digunakan secara alami) untuk memperpanjang singkatan yang dipermasalahkan menjadi empat (4) karakter lemah, dan tekanan "linguistik" untuk mempersingkat singkatan ini menjadi tiga (3) karakter kuat.

Mungkin sebagai akibat, mungkin, dari faktor-faktor ini (dan bukan sebagai dukungan resmi), saya akan mencatat bahwa item berita terbaru situs web YAML.org (mulai November, 2011) adalah tentang sebuah proyek yang ditulis dalam JavaScript, JS-YAML , yang, sendiri, secara internal lebih suka menggunakan ekstensi ".yml".

Faktor-faktor yang disebutkan di atas mungkin adalah faktor-faktor utama; namun demikian, semua faktor (diketahui atau tidak diketahui) telah menghasilkan singkatan karakter yang disingkat, tiga (3) menjadi yang paling banyak digunakan untuk YAML — terlepas dari preferensi penemu.

".YML" tampaknya menjadi standar de facto . Namun penemu yang sama tanggap dan benar, tentang kebutuhan dunia akan bahasa data yang dapat dibaca manusia. Dan kita harus berterima kasih pada mereka karena menyediakannya.

MarkDBlackwell
sumber
1
Gunakan ekstensi file ".yml" untuk YAML mendaftar banyak contoh konkret, rekomendasi, dan pengaturan konfigurasi default ke ".yml" yang ditemukan di alam liar.
MarkDBlackwell
1
Jika Anda mengutip Wikipedia, lebih baik Anda membaca sedikit lebih: YAML artikel 's mengatakan perpanjangan Nama file: .yaml,.yml
Charles Follet
1
@CharlesFollet, apa yang Anda kutip sebenarnya adalah dasar dari pernyataan saya, "Artikel YAML-nya mencantumkan kedua ekstensi, tanpa prasangka" (sekarang diedit ke "tanpa mengekspresikan preferensi"). Orang menggunakan kedua ekstensi; namun ".yml" mendominasi.
MarkDBlackwell
19
Ingatlah selalu bahwa Wikipedia adalah ensiklopedia kolaboratif . Saya edit halaman disambiguasi YML untuk mencerminkan bahwa itu hanya " umum ekstensi" bukan " the ekstensi".
NiñoScript
2
Sudah ada bahasa khusus domain YML (markup yang menghasilkan XML) selama bertahun-tahun, bahkan mungkin selama YAML. Hitungan pencarian Google Anda tidak menghitung kemungkinan telah menghitung referensi YML dan juga referensi YAML yang salah. YAML bukan spesifikasi berlebihan, ia menggunakan nama yang tepat untuk mencegah kebingungan.
Anthon
4

Setelah membaca banyak komentar orang secara online tentang ini, reaksi pertama saya adalah bahwa ini pada dasarnya adalah salah satu dari perdebatan yang benar-benar tidak penting. Namun, minat awal saya adalah mencari tahu format yang tepat sehingga saya bisa konsisten dengan praktik penamaan file saya.

Singkat cerita, pencipta YAML mengatakan .yaml, tetapi secara pribadi saya terus melakukannya .yml. Itu lebih masuk akal bagi saya . Jadi saya pergi dalam perjalanan untuk menemukan penegasan dan segera, saya menyadari bahwa buruh pelabuhan menggunakan di .ymlmana-mana. Saya telah menulis docker-compose.ymlfile selama ini, sementara Anda terus melihat di dokumen kubernet kubectl apply -f *.yaml...

Jadi, sebagai kesimpulan, kedua format jelas diterima dan jika Anda berada di ujung yang lain, (yaitu: sistem penulisan yang menerima file YAML sebagai input), Anda harus mengizinkan keduanya. Itu sepertinya kasus ular lain versus unta ...

Jacky Johnson
sumber
2
Jadi apa yang membuat lebih masuk akal bagi Anda untuk menggunakan untuk YML bahasa domain yang spesifik (yang telah ada selama mungkin selama YAML): yang .yl, .ym, atau .mlekstensi?
Anthon
2

.yamltampaknya merupakan ekstensi resmi, karena beberapa aplikasi gagal saat menggunakan .yml. Di sisi lain saya tidak terbiasa dengan aplikasi yang menggunakan kode YAML, tetapi gagal dengan .yamlekstensi.

Saya hanya menemukan ini, karena saya terbiasa menulis .ymldi Ansible dan Docker Compose. Karena kebiasaan saya gunakan .ymlketika menulis file Netplan yang gagal diam-diam. Saya akhirnya menemukan kesalahan saya. Penulis peran Ansible Galaxy populer untuk Netplan membuat asumsi yang sama dalam kode-nya:

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

Namun file dengan .ymlekstensi bisa diabaikan oleh Netplan dengan cara yang sama seperti file dengan .bakekstensi. Karena Netplan sangat pendiam, dan tidak memberikan umpan balik apa pun tentang kesuksesan, bahkan dengan netplan apply --debug, konfigurasi seperti itu 01-netcfg.ymlakan gagal secara diam-diam tanpa umpan balik yang berarti.

ChrisW
sumber