銀天ライブラリのコンセプト

ライブラリを作るにあたって、ライブラリの方向性というものは非常に大事です。
特にこの銀天ライブラリのような、特にジャンルの決まっていない、こまごまとしたものを集めて形としたライブラリでは、そのコンセプトを明確に決めないと、とりとめのない、意味不明で無価値なコードの寄せ集めとなってしまうでしょう。
そこで、銀天ライブラリでは、以下の二つのコンセプトを柱として開発することを決めました。すなわち:

  1. ドキュメントやコメントは、日本語で大量に書く
  2. なくてもいいがあると少し便利、という機能のみを扱う

この二点です。


一つ目は、さらに詳しく言うと、『銀天ライブラリのドキュメントは原則として全て日本語で表記し、ソースコード中のコメントも( never throws [例外投げない] とか type definitions [型の定義] といった端的な英語以外は)全て日本語による表記で統一する』ということです。
これは、銀天ライブラリが「自分用」であるために必要です。
このライブラリは、せっかく書いたので一般公開しますが、基本的には自分の為に作っているライブラリです。
自分の為、というのを少し詳しく言い換えると、即ち自分の便利の為、というのと、自分の学習の為、という二点。
そのどちらにしても、ドキュメントやコメントの量は多いに越したことはありません。ドキュメントをケチって使いにくくなるのは避けるべきですし、復習がてらライブラリのソースコードを見返した時に何をやっているのか意味不明では学習になりませんから。
また、何故『日本語で』とあえて名言したかというと、これは、日本語で書かれたライブラリを増やしたい、という目的からです。
というのも、多くの日本人には、たとえ英語を読むことが出来る人でも、英語を見るとどうしても敬遠しがちになってしまう点がある、と常々思うからです(かくいう自分もそうです)。
多くのライブラリ、特に言語の最先端機能をふんだんに使ったようなものは、その殆どが英語で書かれています。
普通の日本人プログラマは、そんなライブラリに出会った場合、『英語苦手だし自分には無理だろ』と無意識に敬遠するのではないでしょうか? 少なくとも自分はそうです。
もちろん、訓練されたプログラマは、英語のライブラリでも構わずに使い倒すのでしょう。とても素晴らしいことだと思いますが、上級プログラマの皆がそれでは、現状は変わりません。英語を見た瞬間に「げっ」と感じる中級以下のプログラマは、いつまでたっても素晴らしいライブラリには巡り合えないのです。悲しいことです。
これについて、日本人でも親しみやすいよう、英語ドキュメントの翻訳を進めていくという方法もあります。が、翻訳する過程でどうしても誤訳が紛れ込んでしまい、正確な情報を期するには、結局英語のドキュメントを読む必要があるのも事実。
ということで、最初から日本語で書かれたライブラリが少しでも多くあったほうがいいな、と思い、あえて『日本語で』を強調するのです。
また最初に書いた「コメントを大量に書く」ことのメリットは、ここにも活きてきます。(日本人にとって)読みやすい日本語で書かれたライブラリが、大量のコメントのある読みやすいソースコードで提供されていれば、その中身を調べて自分のプログラミングに応用しやすくなるでしょう。故にこれが、コンセプトの一つ目です。


そして二つ目は、より詳しく表現すると『革新的なアイデアや、プログラマの手間を大幅に削減できるような機能は、たとえ見つけたとしても銀天ライブラリには収録しない。あくまで、なくてもいいが有ると便利、代替可能な一手段としての機能のみを提供する』ということになります。
これは特に深い理由はありません。強いて言えば、革新的なアイデアとかそういうのを見つけた場合は、日本語で書かれた日本人にしか読めないライブラリの一部にするより、それ専用のライブラリを英語で書いたほうが、全世界のプログラマの役に立つはずだからです。
そもそも、このライブラリの存在意義は『普段プログラムを書いていると頻繁に出現する、いわゆる”よくある”表現を予めプールしておく』程度なのです。下手に色気を出して失敗するようなことは有ってはなりません。故にこれが、もう一つのコンセプトになります。


と、どうでもいいことを長く書きましたが、使う側はこんなことは意識する必要はありません。
そもそもこのライブラリを手に取るような人は、日本語でドキュメントが書かれていることを疑問に思わないでしょう。
各機能についても、便利なら使えばいいし、そうでもなければ使わなければいい、というだけのもの。
あくまでも、一個人の作った、あってもなくてもいいコード断片集としてこのライブラリを見て、そして気に入ったら断片でも使っていただければ幸いです。
最後に、ここまで読んでくれた貴方に、無上の感謝を。
銀天ライブラリの ver1.0.0 は近日公開予定です。