プログラミングと論理学 (Re: Re[2]: 大文字と小文字の区別)
河野真治 @ 琉球大学情報工学です。
In article <lQs%c.93$RI2.30@news1.dion.ne.jp>, "ITAHASHI Kunio" <kunitahashi@h2.dion.ne.jp> writes
> もうひとつは、JavaScriptにはXORという論理がありません。とする
> と、JavaScriptは論理展開上、その系の中でさえ限界のある言語
> だということなのでしょうか。
XOR は、NOTとANDがあれば作ることが出来ます。とか言うのを勉強
するのは、高級な論理学とは言わないな。きっと。
> ぼくは論理学の「ろ」の字も知りませんが、JavaScriptでの場合分
> けのからくりは直観的にしろ、そのロジックを理解できます。
どうせ理解するのはロジックであって、それが以外のものではない
です。だったら、どうせなら、論理学から学んだ方が良いと僕は
思う。
> (直観的
> というのは、明確な論理学的意識を持たなくてもということで、論理
> 的に考えていることはまちがいないのですが)
結果的には同じものを理解するわけですよね。
> ひとつは、低級な論理学の扉から入ったホールで高級な論理学
> は一体存在理由があるのでしょうか。
僕も大学に来たときは割りと「なくてもできるよね」的で、論理抜
きで教えていたんだけど、今では「やっぱり、論理的な考え方出来
なければだめだ」って感じです。一つは、そういう教え方で、どう
いう学生が出来上がるか見て来たから。企業の人に「どういう人材
が欲しいか」とか聞いて得たこととも一致します。
それほど、難しくないし。ここでも出て来たけど、
構文要素と、それに対応する値(意味、モデル)の組が別であることを理解する
プログラムの中で使われる値(整数、関数)とかの数学的構造を理解する
入力や出力での値が満たす規則の表現方法を理解する
プログラムが正しく動くというのは、どういうことかを理解する
そして、それを確かめる方法を身につける
ってことです。
これらは、実は、マニュアルとか規格書を理解するときにも、まったく
同じことが要求されます。書く方に回るときには特に。
やって来なかったとしたら、それは不幸なことだと思う。だからだめ
だとまでは思わないけど、結局は、理解しなければならないことだと
思います。でないと、
「デバッグとかどうやっていいわからない」
「マニュアルとか規格書読んでも、それを確かめる方法がわからない」
みたいな症状が出るみたいですね。
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735