2024.12.03
企業の情報漏えいで最も多いのは「中途退職者」による持ち出し 内部不正が発生しやすい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コミュニティ全体として名前を重要視しているということだと思います。
これが最初ですね、「名前重要」ということわざです。
(次回へつづく)
2024.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.11.25
論理的に「詰める」マネジメントでは本質的な解決にならない マッキンゼー流、メンバーの理解と納得を得る接し方
2024.11.28
管理職の「疲弊感」がメンバーに伝わるリスク 部下の「働きがい」を育む6つのポイント
2024.11.27
部下に残業させられず、自分の負担ばかり増える管理職 組織成長のカギを握る「ミドル層」が抱える課題
2024.11.27
仕事中の「今ちょっといいですか」が苦痛… いしかわゆき氏が語る、ADHD気質にマッチした働き方のヒント
2024.11.26
仕事の質を左右する「ムダな習慣」トップ5 忙しくなる前に棚卸ししたい“やめたほうがいいこと”とは
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント
長期投資の衝撃の真実!20年投資しても年率1.9%しか増えない!?
2024.10.04 - 2024.10.04
第765回 トレンド経営学『顧客に謝る基準とは?』
2022.04.18 - 2022.04.18
不機嫌な自分をやめるために!認知行動療法の専門家 中島美鈴先生新刊『脱イライラ習慣! あなたの怒り取扱説明書』発売記念【無料オンラインイベント】
2024.10.25 - 2024.10.25
ログミーBusiness リニューアル記念イベント開催
2024.11.29 - 2024.11.29
品がある人、育ちがいい人の見える 人のセリフ 3選
2022.11.30 - 2022.11.30