ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた

GitHubでスター数2,000以上を獲得したOSSである「The Platinum Searcher」。作者の三宅悠介さんに、シンプルでありつつも、高い性能を持つソフトウェアを作り出すための思考を聞きました。

ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた

一つのことを、うまくやれ──。
ソフトウェア開発の規範として、多くのエンジニアに影響を与えたUNIX哲学には、こうした言葉があります。事実、過去お話を伺ったOSS開発者たちも、この言葉の重要性を口にしてきました。非常にシンプルな言葉にも感じますが同時にある疑問も浮かびます。ソフトウェア開発において、どのように「一つのこと」を定義し、どのように「うまくやる」をイメージするのか、と。

  • find:ファイルを検索する
  • grep:文字列を検索する
  • print:検索結果を表示する

パターン検索ツールである「The Platinum Searcher」が持つ機能は、原則としてこの3つのみです。UNIX哲学を踏襲したかのような、極めてシンプルなOSSのツールですが、その利便性と検索速度によって、スター数2,000を超える人気のOSSとなりました。

では、作者の三宅悠介(みやけ・ゆうすけ/ 1 @monochromeganeさんは、どのように「The Platinum Searcher」の機能と果たすべき仕事を定義したのでしょうか。コードを書くその前にある、開発のための思考設計を聞きました。

解決したい課題はどこにある?

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録ボタンを押すと、利用規約プライバシーポリシーに同意したことになります。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く