こんにちは。
ほとんどのプログラム言語に存在するNULLですが、
値が0なので0として使っているソースコードをたまに見かけます。
しかし、NULLは0ではありません。
C言語を知ってる方は分かると思いますが、NULLはメモリーのアドレス0番目を指します。
なので、値は0なのです。
しかし、メモリーのアドレス0番目は、不正処理にあたります。
つまり、本来、例外を意味しているのです。
経験の浅いプログラマーが、勘違いして使うのはいいとして、
何年もプログラマーとして働いてきた技術者が使っているとイラッとします。
随分前に関わった開発のリーダーにNULLを0として使っている人がいました。
そのチームのコードレビューに参加したことがあるのですが、
コードレビューの場で0をNULLに置き換えるように指示しているのを見て驚いた事がありました。
後でこっそり教えましたけど、受け入れてもらえませんでした。
ちなみに、NULLは「ヌル」と発音する人と、「ナル」と発音する人がいますが、
「ヌル」はドイツ語で、「ナル」は英語だそうです。
言語によっては、同じ意味でnilを使う事があります。
例えば、Rubyはmilを使っています。
NULLについて少しは理解してもらえたでしょうか。
では、今日はこの辺で。