Elixirの勉強の一環としてHexにライブラリを登録してみた。
Ubuntuのsysvbannerをポートした小さいライブラリ。
iex(2)> IO.puts Banner.banner("hello") # # ###### # # #### # # # # # # # ###### ##### # # # # # # # # # # # # # # # # # # # # ###### ###### ###### #### :ok
ここ2〜3ヶ月、Elixirを触ってみた所感。
- 悪くない…と思う。Goよりは性に合っている
- 英語ドキュメントが大変だけど、かなり充実していると思う
- たまにRubyの便利メソッドがほしくなる…程度の標準ライブラリの充実具合
- 破壊的変更をしないスタイルにはまだなれない部分がある。さしあたってStringIOの代替を捜索中
- OTPの世界観にもなかなかなれない。理念はわかるけど、MySQLのドライバがGenServerだったりするのを見ると「うーん、これはいい設計なのだろうか…」と思ったりする
- エラーの投げ方、受け取り方についてのスタンダードがまだ疑問。「無視してリスタート」がやり方らしいが、すべてにそれが通用するか不明。あと、例外はあんまり使わない、とチュートリアルに書いてある割に、よく見かけるような
- mixやhex—Rubyでいうところのbundler・gemあたりが整っているのはすばらしい。やっぱセントラルリポジトリからライブラリ落としたり、登録したりするのは便利だし楽しい
ちまたで騒がれているような熱狂的な感動はまだないけど、素性は良さそうなのでしばらく続けてみる。