例えばJavaScriptでリストをコピーするとき
const newList = list.slice();
しかし、
「なんで const newList = listじゃダメなんですか?」
と聞かれると非常に困る。
例えばconst a = 123と入っているときに、bにコピーしたかったらconst b=aで良い。
プリミティブと配列の違いとして覚えてもらう、という方法もあるけれど
じゃぁ文字列はどうなんですか?となると非常に困る。
JavaScriptだけを教えるならそれでも問題ないかもしれないが、Pythonも一緒に教えるとかなるとカオスになる。
結局のところ、コンピュータの仕組みを理解してもらって、メモリのアドレスとかポインタを知ってもらい
それからプリミティブや配列の話をしないと根本的には説明できない。
単純なプログラミング教育ってこの辺が破綻してると思っているので、結局はPCの構造と機械語・アセンブリ言語・C言語と順番に教える必要があると思っている。
そういうこと教えるなら、ディープコピー、 シャローコピーって言葉をまず説明しないとだめじゃね
ディープコピーが何故必要になるのか、とかが分からないと困ると思うんだけどね。