Skip to content

Instantly share code, notes, and snippets.

@mrkn
Created October 5, 2017 03:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrkn/8cc05a2602caed0dce7617dbdebdd394 to your computer and use it in GitHub Desktop.
Save mrkn/8cc05a2602caed0dce7617dbdebdd394 to your computer and use it in GitHub Desktop.
# Ruby とデータサイエンスの関係のこれまで
- その昔 (Ruby 1.6 くらいの頃)、Ruby には NArray という numpy 的な数値配列ライブラリがあって、線形代数演算をするときはこれを使っていた。
- NArray の開発が inactive になってしばらくして、NArray に影響されて NMatrix というライブラリを John Woods さんが作った。
- John は SciRuby を立ち上げて、Ruby の科学技術計算ライブラリ群を増やそうと地道な活動をしはじめた
- SciRuby は当初は勢いがあった (?) が次第に静かになっていった。GSoC では毎年プロジェクトを実施しているが、毎年出るアイデアが長期的視野を持っておらず、継続性もないため、ライブラリの出来は悪く、お世辞にも実用的とは言えないものだらけになっていました。
- そうこうしているうちに、Ruby はデータサイエンスの盛り上がりから除け者状態になっていった
- 2015 年頃、NArray を作っていた田中さんが復活し、新しく Ruby Numo というプロジェクトを立ち上げ新しい NArray を出した
- 2016 年、私は「このままではいつまでたっても Ruby をデータサイエンスで実用的に使えない」と危機感を抱き、PyCall の開発を開始した
- 2017 年、私は PyCall の最初の安定版をリリースし、Python を下働きさせることで Ruby をデータサイエンスで使える最低限の状況を作った
- 他の言語に依存せずとも最低限の仕事で使える状況を作っていきたいが、開発者もユーザも足りない (イマココ)
# Ruby のためのデータツールの現状
- 数値配列ライブラリは NArray と NMAtrix の2種類があり、それぞれ非互換である。
- NArray と NMatrix はそれぞれ異なるポリシーのもとで開発されているため、両陣営が一緒になって一つのものを作り出す状況がすぐに訪れることはない。
- Daru というデータフレームライブラリがあるのだが、実装が混沌としており、思い切って再実装をする方が良い状態である。
- Red Data Tools というプロジェクトがあり、これは Apache Arrow を中心とするエコシステムに Ruby を繋げることを目指して活動している。
# RubyData の目的
- 様々なポリシーのもとで異なるものが開発されている現状を肯定し、それらすべてが一つの場に集まれるようにしたい。
- Ruby ユーザはデータサイエンスの世界から距離があるはずなので、彼らがデータサイエンスともっと仲良くなれる場所を用意したい。
- 既存のツールを試しやすい環境、議論しやすい場所を用意し、ユーザを増やすことで結果的に Ruby のためのツールを開発する人を増やしたい。
- 数年後に訪れる Apache Arrow 全盛時代を想定し、Ruby ユーザが Ruby の世界に閉じず、適切な道具を Ruby と一緒に使えるように誘導したい。
# RubyData の手段
- 各地で Workshop を開催し、Rubyists をデータサイエンスの世界に誘導する
- 「RubyData にくれば欲しい情報が手に入る」という状況を作り、一箇所に人を集めてコミュニティを活性化する
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment