BASICから長い年月空いてオブジェクト指向言語で再入門した時困ったのは
オブジェクト指向がわからないとかではなく
明示的に廃棄または消滅するまでクラスが値を保持するという前提w

BASICのサブルーチンとかは当時のメモリ制約で
"呼び出しごとに内部の値は破壊されてる"のが大前提だったので
逆に"インスタンスが値を持ち続けてる"のを誰も(どこも)説明してくれなくて
必要な変数(パラメータ)をどうやって保存するのかひとりで悩みまくった。