
2025.03.19
ドバイ不動産投資の最前線 専門家が語る、3つの投資モデルと市場の展望
リンクをコピー
記事をブックマーク
まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。
今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。
まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっと差別化しようと思って、大学生の頃からインターネットで活動する時には、ひらがなで名乗ると決めています。
海外の人とやり取りする時は、あだ名を作ってニックネームで呼んでもらっています。海外の人ってわりとファーストネームで呼びたがるのですが、「ゆきひろ」とか呼ばれるとちょっとドキドキするので、Matzという名前で活動しています。
Rubyを作った人として知られています。なんかちょっと偉そうではあるんですけども、おそらく日本人で一番有名なプログラマーじゃないかなと思います。
日本にも優秀なプログラマーや有名なプログラマーがたくさんいらっしゃいますが、みなさんがこれから海外に行くことがあって、「私は日本から来たんだけど、日本人のプログラマーを誰か知っている?」ともし聞くことがあったら、おそらくは私の名前が出てくる可能性が一番高いんじゃないかなと。少なくとも現時点ではね。
私の作ったRubyが世界中で使われていますし、それを作った人として知られているので、そういう感じで著名なプログラマーと(笑)。一番優秀なプログラマーというわけではないんですけども、一番有名なプログラマーではあるとは思います。
そのおかげかどうかは知りませんが、今島根県の松江市に住んでいるんですけど、松江市の名誉市民をいただきまして(笑)、なんかね、気恥ずかしいんですけれども。
松江市の名誉市民制度というのは、松江市にかつて住んでいたか今住んでいる顕著な業績のある人という制度だそうです。第1号がラフカディオ・ハーン、小泉八雲。ほかにもたくさんあるんですけども、元総理大臣とか、元市長とか、偉くてすごい人がずっと並んでいます。松江市の市役所の名誉市民のページを見ると、最後はプログラマーと書いてあって、なんかがくっと落ちる感じがするんですけれども。
なお、ほとんどの名誉市民の方は、歳を取ってから名誉市民になられることが多いので、生きているのは私だけという(笑)。もうみんな鬼籍に入っておられます。
自己紹介はこのぐらいにして、本題に入りましょう。「Rubyの父が語る教訓と知恵」という、偉そうなタイトルなんですけども、私が大学を卒業して職業プログラマーとして働き始めたのが1990年ということで、もうすぐ33年になるんですね。プログラミングを始めたのは中学校3年生の時なので、それから数えると40年以上経っている、44年ぐらい経っているわけですね(笑)。
そういう意味でいうと、経験だけはすごく長くて、いろいろな……痛い目にも遭っているんですよね(笑)。あと、ほかの人が痛い目に遭うのも見ているわけです。
そういうところから学んできたものとか、プログラミングの体験から実感した、いわゆることわざみたいなやつをいくつかピックアップして、今日はみなさんにご紹介しようかなと思います。
最初のことわざはですね……「ことわざじゃない」って言われそうですけども(笑)、「名前重要」ですね。ことわざというか格言として「名前重要」と言っているのは、たぶん僕だけのような気がするんですけど(笑)、一応私が作ったということになっている気がします。
2023年2月、Rubyが30周年記念イベントをやりました。今着ている赤いパーカーも30周年記念イベントのパーカーで、「Ruby30」と書いてあるんですけれども、正確に言うと、Rubyという名前を付けてから30周年なんですね。メールのログや過去の記録を遡ってみると、1993年2月24日に、私は会社で働いていて、先輩と一緒にプログラミング言語の話をしていたんですよ。
というのも、先輩がもうすぐ、『作りながら学ぶオブジェクト指向』というタイトルの本を書くという企画があって、編集会議にも通っていたんですよ。先輩は、その時点ですでにアスキーから本を出したこともある人でした。
オブジェクト指向言語を作りながら、「こういう仕組みでオブジェクト指向というのは動いています」と学ぶことによって、オブジェクト指向を勉強しようという本を書く企画が通ったんですね。
その時に、その本の教材にする言語を作りましょうっていう話になりました。でも、やはり名前がないと話が進まないので、「やはり名前は大事だよね」と言って名前を決めようとなりました。なぜかというと、ソフトウェアには物理的実体がないんですよね。触れない。コンピューターの中にある情報でしかないんですね。
そういう意味でいうと、コンピューターのプログラミングにおいては、概念というものがすごく大事なんですが、人間というのは、概念というのに対して名前を付けずに扱うことがほぼ不可能なんですよね。ぼんやりとした言い方をしないといけないので、それに名前を付けないといけない。
つまり、プログラミング言語としてのRubyという概念が生まれた日は、Rubyという名前を付けた日だと思っているんです。それで、名前を付けた日を「Rubyの誕生日」と呼んでいるんですよ。
ウィキペディアで見ると、最初のバージョンがリリースされた日が記録されているんですね。Rubyの場合だとそれがだいぶ後で、1995年12月21日になるんですけど、Rubyはそれを誕生日とは呼ばないで、Rubyという名前を付けた日のことを誕生日と呼んでいます。それから2023年で30周年。
名前を付けたその瞬間にRubyになったんですね。Rubyという概念が生まれた。その時点では、Rubyのコードは1行も書いていなかったんですが(笑)、プログラミング言語Rubyという概念が生まれた日が、その日だったということです。
当時、いくつか名前の候補が挙がりました。Rubyももちろん挙がりましたが、Cora、サンゴという名前も候補としてありました。
Perlというプログラミング言語がありますが、Perlは真珠ですよね。だから宝石の名前を付けようという話になって、RubyとかCoralとかいう名前が出て、結局Rubyのほうが短いし、石としても美しいし、価値が高いのでこっちにしようと決まったんです。
宝石の名前にしようという話が出る前に、オブジェクト指向シェルみたいなのを作ろうと、言語を作りかけていて、それがTishという名前でした(笑)。その時に宝石の名前にしようという話がもし出ていなかったら、Tishになっていたかもしれない(笑)。Tish on Railsとか、Tishカンファレンスとか、あまり魅力的に聞こえないですよね。そういう意味でいうと、本当に名前は重要だなって思います。
ティッシュペーパーのティッシュはtissueなのでスペルが違いますが、まさに名前は重要で、いい名前を付けるかどうかによってソフトウェアの未来が決まるというのは、けっこうあるんじゃないかなと思います。
名前がわかるというのは存在を把握するということであると、さっきも言いましたが、プログラミングってやはり概念の存在なんですよね。プログラミングをする上では、コンピューターにさせたい仕事があるとか、そういうことを概念として取り扱わないといけないので、途中の経過も含めて名前を付ける必要があるんですね。
『ゲド戦記』という映画がありますが、もともとは小説で、真の名前がわかるとその存在をコントロールできるという設定があります。主人公の名前がゲドというのですが、これは主人公の真の名前で、誰にも言っちゃいけないんです。
この名前を言う人は彼をコントロールできちゃうので、物語の中では一貫して彼はハイタカ、グレイホークと呼ばれているんですね。だけど、我々は読者として世界の外にいるので、彼のことをゲドと呼んでいるんです。
なんの話だ。あっ、そうそう、そうそう(笑)、プログラミングの中にはいろいろなものが存在するのですが、機能とか関数とか変数とかに名前を付けるわけですね。
名前を付けるのはけっこう重要で、その機能であるとか関数であるとか変数であるとかに適切な名前を付けることができるということは、その概念に対して十分な理解をしているということだと思うんですね。
そういう意味でいうと、完全にイコールとまでは言わないんだけれども、適切に名前を付けることができるということは、その概念を理解しているということとだいぶ近い。
プログラミングはもともと概念を扱うものなので、そういう観点からいっても、名前は重要であるということですね。ぜひみなさんには、「名前重要」ということを理解してもらって、プログラミングの中では名前を大切に扱っていただきたいなと思います。
変数名とかを雑に付けると、後で痛い目に遭うんですね(笑)。あと、後で何をやっているかがわからなくなる。
最近は、変数の名前付けに迷った時には「ChatGPT」に聞くという話があって(笑)、それはけっこういいアイデアかもしれないなと思います。ChatGPTは、知恵や真実などを調査するには向かないんだけど、大規模言語モデルというぐらい言語は得意なので、言語の扱いについて、「こういう概念を表現する良い関数名を知りませんか?」みたいな質問をすると、わりといい候補を挙げてくれるという話を聞きます。今後のAI時代に使える手ではないかなと思います。
いずれにしても、名前は非常に重要であるということですね。
Rubyのほうでも、Rubyに新しい機能を付けましょう、こんなメソッドを新しく増やしましょうというリクエストがしょっちゅう来ていて、それに基づいてRubyは発展・進歩していくことが多いです。
でも、しょっちゅう、名前が気に入らないから、いい名前が考えつくまでちょっとペンディングということがけっこうあるんですよね。やはりRubyコミュニティ全体として名前を重要視しているということだと思います。
これが最初ですね、「名前重要」ということわざです。
(次回へつづく)
2025.03.17
いくら読書をしても「成長しない人」が見落としていること 10分でできる「正しい学び方」
2025.03.17
ソフトバンクとOpenAIにとって「歴史的な日」になった 孫正義氏が語る、AI革命の全ぼう
2025.03.17
不確実な時代だからこそ「知らないこと」を武器にする ハーバード主席卒業生の逆説的なメッセージ
2025.03.19
部下の「タスクの先延ばし」が少ない上司の特徴とは? 研究が示す、先延ばし行動を減らすリーダーの条件
2025.03.18
フェデラー氏が語る「努力しない成功は神話」という真実 ダートマス卒業生に贈る勝利の秘訣
2025.03.18
全知全能の最先端AI「Cristal」が企業の大脳となる ソフトバンク孫正義氏が語る、現代における「超知性」の可能性
2025.03.12
SNSで炎上している研究者は「研究者として正しい」 人文学のプロ・阿部幸大氏が説く“強い意見を出せない時代”に対する考え方
2025.03.14
三流の上司と一流の上司の違い 部下の心を動かす科学的アプローチ
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.03.13
改正後のiDeCoと退職金の受け取り方の事例 「改悪」は本当か? プロが真相と狙いを解説
【手放すTALK LIVE#046】 出版記念イベント 『大きなシステムと小さなファンタジー』 一つ一つのいのちが大切にされる社会へ
2025.02.03 - 2025.02.03
「聴く」から始まる組織変革 〜篠田真貴子さんと考える対話型マネジメント〜
2025.02.14 - 2025.02.14
「目の前の利益を優先する」心理とは:ビジネスに活かせる意思決定の科学
2025.02.12 - 2025.02.12
新刊『組織をダメにするのは誰か?職場の問題解決入門』出版記念セミナー
2025.02.04 - 2025.02.04
会社の体質、これまでどおりで大丈夫? 職場に新たな風を吹き込むための「ネガティブ・ケイパビリティ」入門
2025.02.10 - 2025.02.10