Природа и ссылки на объекты

Feb 26, 2021 13:33

«Объекты» и «ссылки на объекты» могут показаться чисто программистской абстракцией, которая не встречается в природе.

Однако это не так.

Напротив, всё, что мы видим, - ссылки на объекты. И всё, что мы слышим, - тоже ссылки на объекты. Поскольку наблюдать объект непосредственно невозможно: можно только предположить, что он есть, и что мозг строит его адекватный «образ» по дошедшим до него ссылкам на оный.

Можно предположить, что «ссылка» тут неуместна - достаточно было бы считать дошедшее «сигналом». Но «сигнал» никак не противоречит «ссылке»: в ряде случаев они - сводимые друг к другу абстракции. Вызов метода у объекта по ссылке можно трактовать как отправку сигнала объекту и получение от него ответного сигнала. А можно, наоборот, трактовать обмен сигналами, как вызов метода по ссылке.

Эти две концепции столь хорошо ложатся друг на друга, что многие современные языки программирования позволяют делать их синтаксически неотличимыми: без заглядывания в исходники невозможно угадать, как оно реализовано на самом деле.

В пользу большей близости к обращению по ссылке, нежели к непосредственному взаимодействию с природным объектом, говорит и то, что наблюдать этот объект и влиять на этот объект могут несколько человек одновременно (ну и несколько других объектов тоже).

При попытке взаимодействия с природным объектом каждый взаимодействующий не получает свою персональную копию оного и при этом не получает сам исходный экземпляр в своё личное пользование, во время которого этот объект становится необнаружимым всеми остальными людьми. То есть взаимодействие явно не «по значению» - оно каждый раз «по ссылке».

В некотором смысле каждый человек даже в одиночку может иметь несколько ссылок на один объект: как минимум, он видит его двумя глазами, а даже если и одним, то внутри каждого глаза больше одного рецептора. И каждый из оных «получает сигнал» или «извлекает значение по ссылке», независимо от остальных рецепторов.

Ну или, если рецепторы вас не убеждают, объект можно двигать одновременно в разные стороны двумя руками (и тем самым, например, его разорвать).

doc-файл

философия

Previous post Next post
Up