February 26th, 2021

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

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

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

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

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

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

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

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

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

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



doc-файл

Терминология

Отдельно хотелось бы пояснить особую прелесть термина «уйня».

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

Как выглядит мир на сверхсветовых скоростях

Если для вас невозможность двигаться с относительной скоростью больше скорости света является предметом религии, а потому даже гипотетическое предположение такового оскорбляет ваши религиозные чувства, то вы можете мысленно заменить в дальнейшем тексте «свет» на «звук». Двигаться быстрее скорости звука в некоторой среде совершенно точно возможно, поэтому такое движение — даже не гипотетическое, а совершенно точно вполне реальное, чем ваша душа успокоится и чему возрадуется.

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

Если бы в сторону Земли, на которой находимся мы с телескопом, летела бы, скажем, звезда со скоростью, скажем, втрое превышающей скорость света, что бы мы видели?

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

Видеть мы её начнём только в тот момент, когда она поравняется с нами.

Collapse )