Java

В этом языке одно из основных понятий это инкапсуляция. Грубо говоря, мы создаем класс объектов, например dog, а в нем конкретные объекты, dog Jack, dog Sharik и тп Это платонизм в чистом виде.
Мы можем каждому объекту присвоить огромное количество характеристик - вес, кличка, рост, цвет шерсти и т.п. А потом мы можем прописать, к каким характеристикам получают доступ объекты других классов. А остальные сделать закрытыми, недоступными. Эти и есть инкапсуляция. Своего рода монады Лейбница с приоткрытыми окнами.
Но инкапсуляция возможна только на уровне Джавы. Понятное дело, имея доступ к нижним уровням, машинным кодам, мы легко можем пробить инкапсуляцию и узнать все скрытые переменные объекта.

К чему это?
Так ведь и мы сталкиваемся с инкапсуляцией в физике. Ее объекты не спешат отдавать нам свои скрытые параметры. Мы долбаем их в ускорителях, нагреваем до плазмы, но они все равно остаются во многом инкапсулированными.
Почему? А потому что мы работаем с ними на высокоуровневом языке. А суть и скрытые переменные требуют более низкого уровня. В этом смысле физика обречена.
|
</> |