Homebrew で自分のためだけの細々としたツール類を公開するのが楽しい。naoty/homebrew-misc という tap を作って、そこにツールのための Formula を置いている。brew tap naoty/misc
を実行すると、インストール可能になる。
自分で作ったソフトウェアを日々自分で使っていると、ジワジワと幸福感が広がってくる。rubygems など、特定の言語、特定のバージョン、特定のライブラリに依存したソフトウェアはずっと使っていくことができなくなるかもしれない。使えなくなった頃には、もうそのソフトウェアを書き直す意欲やモチベーションは失われているかもしれない。
できれば、コンパイル済みの実行ファイルのみを配布できるようにしたい。Go を好んで使ってるのはそういう理由だ。Go 以外の言語を使う場合は 2 パターンある。
- その言語でなければ実現できない機能。macOS の機能を使ったソフトウェアは Swift で書くだろう。naoty/flock もこの理由で Swift で書かれている。
- ソフトウェアの利用者が特定の言語の利用者に偏ってる場合、メンテナンスしやすさを考えて利用者の言語でソフトウェアを書くことになりそう。CocoaPods や Fastlane が Ruby で書かれていることは、この理由で個人的に好きではない。
自分のためのツールを Homebrew で配布するのは、仕事用の PC でもプライベート用の PC でも使えるようにしたかったり、PC を新調しても使えるようにしたいからだ。ポータビリティを高めて、ずっと長く使えるようにしたい。自分は iOS アプリのプログラマーなので、Linux に移ることはしばらくないと思う。なので、Homebrew を使ってる。まだ Homebrew に移せていないツールがたくさんあるので、隙を見て移していきたい。