プログラム思考またはアルゴリズム思考。プログラム、アルゴリズムの意味はウィキペディアを参照するとして。
人は「アルゴリズム」がなくても言葉で思考できるし、言葉がなくても直観的に思考できる。つまりプログラム思考は言葉の上をゆく思考法となる。
ここで注意しなければならない点は、言葉もまたアルゴリズムで成り立っているということ。おそらく直観思考もまたアルゴリズムで成り立つ。この関係は、マシン語~アセンブラ、高級言語、インタープリタ、スクリプトといったプログラミング言語群に似ている。
言葉は高級言語の命令にあたる。オブジェクトはかなり言葉的。外部ファイルの呼び出しも言葉的な機能といえる。
よって「プログラム思考」は、高級言語よりさらに高度なプログラムとして思考する、ということになる。
(今のところ、プログラム思考は、特定の専門分野のために開発されたプログラミング言語、に近い。
プログラム思考では、しばしば直観思考のコントロールが試みられる。それはオリジナルマシンの製作、新CPUの開発から着手することに相当する)
言葉にしてもプログラムにしても、習得するには、マニュアルに従うか、例文を参照するかだが、プログラムではさらにアルゴリズムの理解が必要になってくる。理解するといっても、結局は言葉を媒介にして、原因と結果から、その間にあるアルゴリズムを読み解くしかない。さらに、プログラムには試行とデバッグの手順が欠かせない。言葉なら、最悪言葉自体が根拠となり、丸暗記が理解であることも少なくない。
こういったアルゴリズムの理解のし難さは、伝達のし難さとなり、普及の妨げとなっている。
コンピュータの発展としては先が見えているというか、高速化と大容量化ぐらいのものだが、それに比べてプログラム法やアルゴリズムにはまだ伸び代があるように思う。
アルゴリズムの定義は定まっていない。にもかかわらず、人がアルゴリズムで思考できることは、示唆深い。