活動報告

新着記事

カテゴリー

キーワード検索

2023.12/24 A=A+1とA==1

たまたま某大学教授が行っているプログラミングの講座をYOUTUBEで見てびっくりした。表題の意味を大学生が理解するために苦労するというのだ。


その語学講座のようなYOUTUBEの番組内容にも首を傾げた。相手は教え方のプロなので間違っているとは言いにくいが、プログラミング言語は、言語と名がついているが、コンピューターに作業を命令するための記号である。


数学でもない。プログラミング言語を学ぶとは、コンピューターへの命令をどのように記述するのか、を理屈抜きで覚えることが中心になる。確かに言語のように意味を与えて記憶したほうが覚えやすいが、それでもそれは手続きを表す記号を覚えているに過ぎない。


AIが登場したので、人間の言語のようなプログラミング言語が出てきてもよさそうであるが、それはまだ先である。とにかく今手軽に利用できるプログラミング言語は、コンピューターへ指令を送るための二進数を人間の理解しやすい表示にしただけである。


まず、それを正しく学生に指導しなければいけない。表題を正しく理解できない学生が多い、という説明を理解しがたいのだが、コンピューターを動作させるときに、メモリーへ値を入れる表現が「=」である、という説明ではいけないのだろうか。

ちなみに、右辺に書かれた内容を左辺のメモリーへ格納するという意味が、「A=A+1」であって、これは方程式ではない。


メモリーに値を入力する記号として「=」を使ったので、左辺と右辺が等しい時にTrueと出力する記号では「==」を使うのである。


すなわち、「A=A+1」とは、あるメモリー領域に入っていた数値に1を加えて、またそのメモリー領域に入力する命令を表しており、数学の「=」とは全く異なる用法である。というよりも、プログラミング言語と数学とは切り離して頭の中を整理していただきたい。


当方のPythonを説明する時には、まず、どのようにコンピューターは動作しているのか、という説明から行っている。あくまでもコンピューターへの命令の記号としてプログラミング言語がある、という説明をしている。

カテゴリー : 一般

pagetop