Здравствуйте, Сергей Губанов, Вы писали:
СГ>Именно модуль является единицей инкапсуляции, а не class. Когда Вы покупаете модуль у другого производителя, то на руки Вы получаете бинарный и символьный файлы. В символьном файле есть только экспортируемая этим модулем информация. Вся остальная информация РЕАЛЬНО инкапсулирована. С классом дела обстоят с точностью до наоборот. Вы не можете купить "скомпилированный" код класса, а должны купить его исходник (иначе просто смысла нет). А в исходнике все эти самые private Вы потом ручками можете подредактировать, так что липовая получается инкапсуляция, даже если и не будете редактировать, то все равно ПОСМОТРЕТЬ-то сможете.
Споем старую песню про
компетенцию?
Те же .NETовские сборки точно так же могут распространяться как бинарники без исходного кода (да и Java, кажется, тоже), причем вся метаинформация (символьный файл, в терминологии оберона) находится там же. Кроме того, в отличие от убогих оберонов, и возможности использования этой мета-информации гораздо шире, и generic-и также находятся в бинарнике (начиная с 2.0).
Ах да, при желании можно декомпилятором заглянуть и ПОСМОТРЕТЬ. Так ведь и оберон компилирует в промежуточный код, нет никаких препятствий (кроме, собственно, отсутствия декомпилятора), чтобы тоже посмотреть. Так ведь это, как и отсутствие отладчика — не плюс, а показатель убогости
передовой среды разработки для языка
гиганта мысли. У меня вот, скажем, BMW нет — я же от этого лучше не становлюсь

... << RSDN@Home 1.1.4 @@subversion >>