趣味でRubyしててもいいじゃないか

http://d.hatena.ne.jp/scinfaxi/20080425/1209108271

趣味で RubyPythonPHPPerl なんかをやる 奴の気がしれない。それ、趣味じゃなくて仕事じゃん。給料もでないのに Ruby を書く奴の気 がしれない(作者でさえ、それで生活しているのに)。

Ruby=仕事という時代がとうとう来たんだなと実感した。

Rubyはまつもとさんが趣味で作った言語だ。Perlのようなテキスト処理ができて純粋オブジェクト指向スクリプト言語ってないかな〜って話がきっかけで開発に至った。もともと金儲けは考えていなかったし、細々とやっていこうと思ってたんじゃないかな。まさかここまでブレイクしてRubyで生活できるなんて思ってもみなかった…というのが正直なところだろう。

俺ははるか昔、趣味でC言語やPerlをかじっていた。当時はPerl3だか4だったな。Perl5がでてオブジェクト指向できるようになったのだが、オブジェクト指向についてよくわからなかった当時の俺は何度も何度も挫折した。そのときRubyという日本発の言語があることを耳にしたから試してみようと思って試したら俺の感性にぴったりとハマった。いわば「ひとめぼれ」だ。Rubyオブジェクト指向が自然な形で言語に組み込まれているから何年かかってもわからなかったオブジェクト指向がわずか数時間でくっきりわかるようになった。この感覚は10年たった今でもはっきり覚えている。

blessとかを見るといまだに寒気が走るほどのトラウマ…

古株Rubyistとして言っておくが、俺は10年間趣味兼実用でRubyしているし、ひとめぼれした当初よりもはるかに深く愛している。そして、現在Rubyで仕事できることがとても幸せだ。俺のような元落ちこぼれPerl使いの能力をここまで引き上げてくれたのはRubyのおかげだ。

出会った当初、まさか仕事でRubyが使える時代が来るなんて思いもよらなかった。プロバイダーではPerlしか置いていなくて、Rubyの使えるプロバイダーがなくて肩身の狭い思いをしたのも今は昔。なつかしい思い出になっている。今じゃ猫も杓子もRuby on Railsだもんな…時代じゃのう。

あなたの言うようにいいプログラムを書くには抽象化が壁なのは同意するのだが、本当に身に付けるには長年の修行が必要だ。あくまでちょっとした趣味のプログラミングで高度な抽象化が必要なのかどうかは怪しい。関数の導入は「あっちと、こっちと、そっちが同じだから、ひとつにまとめるとすっきりするよね」でいいじゃないか。

コードの抽象化って掃除や化粧に似ていると思うんだ。散らかっているから片付ける。コードをきれいに整える。プログラミングって案外女性のほうが向いているのかもしれないよ。

最初のプログラミングは「Hello, world!」でいいじゃないか。抽象化を極めたければSICPを読めばいい。

俺が初心者にLispSchemeをすすめない理由…やっぱり括弧問題だ。Lispは大好きだし一騎当千の言語だと思うが、あの括弧は初心者にはきつい。Lispを教えるためには、まずエディタの使い方を教えないといけない。エディタに精通していないと括弧の対応が取れなくてパニックになるのは必定だからだ。括弧に耐性がつくようになるには何年もかかる。俺もelispを10年以上書いてきたけど、耐性がついたのはここ数年前だ。Lispを本当に好きになったのはSICPとOn Lispを読んでからだ。ひとつの言語をマスターして第二言語を求めている人がいるのならば、俺は遠慮なくLispをおすすめする。

Rubyは俺にオブジェクト指向プログラミングの作法を教えてくれた - http://rubikitch.com/に移転しましたプログラミング言語はLispに回帰しているんだろう - http://rubikitch.com/に移転しましたも参照。

Ruby on Railsしか知らないでRubyを知ったかしているのは、ピカチュウしか知らないでポケモン知ったかしてるようなものだと言っておこう。RubyRails言語だけではない。

趣味でも仕事でもRubyプログラミングしている人がここにひとりいる。Ruby愛してまーーす!

追記

俺は趣味でもRubyプログラミングをしている程度だが、現在のRubyのメンテナの卜部さんは趣味でメンテナやっているのだから恐れ入る。