「ソフトウェア・エンジニアの幸せ」とは一体何だろうか?

報酬、評価、やり甲斐。何に喜びを見出すかは人それぞれかもしれないが、ここでは一つの仮説を立ててみたい。

一生涯エンジニアであり続けること――仕事のためだけにプログラミングをするのではなく、仕事を離れても自発的にプログラミングに取り組むようになれば、エンジニアとして日々を楽しめるようになり、ひいては幸せなエンジニア人生を送れるのではないだろうか。

この仮説に基づいてソフトウェア・エンジニアの幸せを考えたときに、切っても切り離せない存在となるのがOSS(オープンソースソフトウェア)である。OSSのコミュニティは、ソフトウェア・エンジニアが仕事を離れてプログラミングに向き合う環境を提供してくれる。先の仮説が正しいとすると、「生涯エンジニアへの道」にぴったりな場所と言えるだろう。

そこで本誌は、日本発のプログラミング言語にして日本発のOSSコミュニティである「Ruby」の創始者、まつもとゆきひろ氏に、「エンジニアの幸せ」やOSSコミュニティがエンジニアに何をもたらしうるかを聞いた。

プログラミング言語が好きだった~Rubyを作った理由~

――「エンジニアの幸せ」についてお話を伺う前にまつもとさんご自身とRubyについてお聞かせください。まずは、どういうきっかけでRubyを作ろうと思われたんでしょうか?

まつもとゆきひろ - ネットワーク応用通信研究所フェロー、楽天技術研究所フェロー、Rubyアソシエーション理事長。社会人3年目の1993年にオブジェクト指向スクリプト言語「Ruby」を開発。記述の簡単さなどが開発者から支持され、現在では世界中で広く利用されている。最も著名な日本人ソフトウェア開発者の1人。

まつもと : 端的に言うと二つあって、プログラミングが好きだったということと、その中でも、プログラミング言語そのものが大好きだったということがあります。日々好きなことをやっていたらRubyが出来上がって広まった、というのが実際のところです。

――プログラミングの何にそこまで惹かれたんでしょうか?

まつもと : ソフトウェア・エンジニアって、エンジニアの中でも特殊ですよね。ファクトリー・エンジニアであれば、大勢の人間が集まって、巨大な設備があって、それではじめてものが作れるようになります。それに対して、ソフトウェアの場合、PCが1台あれば、一人で何でも作れちゃうんです。大げさな言い方をすると、エンジニアであると同時にアーティストのような存在だと思うんです。そういうところがソフトウェア・エンジニアというかプログラマの醍醐味だと思います。

――たしかにPCさえあれば、自由に表現して作品を作れますね。そんな中、作品のテーマにプログラミング言語を選らんだのはなぜなんでしょうか?

まつもと : プログラミング言語は、人間がコンピュータにやりたいことを伝えるための手段です。本来はそれだけのものであるはずが、どの言語を選択するかによってプログラマの表現や発想の仕方までも変わってしまいます。ツールが人間の思考に影響を与えるっていう事実は実に面白いと思いました。だとすると、プログラミング言語が進化すれば、プログラマの能力が存分に発揮されるようになったり、プログラマの発想が広がったりするんじゃないかということを次第に考えるようになったんです。

――そういうことを考え始めたのはいつ頃からでしょうか?

まつもと : 高校生の頃です。1980年代のあの頃は、ひどい言語も多かったんです。

――それでご自分で作ってしまおうと……

まつもと : そうと言えばそうなんですが、高校生の私には知識も技術も足りなかったのですぐには作れませんでした。大学でコンピュータ・サイエンスを勉強して、卒論で言語を作ってみましたが、実用レベルには程遠い出来でした。この段階でプログラミング言語の開発は一旦終え、卒業して私も人並みに就職したんです。

ところが、社会人3年目にバブル崩壊の煽りを受けて急に暇になっちゃいまして……。どうせ時間もあるし、ちょっとはマシなプログラミング言語を作ってみるかと思ってRubyを作り始めたのが1993年のことでした。Perlを参考に、Perlでできることをもっと使い勝手よく実現したいというのが作るときのイメージでした。

Rubyが広がったのはいろんな人のおかげ

――そこからRubyがどういう風に広まっていったんでしょうか?

まつもと : 作り始めたころは友達に配っていた程度でしたが、1995年の12月にインターネットのネットニュースにRubyを投稿しました。ネットニュースって言っても今の人には分からないかもしれませんが、当時はインターネット初期の頃で、自前でウェブサイトを作っているのはごく一部の人たちだったんです。今は下火になってしまったが、たとえて言うならば世界規模の掲示板のようなものでした。

投稿してから二週間で200人くらいの人がRubyに興味を持ってくれて、メーリングリストを作ることになりました。いろいろな人がRubyを使ってくれるようになって嬉しかったんですが、使う人が増えると、こちらが全く想定していなかった使い方をする人も出てきます。それで、Rubyがうまく動かないという声をいただくことがよくありました。そういう声を聞いて、地道に改善していきました。

それからしばらくして、新たに就職した会社で、ウェブサイトにこっそりRubyのページを置かせてもらったんです。管理者が友達だったからできたことですが、トラフィックの半分くらいはRubyのページへのアクセスだったそうです。おおらかな時代でしたね。

――そうやって少しずつRubyが広まってくる中で、これで稼ごうということは考えなかったんでしょうか?

まつもと : する気もありませんでした。そもそも作ったときは、業務システムでRubyが使われるようになるとは思いませんでした。97年に転職するときに、Rubyを名刺代わりというか、履歴書代わりに使ったことはありましたが、Rubyはまだ一部の人に知られている程度でしたので、それで給料が変わるというようなこともありませんでした。「コイツは言語を作れる技術はあるんだな」ということを示すぐらいの効果しかなかったはずです。

1999年にはASCIIからRubyの解説書が出て、それが技術書の中では大ベストセラーになって、2000年には英語の本も出版されて海外でも認知されるようになってきました。こうして少しずつ知名度が上がってきたところ、2004年にウェブアプリケーション開発の生産性を高めるフレームワークとして「RoR(Ruby on Rails)」が出てきました。それでRubyを使うエンジニアが一気に増えて、現在に至る、という感じです。

<2回目に続く>