フォロー

なんかプロトタイプベースのオブジェクト指向を誤解している人がクローンに対して誤った知識をぶつけてブクマでマウント取ってきたんだけど、一般にプロトタイプベースにおけるクローンはシャローコピーであることが多い(JS以外だとIoをちょっとかじった程度だから、ディープコピーしている言語あったらごめんだけど)から、シャローコピーだからと言ってクローンではない、という認識が間違ってるんだよな。そもそも一般的なクローンと、プロトタイプベースにおけるクローンを同一視していることが間違いだし、Object.createをオブジェクトのクローン相当とは一言も書いていない。ストローマン論法が過ぎる

ほかのブクマコメントを見ていても、コピーじゃない、コピーじゃない、っていうのが目立つけど、let x = ⊢ o: objectをコピーじゃないとするのは、それこそ間違い。値そのものはコピーしていないが、値の参照をコピーしている。また、これを参照渡しと言うのも間違い。これも「参照値」を渡しているので、立派な値渡し。参照の値渡し、または共有渡しと呼ばれる奴ですね。
FortranやC++を触ったことがないから、共有渡しをコピーじゃないとか言えるんだろうな、と、マウント取ってみた

FortranやC++は、参照渡しが言語レベルで機能している言語として列挙しました

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。