変数を書き換え不能に
最近の流行として、ローカル変数で、
- 基本はconstで変数宣言をして必要な場合にのみ、letを使う
と言うのが有りますが、「因果と確率」(特に因果)の観点からは、
- 今一歩、踏み込み不足
な様な気がしてなりません。
何が踏み込み不足?
昔から、他から得た値(関数の引数とか)を変更するのは、
- 非常に良くない、禁止としていた場合も多数
でしたが、const指定をしたからと言って、全てを変更禁止に出来る訳でも無いと思います。
私としましては、他から得た値の変更禁止は完全に成し遂げて貰いたい希望が有ります。
さらに、自分がこれから他に与えようとしている最中の値の作り中で、いちいちconst指定をしなけらばならないと言うのも、気に入りません。
何故なら試行錯誤中な訳で、
もちろん「基本はconst」との主張で有り、全部をしろと言っている訳では無い建て付けなのは分かっていますが、
どの世界にも「全てだ」と言ってくる人間は居て、それらの人間に対する説明も必要になり、煩瑣です。
Rustの所有権は?
Rustの「所有権」は、
- 主にメモリリーク対応(だそう)で、
- スコープを跨いだら解除される
そうで、関数の引数の場合、自動で変更禁止にしてもらえそうに有りません。
結論
これからも難敵で有る「因果と確率」の存在でプログラミングが嫌いになる人は存在し続けることでしょう。