ド・モルガンの法則がわからない残念なプログラマ達

by ysawa

ゴールデンウィークですね。

といっても、n次元は、平日と変わらず働いております。
自分で起業したのでスケジュールは基本的に自分で決めるんですね。

わざわざ、混んでいるこの時期に休みを取る必要はないかと思って、
今週は休まず働くことにしました。

ド・モルガンの法則とは

先日、PHP 講座していたのですが、
ド・モルガンの法則を再度教える機会がありました。

高校数学でやっているはずなので、
基本的にみんな知っているはずですね。

おさらいにもなると思って、
今回あえて、記事として書いてみました。

否定をNOT()で表すとします。

NOT(X) OR NOT(Y)

は、ド・モルガンの法則を用いると、

NOT(X AND Y)

と同じだということがいえます。

また、

NOT(X) AND NOT(Y)

は、ド・モルガンの法則を用いると、

NOT(X OR Y)

と同じだということがいえます。

なるほど。なるほど。

なにが美味しいのか

こういうの見て、「ふーん」としか思わない人がいて、
講座のときもそういう雰囲気だったんですよね。

ちょっと、数学を数式の羅列としか考えられない人たちが多いのかも。

プログラマとかエンジニアを志す人達は、
それでは、まずいと思うんですよ。

プログラマとかエンジニアの仕事は、
世の中の論理をプログラミング言語(設計)に落としこむこと。

みんなが言っている「こうあるべき!」を
プログラミング言語で書き表すことができないといけません。

そのときに、論理を間違った方法で記述してしまうことがある。

論理に抜け漏れが生じるときがよくあるんです。
それは、プロとしてはやっぱりまずい。

論理式を書くときは、
きちーっと見やすい形で書いていかなくてはいけないんです。

ド・モルガンの法則は、そのためのツールとしては、
一番良く出てくるツールと言えるでしょう。

否定の数を減らす

「否定」って、イヤなんですよ。

大前提として、論理式に否定が入ってくると、
とっても見にくくなります。

ミスもやっぱり目立つようになる。

なので、否定はなるべく避けたいところです。

論理式を書くときは、なるべく否定が少なくなるように常に心がける
これが、鉄則になります。

NOT(X) AND NOT(Y)

よりも、

NOT(X OR Y)

の方が見通しの良いプログラムということがいえます。

この感覚を磨いた上でプログラミングができるようになるといいなと思います。

下手な人のコード見ていると、

ノット! アンド! ノット! オア! ノット!!!

みたいなコードよく合って、結局何やりたいのかとても見にくい。

ある程度のところで変数でまとめるとか、
わかりやすくなる工夫をすべきですね。

そして、

ド・モルガンの法則を、普段から使ってマスターしましょう!!

この記事を読んだあとに

ysawa

エヌ次元株式会社代表取締役
東京工業大学工学部計算工学専攻卒業
符号理論の応用に関する研究
在学中よりフリーランスエンジニアとして活動
「持続可能な設計」を得意領域とする
会社設立後も設計からアプリ制作や
Webサイトのコーディングまでを幅広く担当
セキュリティスペシャリスト

 このブログについて

このブログは、プログラマやエンジニアのためになる情報を垂れ流しています。
ちょっと異端的なものも含まれているかもしれません。