アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用
コメント
注目のコメント
ソフトウェア開発において設定が果たす役割は年々重要性を増し、それにともなってその複雑性も増しています。JSON、YAML、XMLなどの既存の静的データ形式は、読み書きの難しさ、大規模なファイルを複数の小さなファイルに分割する機能の欠如、スキーマの検証機能の不足といった問題を抱えています。
このような課題に対応するため、AWSのインフラ構成を記述するCloud Development Kit (CDK) などのフレームワークでは、TypeScriptやPythonなどの汎用プログラミング言語を設定のための記述言語として採用しています。しかし、これらの言語は設定専用ではないため、設定の読み書きやデバッグが困難な場合があります。
Appleが発表したPklは、これらの既存技術の問題点を克服することを目指した、設定専用の言語となっています。
従来のアプローチとの比較については以下に詳しく書かれています。
https://pkl-lang.org/main/current/introduction/comparison.html
また、Pklの実際の文法などはチュートリアルを見るとイメージがつかめます。個人的には、文法がシンプルで人間にとって読み書きしやすい点が気に入りました。スキーマの検証や各プログラミング言語への対応といった機能面、運用面も充実しています。
https://pkl-lang.org/main/current/language-tutorial/01_basic_config.html
Apple自身、現状はiOSやmacOSの設定ファイルにプロパティリスト(plist)形式を使用していますが、将来的にはこれをPklに置き換えていく可能性もあるかもしれません。Appleにしては珍しいタイプのオープンソースかも
今までのAppleのオープンソースは、自社プロダクトと強い関係のあるものが多かった
- Swift : iPhoneやMacのためのアプリ開発言語
- WebKit : SafariのHTMLレンダリングエンジン
今回のPkl (ピックル) は、さまざまなソフトウェアに共通する設定ファイルを記述する言語。
クローズドな文化のAppleが、プロダクトと関係の薄いオープンソースを提供するのは、珍しいかも。実際にサービスの設定ファイルを出力する際に使ってみたいところです.
たしかに型安全性や再利用性は向上しそうですが,エンジニア以外が触る設定ファイルのコラボレーション速度を落とさずに使えるかどうかはまだ未知数に感じますね.