米Appleは、システム構成を作成するためのプログラミング言語であるPkl(発音はピックル)を、2月1日(現地時間)にオープンソースで発表した。
従来、システム構成を作成するためのプログラミング言語としては、JSON、YAML、プロパティリストといった静的言語が一般的だったが、表現力に乏しくコードが頻繁に繰り返される、検証機能がないため構成エラーが発生しやすくなる、といった欠点もある。
これらの欠点を解消すべく、特別なロジックの追加によるフォーマットの強化や、汎用のプログラミング言語を用いた構成データの生成といった方法も用いられているが、それぞれに欠点を抱えていた。
今回リリースされたPklは、静的言語と汎用プログラミング言語を組み合わせており、宣言型で読み書きしやすい一方で、汎用言語から導入した機能によって強化されている。クラス、関数、条件文、ループといった言語機能が使用可能で、抽象化レイヤを構築してパッケージを作成・公開することでコードの共有もできる。さらに、さまざまな種類の構成ニーズを満たし、任意の形式で静的構成ファイルを作成したり、ライブラリとして別のアプリケーションランタイムに組み込んだりといった使い方も可能となっている。
開発チームでは、以下のような包括的な目標を掲げて、Pklの設計にあたったという。
- デプロイ前の検証でエラーを検出することによる安全性の確保
- 単純なユースケースから複雑なユースケースまでの幅広い拡張性
- 書くことを楽しくするためのIDE統合の導入
あわせて、IntelliJ、Webstorm、GoLand、PyCharmといったJetBrainsエディタにおけるPklサポートを提供するためのIntelliJプラグインや、Visual Studio Code向けプラグイン、neovim向けプラグインをリリースしているほか(Visual Studio Code向けプラグインとneovim向けプラグインは、現時点で構文の強調表示やコードの折りたたみといった基本的な編集機能のみサポート)、さまざまなエディタで高いレベルの統合を提供する、Language Server Protocolのサポートも予定している。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です