Hexにライブラリを登録してみた

Elixirの勉強の一環としてHexにライブラリを登録してみた。

banner | Hex

github.com

Ubuntusysvbannerをポートした小さいライブラリ。

iex(2)> IO.puts Banner.banner("hello")

 #    #  ######  #       #        ####
 #    #  #       #       #       #    #
 ######  #####   #       #       #    #
 #    #  #       #       #       #    #
 #    #  #       #       #       #    #
 #    #  ######  ######  ######   ####
:ok

ここ2〜3ヶ月、Elixirを触ってみた所感。

  • 悪くない…と思う。Goよりは性に合っている
  • 英語ドキュメントが大変だけど、かなり充実していると思う
  • たまにRubyの便利メソッドがほしくなる…程度の標準ライブラリの充実具合
  • 破壊的変更をしないスタイルにはまだなれない部分がある。さしあたってStringIOの代替を捜索中
  • OTPの世界観にもなかなかなれない。理念はわかるけど、MySQLのドライバがGenServerだったりするのを見ると「うーん、これはいい設計なのだろうか…」と思ったりする
  • エラーの投げ方、受け取り方についてのスタンダードがまだ疑問。「無視してリスタート」がやり方らしいが、すべてにそれが通用するか不明。あと、例外はあんまり使わない、とチュートリアルに書いてある割に、よく見かけるような
  • mixやhex—Rubyでいうところのbundler・gemあたりが整っているのはすばらしい。やっぱセントラルリポジトリからライブラリ落としたり、登録したりするのは便利だし楽しい

ちまたで騒がれているような熱狂的な感動はまだないけど、素性は良さそうなのでしばらく続けてみる。