arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

Null を産み出したアントニー・ホーア氏

1から9の数字を発見したアラビア人。
0を発見したインド人。
Null を産み出したアントニー・ホーア氏。

Null の存在に後悔しているホーア氏。
箱の中のリンゴの数を調べたときに、リンゴが0個なのと箱がない(Null)は違うことだけどさ。
「ガツ」と殴りたくなる

1から9の数字を発見したアラビア人、まず、数字を発見したことがすごいと思う。
これがないと数えることすら出来なかったわけだしね。
まあ、でも、数えること出来ないと不便だし、アラビア人ではなくても他の誰かが見つけることは出来たんだろうね。

で、0を発見したインド人。
0=無という意味では、無いものに気がつくのはインド人っぽい。
インド人というよりは、東洋というか仏教というか・・・
無とか空とかいうもの、目に見えないもの、存在しないものに着目しているという点ではインド人は流石ってことなんだろうな。

で、さらにNull。
誰が発見したか自分は最近まで知らなかったんだけど、アントニー・ホーア氏が誕生させたらしい。
チャールズ・アントニー・リチャード・ホーア(Charles Antony Richard Hoare)氏はクイックソートでも有名な方。
26歳でクイックソートを開発した人なんだから、半端ない。

こんな名言も残している。

「ソフトウェアを設計するには、2通りの方法がある。
1つは、とてもシンプルに設計して、明らかに欠陥がないようにすること。
もう1つは、とても複雑に設計して明らかな欠陥がないようにすることだ。前者の方がはるかに困難である。」

で、アントニー・ホーア氏はNullを産んだことについて後悔をしている。

それは10億ドルにも相当する私の誤りだ。
null参照を発明したのは1965年のことだった。
当時、私はオブジェクト指向言語 (ALGOL W) における参照のための包括的型システムを設計していた。
目標は、コンパイラでの自動チェックで全ての参照が完全に安全であることを保証することだった。
しかし、私は単にそれが容易だというだけで、無効な参照を含める誘惑に抵抗できなかった。
これは、後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ドル相当の苦痛と損害を引き起こしたとみられる。

原文はこちら

I call it my billion-dollar mistake.
It was the invention of the null reference in 1965.
At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W).
My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler.
But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement.
This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

Nullも0も存在しない、ないということでは同じ意味なんだけど、自分はこう理解している。

箱の中のリンゴの数を調べたいときに、
リンゴがないのは0個
箱自体がないのがNull。

大体そんな感じで、他の人にも説明をしている。

でも、だいたい、ぬるぽっていったら、


∧_∧
( ´∀`)< ぬるぽ

( ・∀・)   | | ガッ
と    )    | |
Y /ノ    人
/ )    <  >__Λ∩
_/し' //. V`Д´)/ ←>>1
(_フ彡        /

「ガツ」と殴りたくなる

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

08. 3月 2017 by arison
Categories: 日記, プログラミング | Tags: , | Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください