Ruby だけで経験できること

これは Ruby Advent Calendar 2014 の6日目の記事です。
昨日は igrep さんの より「普通に」書くためのTest Doubleライブラリ「crispy」 でした。


Ruby Advent Calendar に参加するということで、 何かネタを考えなければなぁと思いつつ、なんとなく Rebuild Podcast の Ruby とそのコミュニティ界隈の話を聞いていた。

そういえば、私は数あるプログラミング言語のから、
なぜ Ruby を選んで使うようになったんだろう?

私は普段、業務システムの開発を請け負う仕事を(SI)をしていて、 プログラミング言語は何を使うのかを自分で選べないことも多く、 雑多に言語を触ってきた。

C/C++, C#, Java, JavaScript, Ruby, PHP, Objective-C などなど。

一番好きな言語をあげるとするならば、最初に覚えた C/C++ かなと思っている。
(斧を投げないで! 自分の頭が、少々イカれていることは自覚している)
Visual Studio って、すごくイイヨネー。

初めての Ruby 体験は、(正直に告白すると)最悪だった

最初に Ruby を触ったのは、とある仕事上のプロジェクトだった。 このプロジェクトでは、かなりつらい思い出だけが残った。 Ruby のバットプラクティスというやつを嫌というほど体験したからだ。

たくさんの処理が1行に詰め込まれたワンライナーの多用。
(読めないって)

クラスに定義されていないメソッドが、実行時にモリモリ増える。
(増やしている誰だ!?)

Mix-in の悪用(?)で、必要以上に細かく、 かつお互いに依存しあっており、 処理があっちこっちに飛びまくる。
(これって、悪しき多重継承となにが違うの?)

この時は仕事上、必要に応じてつまみ食いした程度の知識しかなかったし、 より良い方法は何なのかというのが全然わからなかった。 だから、より使い、より理解ができるようになるまでは、 決してディスってはいけないと、自分の心に言い聞かせていた。

きっかけは、些細な事だった

私はその頃、Ruby と傷つき、傷つけあいながら、
彼(彼女?)との今後の交際を真剣に考えなおそうとしていた…。

そんな折、福岡で開催された勉強会に、 Ruby のパパ、まつもとゆきひろさんが来ていて、会うことができた (※私は福岡在住)。 その時は、講演を聴き、交流会で名刺を渡した程度で、特に何の話もできなかった。

そんな交流とも言えないような交流だったんだけれど、
なんか妙な具合だった。

「この人が Ruby 作ってるのかぁ…」

「なんか思ってたよりも、この人、良い人そうだなぁ」

それが、本当になんか変な感じで、その次の瞬間には、

「この人が作っている言語だったら、なんかもう少し頑張ってみようかな」

という風に、意識がちょっとだけ変わった。

うーん。なんかこの時の心情の変化を、うまく説明できなくて…、 一目惚れのような劇的な変化というわけではないけれど、 ちょっと違う側面(可愛らしい一面?)を見つけたような気がして、少し見なおしたというか…。

日本人として Ruby をやれる喜び

Rebuild Podcast は著名なハッカーを招待し、 テクノロジーに関するトークをするというポッドキャスト。 ノウハウの塊のような番組で、まつもとさんの出演(※ 1, 2, 3)を始め、 Ruby 界隈の話題も豊富に出てくる。

特に a_matsuda さんが登場する回 の、次の言葉が、すごく心に響く。

(Ruby に関わるようになった、きっかけを問われて)
日本で Ruby のコミュニティに行ってみると、 当たり前のように中の人(Ruby の開発者)に出会えるんですよ。 それが、それまでに感じたことのない新鮮な驚きで..。

RubyKaigi って本当にコンテンツ力がすごくて、 お客さんとして行っていた時から感動してた。 少しずれるんですが、日本人として Ruby をやっている喜びってそこだと思うんですよ。
自分たちの母語で、世界一 Ruby が詳しい人の話を聞けるし、 質問や交流もできる。

いままでプログラミング言語の話って、英語でしかできなかったのに、 初めて日本語でやりとりされるコミュニティがある。 今の時代に、Ruby に関わることができて、すごい幸せだなと思っています。

56: Technically In Tokyo (a_matsuda) より引用、一部意訳

この言葉は、私が感じていた Ruby 続けていることの想いに当てはまると思った。

私のような付け焼き刃の地方エンジニアであっても、 福岡にいながら a_matsuda さんの仰っているような体験をしちゃっているわけで、 これは改めて、すごいことだなと思う。

Ruby の言語設計者と、そのコミュニティを身近に感じることができる環境って、
他の言語では得ることができないものでないか。


Ruby Advent Calender 2014
明日は michiomochi@github さんの Rubyのloggerをnewした後にログファイルを削除するとどうなるのか です。

Date: 2014-12-06

このエントリーをはてなブックマークに追加

komiyak

福岡県福岡市在住のソフトウェアエンジニア