先日リリースされたElixir 1.5は、開発者エクスペリエンスに数多くの改善点がある。開発者エクスペリエンスの最初の改善点は、ElixirのインタラクティブなシェルであるlExの中に見ることができる。例えば、

変数名とユーザインポートの自動補完が可能になった。

モジュール内のすべての関数とマクロをリストする exports/1 など多数の新機能に加えて、Erlang/OTP 20実行時のブレークポイントがサポートされた。具体的には、 break によるブレークポイントのセットと、そのブレークポイントがヒットした現在位置を whereami で表示することが可能になる。

さらに、次のことが可能になった。

モジュール内での子プロセスの管理方法の指定。

@impl 属性を使用してコールバックを明示的にマークすることによる、コードの可読性向上とエラー検出の支援。

属性を使用してコールバックを明示的にマークすることによる、コードの可読性向上とエラー検出の支援。 アトム、変数、関数名でのUTF-8の使用。

Elixirの開発者兼メンテナであるJosé Valim氏に、Elixirの現在の状況について話を聞いた。

あなたは現在、Elixir開発にどのように関わっているのですか？

Elixirの支援企業であるPlataformatecでのR&Dディレクタの業務の一環として、Elixirにフルタイムで関与しています。しかし実際にやっていることは、これとはまったく違います。Elixir Teamは私自身を含めて5名の開発者で構成されていて、同言語の開発とメンテナンスを担当しています。それ以外にも、言語開発の歴史を通じて、リポジトリには580人以上のコントリビュータを抱えています。

去年１年間のElixir開発がどのようなものだったか、簡単に説明して頂けますか？

2014年9月に1.0に到達して以降は、言語的には安定しています。つまり、改善がインクリメンタルであると同時に、開発エクスペリエンスの改善やElixirを実務に使用している企業が発見したギャップの解決が中心である、という意味です。

業界やオープンソースプロジェクトへのElixirの普及状況については、どのように思っていますか？

言語としては今後、どのような方向に進化していくのでしょうか？

先日のElixirConf US 2017で行なった基調講演で、Elixirが今後、いかにして生産性や保守性、信頼性を念頭に置いた発展を続けるかを説明しました。特に次のバージョンでは、企業やコミュニティが使用するコードスタイルを統一するためのCode Formatterが導入される予定です。Elixirに特性試験(property testing)の思想を導入する作業も行なっています。開発者が意図を持って設計し、完全にテストされたソフトウェアを書く上で役に立つでしょう。