Ruby30周年イベント(中編)~言語を「作りたい」と思ってから10年以上経って、スキルと環境が追いついてRubyを作ることができるようになった

今回は「Ruby30周年イベント(中編)~言語を「作りたい」と思ってから10年以上経って、スキルと環境が追いついてRubyを作ることができるようになった」についてご紹介します。

関連ワード (全然、同時、過去等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


まつもとゆきひろ氏によって開発が始まったRuby言語の30周年を祝うイベント「プログラミング言語Ruby30周年記念イベント」が2月25日にオンラインで開催されました。

イベントでは関係者やRuby愛好家らによる過去30年の振り返りやRubyにまつわるライトニングトークなどが行われ、最後にまつもとゆきひろ氏による基調講演「D is for Dream, V for Vaporware」が行われました。

基調講演では、Rubyを開発する前にまつもと氏が手がけた、Rubyの原点となるソフトウェア「CXライブラリ」や、今回初めて名前が明かされた「Tish」という作りかけのプログラミング言語や、これまであまり語られることのなかった、さらにその前の学生時代に妄想していたプログラミング言語「Alpha」や、そもそもプログラミング言語の開発のきっかけとなった小説についても紹介されました。

そしてこれから作りたいものとして、まつもと氏は「Static Compiler for Ruby」を挙げ、そのための道具立てが揃ってきたこと、そしてRubyのような暗黙的型言語の可能性と、そしてまだ作られていないRubyのサブセット言語を「スピネル」と命名するなど、これからのRubyの夢を語りました。

この記事ではその基調講演の内容を紹介します。記事は前編、中編、後編(明日公開予定)の3つに分かれています。いまお読みの記事は中編です。

高校時代に妄想したプログラミング言語「Alpha」

さらにさかのぼりますね。

1982年頃、私は米子という町で高校生だったのですけれども、そのときに作った言語の名前が「Alpha」ですね。

これも本邦初公開の名前です。

fig

これは「ぼくのかんがえたさいきょうのげんご」っていう感じなんですけれども、当時、私の使っていたコンピュータはPC-8801無印というやつで、同時にシャープのPC-1210というポケットコンピューターも使っていて、どちらも電源を入れるとBASICが動くんですね。言語を作るとか、そういう感じではないんです。

fig

当時、とんがったプログラマーたちはですねアセンブラを駆使してPC88やPC80の上で言語を作るみたいな人もいましたけれども、私はそんなとんがったプログラマーではないので。

当時のプログラミング環境や当時の私のスキルでは、プログラミング言語を作りたいと思っても作ることが全然できなかったんですね。

本屋に行って今のプロム言語を作る方法はないかって調べてみても、コンパイラっていう本があって、開けてみても訳が分からないんですね。

長野先生という、後に私の大学の先生になった人が書いた本を読んだんですけれども、大学の教科書ですから分からないんですよね。

もう一つ、やさしいコンパイラの作り方という本もあって、ちょっと薄いしこれなら分かるかなと思ったら、「やさしい」はコンパイラの方にかかってるんですよね。

つまり仕様が小さいコンパイラであって、作り方は決してやさしくないという。挫折するしかなかったんですけれども。

仕方がないので、いつかちゃんとしたコンピュータを手に入れて、ちゃんとしたスキルが身に付いて、ちゃんとプログラミングできるようになったら、こんなプログラミング言語を作りたいという妄想をするわけです。

私も小学校時代から妄想タイプだったので、いつか自分の言語ができたらな、へへへ、とか言いながらノートを書いて、自分の妄想したプログラミング言語でプログラムを書いて。

忘れてしまいましたけれども、このAlphaというプログラミング言語の仕様はもう何も覚えてないんです。作ったということしか覚えてなくて、ノートの紛失によって失われてしまいました。

「バベル17」で人工の言語にはまる

さらにさかのぼって1980年頃になりますけれども「バベル17」(バベルセブンティーン)という小説がありまして、これはサミュエル・R・ディレーニイという人が書いた本なんですけども。

fig

ネタバレになるのであんまり喋れませんが、バベル17というのは一種の暗号なんですね。暗号は実は人工的な言語であったというようなことで、サピア・ウォーフ仮説(注:思考は使っている言語によって影響を受けるという仮説)を反映したような小説ですね。ぜひ読んでいただきたいと思います。

このとき以来、人工の言語というのにはまったんですね。当時まだ中学生か高校生ぐらいですけれども、例えばエスペラントであるとか、それからそのすぐ後にプログラミング言語にはまったんですね。

fig

そういうことで、言語を作ることそのものが私にとってある種の夢だったんですね。自分で決めたかったんですよ。私にとってプログラミング言語とは作りたいもの、でした。

fig

その頃、私の周りにプログラミングをする人はいないわけです。情報といえば、例えば「月刊アスキー」や「I/O」「マイコン」「RAM」とか、マイコン雑誌ぐらいしか情報がなくて。

その雑誌に、新しいプログラミング言語が、みたいな記事が載るわけです。そうすると、プログラミングに興味がある人のうちのそうだな10人に1人、あるいは3人に1人ぐらいはプログラミング言語を作りたいと思う人がいるのかなと私は思ってたのですが、大学に行ってプログラミングに詳しい人が周りに増えると、プログラミング言語を作りたいと思う人は本当に少数派だと気がついたんです。

Rubyは私の夢の実現である

そうやって「作りたい」と思ってから大体10年以上たってから、1993年ぐらにいは作りたいと思っていたので、そこから10年以上経って、スキルと環境が追いついてRubyを実際に作ることができるようになる。

そうするとRubyは、今から数えて40年以上前からの私の持っていた夢が実現したものであるということですね。

fig

だから「One Man’s Dream」はディズニーのあれですけど、私が、1人の男が作りたいと思ったものが現実化して、いろんな段階を踏んで世界に広まって、そして世界を変えたということですね。

fig

昨日あたりから「#ruby30th」というハッシュタグを見ると、本当にたくさんの人たちがRubyを使って生活が変わったとかね、Rubyのおかげでその就職ができて、結婚できて、なんかすごい怪しい通販の広告みたいな感じがしましたけれども、それも含めて本当にたくさんの人たちに人生に影響を与えたと思います。

犬の名前をRubyにした人もいましたし。自分の子供の名前をRubyにした人もいましたね。

(この講演の)タイトルの「D is for Dream」というのは、Rubyは私の夢の実現であるということをご紹介しようと思って、話をしてきました。

fig

ここからは、未来の話をしたいと思います。

≫続きます(明日 3月3日公開予定)~ Ruby30周年イベント(後編):まつもと氏「Static Compiler for Ruby」を作りたい。道具立ては揃ってきた

COMMENTS


Recommended

TITLE
CATEGORY
DATE
[速報]マイクロソフト、ArmネイティブなVSCode、.NET、WSLなど投入へ。Python、Node.jsなどのArm対応も進行中。Microsoft Build 2022
.NET
2022-05-25 07:47
168年の歴史を持つリーバイスのAI、データ活用、デジタル変革–責任者に聞く
IT関連
2021-04-20 02:27
積水ハウス、SaaSのセキュリティ評価体制を構築–IT部門の生産性を向上
IT関連
2023-11-07 03:41
第93回アカデミー賞で、Apple TV+アニメと映画がノミネート
イラスト・デザイン
2021-03-17 07:25
dotData、データサイエンス自動化ソフトの最新版をリリース
IT関連
2023-07-15 13:14
「優待タダ取り」はタダじゃない?–「つなぎ売り」で値下がりリスクを減らす
IT関連
2021-03-04 23:16
イオングループ、DXを支えるITファイナンス基盤としてSaaS型のTBMソリューションを導入
IT関連
2022-05-13 11:21
「Windows Update」のポリシー、どう設定する?–マイクロソフトが用途に応じた対応説明
IT関連
2022-04-07 13:05
ChatGPTの「カスタム指示」を使って自分に合った回答を得る6つのヒント
IT関連
2023-08-09 19:24
米国がExchangeサーバーのハッキングとランサムウェア攻撃で中国を非難、政府系ハッカー4人を起訴
セキュリティ
2021-07-21 19:29
神戸市、AI条例を9月末に完全施行–AIの効果的かつ安全な活用を推進
IT関連
2024-05-04 23:00
北國銀行、国内初のパブリッククラウドによる勘定系システムの稼働を開始
IT関連
2021-05-07 20:15
Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表
JavaScript
2022-08-30 05:43
第25回:ITベンダーからの転職が増えたひとり情シスの姿
IT関連
2021-04-08 07:26