ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja ja ja ru ja ja ja ja ja ja ja ja ja pl ja ja ja ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja pl ja ja ja ja en ja en ja en ja ja en ja ja vi ja sv eu ja en en hu ja ja en en pl ja ja jbo hbs_lat en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja
RubyKaigi 2022に現地参加してきました! #rubykaigi - 2022-09-14 - ククログ
最近は少しずつ慣れてきており、他の慣れている言語と同じくらいのペースで読み書きできるようになってきました。 しかし、Pythonの方が使い慣れているし、たくさん使われていそうなのでなんとなく機能も強そうと思ったりして、スクリプト言語を使いたいときは自然とPythonに手が伸びることも多々ありました。
RubyKaigi 2022を楽しむ
そのような状態の私でしたが、RubyKaigi 2022に現地参加することになりました。 クリアコードがRubyKaigi 2022のスポンサーになっているのでチケットがあり、私が参加させてもらえることになりました。
ということで須藤社長と2人でいざ三重へ。
3日間にわたって講演を聞くのはもちろんですが、 講演の空き時間などにも須藤社長のお知り合いの方々に紹介していただき、色々なお話を聞くことができました。 GitHub上で見かけた方とも直接会えたりもしました。 GitHub上でやり取りする人が直接会ったことのある人だということは楽しいです。 ククログを読んでるよ!と言ってくださる方もたくさんいらっしゃって、身近なところで読んでもらえてるんだと思うと嬉しかったです。
講演が終わると、毎日誰かを誘って松坂牛や伊勢海老などを食べに行きました (あまり大人数にならないように、かつお酒を控えめに)。 その時にも面白い話をたくさん聞けました。
講演自体も面白かったですが、高速化の話や並列処理に関する話は難しくてあまり理解できないものも多かったです。 それでも最前線で皆さんが取り組まれていることのジャンルや雰囲気が分かりましたし、 講演以外の時間でも色々なお話を聞けました。
Rubyは開発者に自由を与えることを大事にしている
Rubyは開発者に自由を与えることを大事にしている、ということを何度も感じました。 自由に開発できてプログラミングを楽しめる言語を目指しているのだと感じました。 カッコいいですね!
色々な書き方や使い方ができることや、Pythonの型アノテーションのようなものが積極的には導入されていないことには、 このような背景があるのだろうと納得しました。
特に型の情報が全くない状態で大規模なソースコードを保守できるのか、型が欲しくならないのか、 ということはずっと気になっていたことで、今回須藤さんのお知り合いの方にお聞きすることができました。 規模が大きくなっても型の情報無しで十分保守できる、ということをお聞きできました。
例えば、あるメソッドの引数が何の型であるかはそこまで気にしなくて良いということでした。 変数の名前やメソッドの名前通りにそれらは振る舞うはずであり、そのレイヤーでそれらの内部の実装まで踏み込む必要は通常ありません。 もしその内部までロジックを追う必要があった場合も、コンテキストや変数の名前などから実装を特定できるべきですし、 それが難しかったとしても実行時に直接そのオブジェクトに問い合わせれば分かります。
次のようにbinding.irbをコードに挟むことで、その時点でirbを起動させることができます。
class TestObj def initialize(a) @a = a end def print p @a end end a = TestObj.new("aaa") binding.irb a.print
irbが起動したら、例えば次のように調べることができます。
# 現スコープのローカル変数一覧 irb(main):001:0> local_variables => [:_, :a] # 変数aのクラス情報など irb(main):002:0> a => #  # 変数aのprintメソッドの定義場所 irb(main):003:0> a.method(:print).source_location => ["test.rb", 6]
このように、講演以外でも色々と勉強になった3日間でした。
Rubyのコミュニティが面白い!
3日間を通して強く感じたのは、Rubyのコミュニティの面白さです。
特に、2日目のMatzさんの講演や、"Ruby Committers vs The World"はとても刺激的でした。
Matzさんの「Rubyはメジャーじゃなくてもいい、マイナーでも自分達の価値を追求していくだけだ」というお話が強く印象に残っています。 自分も、Pythonの方がメジャーだからという感覚だけで、なんとなくRubyは不便なんじゃないか、Pythonの方がカッコいいのではないか、と思っていた部分があったように思います。 実際にRubyの機能不足で困ったことがあるわけではないのにも関わらず、そう思ってしまっていた部分がありました。 Matzさんのお話をお聞きして、Pythonの方がメジャーだから、という理由だけでRubyを使うことを避けてPythonを使うことは、もったいないことだなと感じるようになりました。 Matzさんのお話でもう一つ印象に残っていることは、「Rubyの価値はこのコミュニティだ」ということです。 その通り、RubyKaigiではコミュニティの面白さを強く感じました。
"Ruby Committers vs The World"では、コミッターの方々がRubyの仕様について熱烈に討論されているのを目の前で見て、とても刺激的でした。 それを見ていて、これこそがRubyのすごいところだと感じたのです。 それは、Rubyが日本からスタートしているおかげで、このようなグローバルなカンファレンスが日本で行われたり、最先端の話を生で日本語で聞いたりできる、というところです。 Rubyのような言語の開発が、このような面白いコミュニティによって、日本人のとても身近なところで行われていること、それが自分にとってのRubyの価値だと感じました。 偶然日本に生まれ、須藤社長のいるクリアコードに入社したのだから、こんな身近な面白いコミュニティに積極的に関わらないという手はありません。
もっともっとRubyと関わっていきたいなと、思いを新たにした自分でした。
今回の記事では、RubyKaigi 2022に現地参加して感じたことを紹介しました。
Rubyの見方が大きく変わった3日間となりました。英語に堪能でない私のような日本人にとっては、Rubyとそのコミュニティほど身近なところでワクワクさせてくれるものはありません。 自分なりの形で少しずつでもRubyの発展に貢献していきたいと強く思いました。 まずはRubyの色々な面白いツールを使ったり作ったりするところから始めていきたいと思います。
クリアコードの須藤社長はRubyのコミッターの1人です。 クリアコードではRubyを使う仕事はもちろん、Ruby以外でも様々な自由ソフトウェアのオープンな開発を行っています。 興味を持たれた方はクリアコードの採用情報をぜひご覧ください。
社長の須藤はRubyのコミッターです。Rubyに関する記事をたくさん公開しているので、ぜひご覧ください。 ↩
クリアコードはFluentdの開発/メンテナンスに参加し、サポート/コンサルタントを行っています。詳しくはFluentdのサポートサービスをご覧いただき、お問い合わせフォームよりお気楽にお問い合わせください。 ↩
現在クリアコードではソフトウェア開発者を募集しています! フリーソフトウェア開発での開発の仕方をベースに、成果や知識を公開し共有しながら業務に携われます。
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow #rubykaigi
RubyKaigi 2022 after event for Fast data processing with Ruby and Apache Arrow #rubykaigi
Apache Arrow
milter manager
ククログの記事はCC BY-SA 4.0とGFDLのデュアルライセンスで自由に利用できます。
クリアコードはプログラミングが楽しいソフトウェア開発者を1名募集しています。
クリアコードは「クリアコードをいい感じにする人」を1名募集しています。
クリアコードはフリーソフトウェア開発で培った技術力を提供しています。特にMozilla製品(Mozilla FirefoxとMozilla Thunderbird)とRubyとGroonga(全文検索)に関連した開発を得意としています。