numo-narray に依存している Gem の一覧を作ってみた

Qiitaの記事:特定の gem に依存している gem の一覧を調べるによると、RubyGems.org の提供している下記のAPIを叩くことで、簡単に依存しているGemを調べることができるらしい。

これでnumo-narrayの依存しているGemを検索してみるとしよう。

2019年1月6日現在で

numo-narray に依存する Gem

Gemの名前内容
ruby-dnnディープニューラルネットワーク
gray_scott_gtk3反応拡散系
svmkit機械学習
smalltext文書分類
cumoGPU対応
numo-linalgBLAS/LAPACK バインディング(公式)
red-chainerディープニューラルネットワーク
nnニューラルネットワーク
rubexRuby拡張のためのプログラミング言語
machine_learning_workbenchベンチマーク??
hanny最小近傍法
numo-gslGNU Scientific Library 対応(公式)
neural_network_rbニューラルネットワーク
ffi-gdalGDAL(地理空間データ)
dicom医用画像
magnifier-ruby異常検知
numoネームスペース(公式)
numo-fftw離散フーリエ変換
red-arrow-numo-narrayApache Arrow
rblearn機械学習

こんな感じだ。こうやってリストにして表示してみると趣がある、

 個別のプロジェクトを眺めていても、プロジェクトや作者の隠せない個性みたいなものがちらっと見えたりして、とそれなりに楽しい。作者の名前もだいたい1回は見たことがある気がする。完全に観測範囲外だったのが、ruby-dnn と、ffi-gdal と magnifier-ruby。

 numo-narray が依存しているプロジェクト全体の広がりみたいのも結構面白い。

 こうやって眺めていると、一般の人がどんどんプログラミングができるようになって…開発者とユーザーの境界がなくなっていく、みたいなのは幻想なんだろうな、とふと思った。pythonやnumpyのような過密地域ではどうだか知らないが、Rubyのデータ処理のような過疎地域では、ユーザーの集合が、そのまま開発者の集合みたいな世界になっていて、みんなコツコツ自給自足しているようだ。そして、そういう世界では、プログラムはものすごくできるか、全然できないか、のどっちかしかありえない。初心者が生きるには厳しすぎ、上級者はあまりにも長くそこに定住して上級者になっていく人たちだからだ。

 そんななか、ひたすら開発者の道具をつかっていくユーザーが開発者の3倍ぐらいる状況がたまたま誕生すると、コミュニティは大きくなっていくと思う。そのような状況下でのみ、コミュニティが拡大し、コミュニティが拡大するほんの短い期間だけ、初心者と、中級者と、上級者がグラデーションのように存在するのだろう。それ以外の時間は、消滅する初心者と、ひたすら強い上級者だけが存在し、多様性が失われる。

 データの裏付けは何もないが、そんなことを考えた。

 考えてみると、数年前からこのブログでnumo-narrayの宣伝をしているが、ブログを読んで「パソコンに強い人たち」が numo-narray を使っていろいろ「すごいもの」を作ってくれたら、私は非エンジニアとしてRubyを使い続けながらその成果物を利用できるんじゃないか。みたいな下心が強く渦巻いていたことは否めない。というか今でもある。実際にはそんなことは起きなかったけれども。

 しかし、上記の結果をぼーっと眺めていると、「パソコンに強い人たち」がRubyで「すごいもの」を作る現象は、これからも起きにくいんじゃないかという気がする。それに、なんというか、最近は、本当に面白くて大事なところって、「そこ」じゃないんだろうな〜、という気もしている。これは最近生まれた気持ちなので、どういうことなのか自分でもよくわからない。

 あとは、何というか自分のような人間は思っている以上に希少ということが再確認された気がして、微妙にうれしくない。まさか「初心者が numo-narray を使って役に立たないけど面白いものを作ってみました」的なGemがこんなに少ないとはね。オリジナリティがあるのは結構だが、Rubyの代わりにPython勉強した方がよかったかな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です