1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YAMLの歴史と語源

Posted at

はじめに

身近で使用されているものの、よく知らないYAMLについて調べました。

あまり馴染みのない方に説明すると

  • docker-compose.yaml(Dockerで複数のコンテナを同時に扱うためのファイル)
  • Railsのlocalの記述
  • mdエディタ「Obsidian」などで使われるYAML frontmatter

などで使用されています。

1. YAMLの歴史

公式サイトを要約すると以下のとおりです。

  • 2001年:初期のフレームワークが作られる。言語はPerl
    XMLの簡素化などの目的があった。
  • 2003年:Rubyが初めてYAMLをコア機能として採用
  • 2004年:YAML 1.0を公開
  • 2005年:YAML 1.1を公開
    この頃、JSONが注目され始める。全くの偶然だが、JSONはYAMLのサブセット(下位集合)と言えるものだった。
  • 2009年:YAML1.2を公開
    YAMLをJSONの厳密なスーパーセット(上位集合)とすることが主眼。
  • 2021年:YAML1.2.2を公開

2. YAMLの語源と意味

公式サイトから引用します。

YAML (a recursive acronym for “YAML Ain’t Markup Language”) is a data serialization language designed to be human-friendly and work well with modern programming languages for common everyday tasks.

DeepLを参考に日本語に訳すと

YAML(「YAMLはマークアップ言語ではない」の略)は、
人間にやさしく設計されたデータ・シリアライズ言語。
モダンなプログラミング言語でも動作し、日常的なタスクに使用される

といったところでしょうか

シリアライズ言語についてはこちらに書かれています。

引用すると

シリアライズとは

直列化を意味し、オブジェクトが持つデータをコンピュータが読み書きできるようにバイナリデータへ変換すること。
これによってデータをファイルとして保存したり、ネットワークで送受信できるようになる。
シリアライズ言語はシリアライズしたデータを表すためにフォーマット

また、シリアライズ言語の種類としてはYAMLの他にJSON・XMLがあります。
その関係性は、YAMLの歴史で述べたとおりです。

おわりに

YAMLは「YAML Ain't Markup Language」の略、というのが面白かったです。
再帰的な頭字語、珍しい。

「Ain't Markup Language」とわざわざ言っているのも面白いですね。
「マークアップじゃないんだぞ!」というのが重要ポイント。

実は、初期には「Yet Another Markup Language」(もう一つのマークアップ言語)と呼んでいたらしいです。その否定の意味がある、と考えると納得の命名です。

さて、次は何を書こうかしら・・・

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?