値型と参照型について・値型編(2018/08/12)

こんにちは! P&M Entertainmentです。

こちらの記事の続きになります。
われわれP&Mがプログラミングを通じて学んだ値型・参照型について書いていきます。とても拙い内容ですが、理解につまづいている方の参考になれば幸いです。

変数について意識していなかったころ

われわれが最初に始めたプログラミング的な学習はHSP(Hot Soup Processer)でした。

HSPは、BASICという簡易な古いプログラミング言語をベースに作られたスクリプト言語です。
スクリプト言語の水準について、非常に大きく変わったと思います。

今でこそスクリプト言語というと、UnityにおいてはC#すら指す言葉になってしまうほどプログラミング技術の水準が上がっています。

ですが、当時HSPを学んでいたわたしは、スクリプト言語と言えば1行でコマンドを記述するような本当に簡易なものを指す言葉だったように感じます。

HSPにおいては、良くも悪くも変数の値型・参照型という概念を意識すらする必要がありませんでした。断言はできませんが、全ての変数は値型だったと思います。

というのも、非常に失礼ではありますが、HSPが廃れてしまった理由のひとつでもあるのですが、オブジェクト指向に全く対応していないからです。
特に参照型というのは、もっぱらオブジェクト指向言語において問題になる概念であり、最近知ったのですがちょうど当時フィーチャーフォン(ガラケー)と共に存在感を強めていたJavaは全ての変数が参照型だそうです。

値型についてのわたしの認識

わたしの値型についての認識をしたためてみます。

値型は、基本的な変数そのものです。
特に以前の時代の入門書では、変数を説明する際『箱』に例えます。
箱に、任意の数字や文字を入れ、それらは自由に操作することができます。

また、100という数値を持つ変数Xを変数Yにコピーした場合、変数Xと変数Yの中身は両方とも同じ100となります。

そして、変数Xと変数Yは独立しており、コピー後にそれぞれに別々の操作をしたとしても、二つの変数に対しては関連性はありません。

以下に、HSPの基本的なコードを書いてみます。

x = 100
y = 0

y = x

x + 20

y - 20

mes x	;120
mes y	;80

非常にシンプルであり、四則演算ができれば難しいことはありません。

おわりに

次回は参照型について現状の理解をしたためたいと思います。




この記事が気に入ったらサポートをしてみませんか?