Здравствуйте, Сергей Губанов, Вы писали:
СГ>СГ>TYPE
СГ> ValueType = RECORD
СГ> a: PointerType;
СГ> b: ReferenceType;
СГ> END;
СГ> ReferenceType = POINTER TO RECORD
СГ> a: PointerType;
СГ> b: ReferenceType;
СГ> c: ValueType;
СГ> END;
СГ> PointerType = POINTER TO ValueType;
СГ>
Из этого примера совершенно неясно, в чем семантическое отличие между PointerType и ReferenceType. Ну и если мы уж зашла речь об оберонах, то грех не вспомнить про untraced поинтеры, которые как раз небезопасны и сборщиком мусора не собираются.
СГ>То есть, никакие хитрости boxing/unboxing не нужны если есть обыкновенный безопасный pointer-type управляемый сборщиком мусора. Отсюда нет дискредитации термина УКАЗАТЕЛЬ как чего-то низменного и недостойного safe кода. Указатель — это хорошо и не более опасно чем reference-type.
От того, что ты назвал поинтером то, что в других языках называется ссылкой, её суть никак не изменилась. Boxing/Unboxing нужен не из-за того, что с указателями что-то не так.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>