米国から見た日本のRuby事情(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。米国から見た日本のRuby事情(翻訳)開発2017.09.14米国から見た日本のRuby事情(翻訳)hachi8833シェアツイートブックマークLINEこんにちは、hachi8833です。2017@広島にちなんで、米国から見た日本のRuby事情の翻訳記事をお送りいたします。原著者の許諾を得て翻訳・公開いたします。米国サンタバーバラ、ダラス、サンディエゴに拠点を構える開発会社です。通常はリンクを日本語版に置換えますが、本記事では米国人が参照したリンクをたどりやすいよう、原則として英語リンクはそのままにしてあります。米国から見た日本のRuby事情(翻訳)最近のやりとりの中で「日本のRubyコミュニティにおけるRubyの使いみちは、米国とはだいぶ違うよね」という話題に触れたところ、ポカーンという顔をされてしまいました。「米国でRubyと言えばほぼRailsやWebアプリと相場が決まっているのにね」(英語圏の皆さまには言うまでもないことですが)と続けたところ「え、じゃ日本でRubyをRails以外の方面に使ってる人たちって、どんなことやってんの?」と一斉に聞き返されてしまいました。皆がその点に関心を抱く理由を知りたくなったので、そのまま会話を続けました。米国流のRails利用法は、問題に対してメモリやconcurrencyをがっつり割り当てる物量作戦ですが、日本流ではRubyをそういう風に扱いません。話すと、決まって「RubyでJITが使えさえすればいいものを...どうしてJITがないんだ?」という話になります。大量のメモリと引き換えに速度や並列性などを向上させる)なので、Webサーバーを実行させれば素晴らしいのですが、◯◯◯に使うにはちょっと...。それはともかく、日本のRubyistたちのRuby活用法を探ってみたいと思います。日本のRubyコミュニティはどこが違うか米国のRubyコミュニティは、ほぼRailsをきっかけに立ち上げられました。え、「Rubyはもっともっと前からあるゾ!」って?、はいもちろん存じておりますし、実際そのとおりです。米国でRubyが知られるようになったきっかけはやはりRailsだったのです。そのため、米国におけるRubyの命運はRailsの動向に大きく左右されます。Railsが盛り上がればRubyも盛り上がるというわけです。Railsはほぼピークを迎えて現在ゆるやかに逓減気味ですが、Rubyについても同じことが言えます。RubyにはRails以外の使いみちもあることは間違いありません。米国や英語圏では、両者は栄枯盛衰をともにしています。その点日本では少々趣が異なります。日本ではRails登場前からRubyが普及していましたし、日本でのRailsの普及は、Railsが米国で爆発的に広まったときほどに急速ではありませんでした。(米国における)Railsは引き潮気味であり、Rubyカンファレンスで見かける米国人も以前より減りつつあるようです。日本ではあらゆる地域にRubyコミュニティが根付いていて、コミュニティは増加の一途をたどっています。Centralの日本版であるRuby-no-Kaiは、今年既に6つ以上もの地域RubyKaigi(Rubyカンファレンス)を開催しています。日本国内だけでこれほどの開催数です。新興のカンファレンスもあれば、数年目を迎えたカンファレンスや今年で11年目(!)という古参のカンファレンスまであります。言わずと知れた国際的なRubyKaigiも開催されています。Conferenceもあります。Prizeの授与式を行っています。Rubyは日本では今も勢いよく成長しています。trackerで行っているんですね。運営の様子は誰でもここで見ることができます。日本政府によるスポンサーシップです。日本では、Rubyが日本で発明されたことが大変誇りに思われており、そのことが今も日本のRubyを支えています。福岡県の下部組織であるFCOCAは、多くの米国Rubyツアー、多くの組み込みRuby関連、さまざまなRuby関連コンテンストや賞のスポンサーを務めています。City」を名乗っています。各地域はミニチュア版シリコンバレーとして使われる特区を設置し、地方自治体がRubyによる町おこしに取り組んでいます。IoT機器を用いています(すべてではありませんが)。mrubyで日本政府によるスポンサーシップを非常によく見かける理由のひとつがこれです。聴衆の米国人から「なぜ組み込みRubyが必要なのですか?」とよく質問されています。日本人にとっては、日本で既にRubyがそのように使われているから、という面が大きいのです。実際、Rubyはメモリ消費が大きい割にうまく組み込めていますし、mrubyは本当にうまく組み込めています。英語圏のRuby界隈では、組み込みRubyやmrubyはそれほど大きな部分を占めていません。他にも、日本のRubyコミュニティに(米国との)大きな違いがひとつあります。それはコミュニティの一極集中です。Matsudaといったコアコントリビューターの多くが、10分から15分もあればお互いに行き来できるほどの近所に固まって住んでおり、頻繁に顔を合わせています。言うまでもなく、Matzもコミッターの定例会などでこうしたコアコミッターたちと定期的に会っています。地域カンファレンスの運営組織は1つだけのことが多く、カンファレンスのスポンサーも同じ顔ぶれの少数スポンサーが務めることが多いのです。ひとつ、RubyのコアコミッターのRubyに対する技術的な視点に影響を与えているポイントがあります。VMの作者であり、Rubyアソシエーションの理事でもあります)も最近までHerokuに在籍していました。Herokuは米国企業であり、親会社はSalesForceです。Herokuはホスティングサービスを提供する企業でもありますが、メモリ使用量(最もコストが高い)とCPU(アイドリングすることが多く、VM間での移動が容易)の折り合いの付け方について、Railsを生のEC2インスタンスにホスティングする米国企業とはいささか考えを異にしています。Herokuは、最小限のHerokuインスタンスでRubyが正しく振る舞うようにすることも真剣に望んでおり、実際にその意向はあらゆる面で十分納得のいくものになっています。Conferenceのプログラムを眺めることにしましょう。ユニットのテスト機にRubyを使った話です。2番目は組み込み用ハードウェアのアプリ開発に組み込みのmrubyを使う話でした。組み込みでやってるんです!3番目はEnechangeという電気料金比較サービスの話題です。Webサイトはあるようですが、これも米国で一般的に見かけるRubyベースのスタートアップ企業とはおもむきが違っています。続いて日立と永和システムマネジメントによるスポンサートークです。永和システムマネジメントの企業ページには「自動車の車載システム開発」とあり、ここでもきっと自動車での組み込みRubyに触れていたのではないかと思われます。続く2つのスピーチは科学技術系の話題と、機械学習インフラについての話題です。Worldにもそれぞれ同じテーマのスピーチがありましたが、これらについては日本のRubyコミュニティの方が活発です。Dataも見逃せません。同社は日本のRubyコミュニティへの影響力も大きく、著名なRuby開発者も擁しています。MindStormでmrubyを学ぶという話題です。英語圏のRubyコンベンションで見かけそうなテーマですが、ここでも組み込みを使っています。R-learning社の「Rubyで企業を成長させる」スピーチの後は、「小さな町で子供向けのプログラミング講座をはじめてみて」で、こちらもカリフォルニアやニューヨークのRubyコンベンションで見かけそうなトピックです。全般に、Rubyの応用よりも、ビジネスの話題や、アジャイル、DevOps、開発者の仕事の見つけ方など開発手法を話題にしたスピーチが多く目につきます。IoTセンサー企業によるスポンサートークでは酒造への応用を話題にし、続くスポンサートークではRailsコンサルタントが登壇しました。してみると、Rubyの利用法が米国と日本でまったく違うかのように考えるのは正しくありません。Railsを見かけることもあると思いますし、実際使われています。Railsの使われ方が一味違っていることにも気づくでしょう。クックパッドでは世界最大級の壮大なRailsモノリスを運営していますが、Railsを基本的にCMSとして使っており、コンセプトとしてはTwitterよりもむしろWordPressに近いでしょう。Rubyアソシエーション近影(Googleストリートビューより)言うまでもないことですが、英語圏のRubyもRails一色で塗りつぶされているわけではありません。米国のRubyカンファレンスでは機械学習やIoTの話題も取り上げられていますし、もしかしたら米国のどこかを走る自動車でとっくにRubyが動いているかもしれません。Schneemanのように、Ruby世界とRails世界は互いに強くつながっていることは間違いありませんが、両者が見つめる世界は同じではありません。Railsのみに完全に最適化しようとしないのだろうか」と疑問に思うことがあったら、日本のコミュニティを思い出すとよいでしょう。そこはRubyのふるさとであり、Rubyの開発はそこで行われているのですから。日本でもRailsは使われていますが、日本でメジャーになるのはまだ先のことです。Scottに深く感謝いたします。Zacharyが本記事のドラフトをレビューしてくれたおかげで多くの視点に気づくことができ、いくつかの大きな誤りも見つかりました。「日本のRubyコミュニティはどこが違うか」セクションの多くは、Zacharyが親切に教えてくれるまで私がまったく知らなかった情報です。Rubyとmrubyの生みの親であり、本記事でmrubyやHerokuの記述の修正に協力いただいたMatzにも深く感謝いたします。2、HTTP/2、セキュリティ、WebAssembly、後進へのアドバイス(翻訳)『ふくおか経済』に弊社関連会社ウィングドア代表の福原のインタビューが掲載されました。コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。enno.jpを運営。実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。