XML это по своей сути размеченный текст. Что, между прочим, явно обозначено в названии - eXtensible Markup Language. Тэги и атрибуты - разметка, а основа, то есть то, что собственно передаётся из точки А в точку Б, это текст между тегами. Использование XML для передачи структурированных данных - чистой воды абьюзинг этой технологии. Пока не было JSON-а, в это за неимением лучшего имело смысл играться. Сейчас использованию языка разметки для кодирования стуктур данных не может быть оправдания.
Если совсем коротко, то это отличается от DataMapper тем, что здесь ничего никуда не мэппится. DbUser не является никаким in-memory representation для строки таблицы базы данных. Это всего лишь завёрнутый в удобную типизированную обёртку конкретный SELECT. Будет какой-нибудь другой select - появится другой датакласс, например, DbAuthenticatedUser. Может показаться, что такой подход плодит много лишних сущностей, но нет, мы просто перестаём смешивать мух с котлетами, и в результате всем становится только лучше.
Слышал много "добрых" слов про сюрпризы, которые иногда преподносит доктринский Hydration. Очень простое правило вне зависимости от языка программирования, инфраструктуры и прочего: в Проде, особенно нагруженном, этих "объектов model классов" быть не должно. Халтура это. Времянка. Быстренько сляпать – кайф, но потом всё равно придётся всю дорогу тащить этот чемодан без ручки.
Посмотрел. Судя по всему, в мире .NET очень полезная и популярная штука. Решает ту же задачу, которая для Питона решена в PEP 249. Тот самый подход, который в начале статьи я обозначил как "Воспользоваться «низкоуровневым» интерфейсом СУБД". В нём всё хорошо за исключением того, что по мере роста функциональности всё превращается в долбаный хаос – вкрапления SQL, разбросанные по всему коду приложения где попало. Основная мотивация NoORM – удобняшка, которая которая не только что-то там упрощает (хотя это тоже важно), но в первую очередь мягко и нежно мотивирует разработчика не плодить хаос.
Лучше переизобретать хорошие вещи, чем переизобретать плохие. Вообще, заворачивать результаты запросов в датаклассы – весьма очевидная идея. Весь вопрос, как это делать так, чтобы это было удобно и приятно. Вот для этого как раз и нужна библиотечка.
А EF тем временем позволяет явно подключать джойном данные в рантайме с помощью .Include() для каждого запроса индивидуально.
Это тоже порождает массу неудобств и кривизны. Когда мы получаем объект, нам нужно раскинуть карты Таро и предугадать, какие вещи нам нужно включить в .include. И не только для выполнения текущей задачи, но и последующих доработок, о которых у нас пока что нет никаких идей. Представьте себе, что у нас есть некая функция, принимающая параметр order, экземпляр персистентного ORM-ного класса Order. Можем ли мы без дополнительного похода в базу обратиться к order.lines или к order.customer.email? Чтобы ответить на эти вопросы, нужно проследить все возможные цепочки вызовов, ведущие в эту функцию. Притом не только имеющиеся, но и те, которые, возможно, появятся в будущем. С простыми и предсказуемыми датаклассами всё намного проще и надёжнее. Если у DbOrder есть свойство customer_email, можем без доп. изысканий его использовать.
Давно хотел рассказать про свою ORM, где "базы данных не существует".
Мне JOOQ показался поразительно похожим на то, как делаются запросы в SqlAlchemy. Такое же цепочечное нанизывание "родных" конструкций. В сочетании с NoORM работает замечательно. Пользуемся.
Возвращаясь к теме нематериальности информации, возможно в каких-то формах такое представление может быть востребовано в перспективе.
По своему опыту скажу, что именно такая раскладка - информация, данные, сигнал - очень помогает сеньорить в айтишечке. В особенности привычка при работе с данными понимать, что они ещё не есть информация. Для того, чтобы они в нужный момент становились информацией (ведь в этом-то и смысл всей затеи), ты должен позаботиться о том, чтобы не потерялся контекст. Вы себе не представляете, сколько человечество уже накопило цифрового мусора - данных, которые уже никогда не станут информацией потому что контекст уже потерян. Удобный, компактный, непротиворечивый и в достаточной степени универсальный понятийный аппарат - серьёзное подспорье в работе, помогающее делать меньше ошибок и создавать более полезные и устойчивые инфосистемы. Что интересно, такое видение неплохо совпадает со стихийно сложившейся практикой. Например, в базах данных мы храним именно данные, проблемы с приёмом сигнала WiFi именно про сигнал, а информационные панели действительно информационные.
Если квантовые физики хотят отобрать у айтишников понятие "информация" и монополизировать его для каких-то своих загадочных нужд, что ж, ветер в спину и барабан на шею. Что бы они там ни нафантазировали о том, чем на самом деле является информация, всё равно, если это неприменимо в информационных технологиях, перспективы всё равно отсутствуют.
субъективные подходы игнорируют то, что происходит в голове, и ставят в центр Вселенной сознание субъекта, отделяя его от физического мира
Настолько отбитых эзотериков не часто встретишь здесь на Хабре. Кроме того, совсем отделяя информацию от физического мира, трудно заниматься информационными технологиями.
Кстати, в том субъективном подходе к информации, который применяю я, субъектом вовсе не обязательно должно быть что-то возвышенное и поэтичное типа человеческого сознания. Получателем сообщения, в имеющемся контексте которого сигнал становится информацией, может быть что-то более приземлённое. Например, транспортный уровень протокола TCP/IP. В составе TCP-пакета есть заголовок и данные (payload). Пэйлоад потом после сборки отправится в прикладной уровень, а заголовок информирует алгоритмы транспортного уровня, что с этим пэйлоадом делать. И всё это безо всякой мистики, тонких сущностей и квантовых интерпретаций. Полное представнение о том, что там происходит, можно получить из имеющихся в открытом доступе исходников, например, Линукса.
Теоретически можно создать универсальный конструктор - машину, которая осуществляет любые физически возможные преобразования, не изменяясь сама.
На мой взгляд, это какая-то эзотерика про боженьку. Или я не понял, о чём вы говорите?
Я заметил, что радикальный физикализм хоть и является наиболее хардкорной ветвью материализма, в своей основе всегда логически опирается на какую-нибудь внутренне противоречивую сказку либо о всеведающем существе типа демона Лапласа либо о магическом артефакте типа компьютера бесконечной мощности. Без этого концепция тотальной выводимости всего сущего из физических законов рассыпается как карточный домик.
Если хотите, могу провести небольшой ликбез по формальной логике, раскрывающий опасность построения теорий на основе заведомо несуществующих контрфактов. Если предпочитаете стиль булевой алгебры, это будет лекция о коварстве функции "импликация", а если удобнее аристотелева классика, то об отрицании антецедента.
Начиная с подзаголовка "Меры сложности" у вас очень достойный обзор наработок по теме количественной оценки сложности. Понравился. Спасибо. Но первая половина статьи, в которой вы пытаетесь разнести в пух и прах не скажу чьи ошибочно причисленные вами к идеалистическим представления о природе информации - я честно скажу, не понял, зачем она здесь. Очень странная подводка к теме, да ещё и полная внутренних противоречий.
В частности, вы пишете, что "субъективный подход к энтропии не учитывает того, что происходит у вас в голове". Позвольте, суть субъективного подхода как раз в том и заключается, чтобы учесть то, что происходит в голове. Потому он и субъективен. Если бы вы действительно, как вы декларируете, исповедовали объективный подход к информационной энтропии, вы бы не стали сразу же, в том же абзаце описывать образование нейронных связей в мозгу субъекта, воспринимающего информацию. Зачем рассказывать про субъекта, если задача как раз в том, чтобы обойтись без него?
Дальше, когда вы пишете про универсальность информации, ключевым утверждением становится "по крайней мере некоторые сообщения содержат универсальный смысл, для раскрытия которого необходим только универсальный интерпретатор – разум". Только я раскатал губу узнать про сообщения, для интерпретации которой вообще ничего не нужно, и нате вам. Ничего не нужно кроме сущей безделицы – разума.
Ваша претензия к тому, что конструкция "информация = сигнал + контекст", где контекст это тоже информация, является бесконечно рекурсивной, мне понятна. Но это не баг, а очень ценная фича. В частности, через эту бесконечную рекурсивность доказывается очень важная теорема о внешнем целеполагании. В любом случае никакой мистицизм - ни религиозный, ни бытовой - из этой рекурсивности не следует.
Кстати, напомните, а почему мы упёрлись в этого Ландауэра? Он ведь, говорят, про стирание данных. Если Алиса стирать не будет, а будет оставлять копию переданного себе, это поможет ей поднырнуть под предел Ландауэра?
Спасибо за обстоятельный комментарий. Позволю себе тоже немножко замечаний методологического характера.
Мысленный эксперимент это всегда провокация, игрушка, интеллектуальная забава. Люди ими занимаются не для того, чтобы донести до широкой общественности сияющие незыблемые раз и навсегда "твёрдо установленные закономерности". Всё с точностью до наоборот - взять какую-нибудь очевидную истину, по которой давным-давно достигнут консенсус, и её расшатать. Вывернуть её наизнанку, продемонстрировать её несостоятельность. Сделать это максимально цинично. Ну и, естественно, за это отхватить. Для примера вспомните тот самый ставший классикой жанра мысленный эксперимент Галилея с двумя предметами, лёгким и тяжёлым, связанными верёвочкой. Представляю себе, какой тогда поднялся, извините за выражение, срач вокруг этого. Во-первых, этот эксперимент ненаучен. Напомню, что в те времена основу научного метода составляло толкование библейских текстов, а тут какая-то смехотворная верёвочка, да ещё и выдуманная. Предельно низкий технический уровень. Обоснование цитатами из священного писания целиком отсутствует. Во-вторых, очевидная чушь. Любому ребёнку, да что там ребёнку, даже ишаку понятно, что чем предмет тяжелее, тем его сильнее тянет вниз, и что чем сильнее что-то тянешь, тем оно быстрее движется. Впрочем, в тот раз возмутитель спокойствия легко отделался. На подвал и в пожизненное он пошёл за другое.
Классическая теория информации, о которой вы говорите, конечно, мощная и полезная штука. Мы, технари, пользуемся ей каждый день. Она у нас на кончиках пальцев. Рабочий инструмент. Если что-то нужно закодировать и передать или сохранить, байтики подсчитываются сразу, не приходя в сознание. Но также оказывается весьма полезным навык отличать данные, о которых рассказывает теория информации, от собственно информации. И даже уметь проводить тонкое, но тем не менее концептуально важное различие между данными и физической основой, на которой они реализуются. Что до мысленного эксперимента с зонтиком, то он как раз про некоторые забавные аспекты, проистекающие из различия понятий "данные" и "физический носитель". Данные, оказывается, можно извлекать не только из имеющегося в наличии физического носителя, но и из факта его отсутствия. Данные, оказывается, можно передавать не только участвуя в процессе передачи сигнала, но и через сознательное самоустранение из этого процесса. Скомбинировав это вместе и применив первое для ноля, а второе для единицы, получаем схему с зонтиком.
Информация в том смысле, в котором этот термин понимаю я, в эксперименте с зонтиком осталась вообще за кадром. Нам в данном случае всё равно, что за инфу передаёт Алиса и с какой целью её принимает Боб. Как говорит Лучано Флориди, информация должна быть "очёмной". От себя добавлю: и "зачемной". Я бы даже сказал, что очёмность всегда неминуемо сводится к зачемности. Эти аспекты для демонстрации эффекта были лишними, поскольку сказка была не про информацию, а про данные.
Тщетность попыток отыскать физическую природу информации во многом как раз объясняется зловредностью этого самого вопроса "зачем". На вопросы "почему" и "как сделать так, чтобы..." физика отвечать умеет, но вопрос "зачем" ей by design ортогонален. Из этого вовсе не следует, что для поиска ответов нам нужно вернуться к священным писаниям. Просто нужно для начала хотя бы самим себе объяснить, что тот радикальный физикализм, который сейчас является безраздельно господствующим мировоззрением, эффективно закрывает возможность найти ответы на некоторые действительно важные вопросы. В частности, на вопрос о природе сознания.
Ну, это долгая история. Если совсем вкратце, без получателя информации, которому действительно важно, чтобы нолики с единичками не были перепутаны, все эти фотоны (а также случаи их отсутствия) это всё ничего не значащие обстоятельства материального мира. Это как с относительностью пространства-времени - пока не определён наблюдатель, не определены и свойства. Для одного сообщение "прибыль миллион" это неожиданно много, для другого это точное соответствие прогнозу (минимум информационной энтропии), а для третьего неожиданно мало. А для четвёртого, который есть кошка главбуха, это сообщение вообще не несёт никакой информации. Понятно объяснил?
В json нельзя записать комментарий. А в xml можно.
XML это по своей сути размеченный текст. Что, между прочим, явно обозначено в названии - eXtensible Markup Language. Тэги и атрибуты - разметка, а основа, то есть то, что собственно передаётся из точки А в точку Б, это текст между тегами.
Использование XML для передачи структурированных данных - чистой воды абьюзинг этой технологии. Пока не было JSON-а, в это за неимением лучшего имело смысл играться. Сейчас использованию языка разметки для кодирования стуктур данных не может быть оправдания.
ChatGPT?
Проблема с расшариванием экрана в Google Meet на Убунте решена?
Если совсем коротко, то это отличается от DataMapper тем, что здесь ничего никуда не мэппится. DbUser не является никаким in-memory representation для строки таблицы базы данных. Это всего лишь завёрнутый в удобную типизированную обёртку конкретный SELECT. Будет какой-нибудь другой select - появится другой датакласс, например, DbAuthenticatedUser. Может показаться, что такой подход плодит много лишних сущностей, но нет, мы просто перестаём смешивать мух с котлетами, и в результате всем становится только лучше.
Слышал много "добрых" слов про сюрпризы, которые иногда преподносит доктринский Hydration.
Очень простое правило вне зависимости от языка программирования, инфраструктуры и прочего: в Проде, особенно нагруженном, этих "объектов model классов" быть не должно. Халтура это. Времянка. Быстренько сляпать – кайф, но потом всё равно придётся всю дорогу тащить этот чемодан без ручки.
Посмотрел. Судя по всему, в мире .NET очень полезная и популярная штука. Решает ту же задачу, которая для Питона решена в PEP 249. Тот самый подход, который в начале статьи я обозначил как "Воспользоваться «низкоуровневым» интерфейсом СУБД". В нём всё хорошо за исключением того, что по мере роста функциональности всё превращается в долбаный хаос – вкрапления SQL, разбросанные по всему коду приложения где попало. Основная мотивация NoORM – удобняшка, которая которая не только что-то там упрощает (хотя это тоже важно), но в первую очередь мягко и нежно мотивирует разработчика не плодить хаос.
Не понимаю, в чём проблема с заказами. Можно сделать разными способами. Например, так:
Или через join, или через exists.
Лучше переизобретать хорошие вещи, чем переизобретать плохие.
Вообще, заворачивать результаты запросов в датаклассы – весьма очевидная идея. Весь вопрос, как это делать так, чтобы это было удобно и приятно. Вот для этого как раз и нужна библиотечка.
Это тоже порождает массу неудобств и кривизны. Когда мы получаем объект, нам нужно раскинуть карты Таро и предугадать, какие вещи нам нужно включить в .include. И не только для выполнения текущей задачи, но и последующих доработок, о которых у нас пока что нет никаких идей.
Представьте себе, что у нас есть некая функция, принимающая параметр order, экземпляр персистентного ORM-ного класса Order. Можем ли мы без дополнительного похода в базу обратиться к order.lines или к order.customer.email? Чтобы ответить на эти вопросы, нужно проследить все возможные цепочки вызовов, ведущие в эту функцию. Притом не только имеющиеся, но и те, которые, возможно, появятся в будущем.
С простыми и предсказуемыми датаклассами всё намного проще и надёжнее. Если у DbOrder есть свойство customer_email, можем без доп. изысканий его использовать.
Так расскажите. Интересно.
Мне JOOQ показался поразительно похожим на то, как делаются запросы в SqlAlchemy. Такое же цепочечное нанизывание "родных" конструкций. В сочетании с NoORM работает замечательно. Пользуемся.
Экспериментировал с разными вариантами, и этот оказался самым симпатичным
По своему опыту скажу, что именно такая раскладка - информация, данные, сигнал - очень помогает сеньорить в айтишечке. В особенности привычка при работе с данными понимать, что они ещё не есть информация. Для того, чтобы они в нужный момент становились информацией (ведь в этом-то и смысл всей затеи), ты должен позаботиться о том, чтобы не потерялся контекст. Вы себе не представляете, сколько человечество уже накопило цифрового мусора - данных, которые уже никогда не станут информацией потому что контекст уже потерян.
Удобный, компактный, непротиворечивый и в достаточной степени универсальный понятийный аппарат - серьёзное подспорье в работе, помогающее делать меньше ошибок и создавать более полезные и устойчивые инфосистемы.
Что интересно, такое видение неплохо совпадает со стихийно сложившейся практикой. Например, в базах данных мы храним именно данные, проблемы с приёмом сигнала WiFi именно про сигнал, а информационные панели действительно информационные.
Если квантовые физики хотят отобрать у айтишников понятие "информация" и монополизировать его для каких-то своих загадочных нужд, что ж, ветер в спину и барабан на шею. Что бы они там ни нафантазировали о том, чем на самом деле является информация, всё равно, если это неприменимо в информационных технологиях, перспективы всё равно отсутствуют.
Лет через 500 ровно то же самое будут говорить про наше время.
Настолько отбитых эзотериков не часто встретишь здесь на Хабре. Кроме того, совсем отделяя информацию от физического мира, трудно заниматься информационными технологиями.
Кстати, в том субъективном подходе к информации, который применяю я, субъектом вовсе не обязательно должно быть что-то возвышенное и поэтичное типа человеческого сознания. Получателем сообщения, в имеющемся контексте которого сигнал становится информацией, может быть что-то более приземлённое. Например, транспортный уровень протокола TCP/IP. В составе TCP-пакета есть заголовок и данные (payload). Пэйлоад потом после сборки отправится в прикладной уровень, а заголовок информирует алгоритмы транспортного уровня, что с этим пэйлоадом делать. И всё это безо всякой мистики, тонких сущностей и квантовых интерпретаций. Полное представнение о том, что там происходит, можно получить из имеющихся в открытом доступе исходников, например, Линукса.
На мой взгляд, это какая-то эзотерика про боженьку. Или я не понял, о чём вы говорите?
Я заметил, что радикальный физикализм хоть и является наиболее хардкорной ветвью материализма, в своей основе всегда логически опирается на какую-нибудь внутренне противоречивую сказку либо о всеведающем существе типа демона Лапласа либо о магическом артефакте типа компьютера бесконечной мощности. Без этого концепция тотальной выводимости всего сущего из физических законов рассыпается как карточный домик.
Если хотите, могу провести небольшой ликбез по формальной логике, раскрывающий опасность построения теорий на основе заведомо несуществующих контрфактов. Если предпочитаете стиль булевой алгебры, это будет лекция о коварстве функции "импликация", а если удобнее аристотелева классика, то об отрицании антецедента.
Начиная с подзаголовка "Меры сложности" у вас очень достойный обзор наработок по теме количественной оценки сложности. Понравился. Спасибо. Но первая половина статьи, в которой вы пытаетесь разнести в пух и прах не скажу чьи ошибочно причисленные вами к идеалистическим представления о природе информации - я честно скажу, не понял, зачем она здесь. Очень странная подводка к теме, да ещё и полная внутренних противоречий.
В частности, вы пишете, что "субъективный подход к энтропии не учитывает того, что происходит у вас в голове". Позвольте, суть субъективного подхода как раз в том и заключается, чтобы учесть то, что происходит в голове. Потому он и субъективен. Если бы вы действительно, как вы декларируете, исповедовали объективный подход к информационной энтропии, вы бы не стали сразу же, в том же абзаце описывать образование нейронных связей в мозгу субъекта, воспринимающего информацию. Зачем рассказывать про субъекта, если задача как раз в том, чтобы обойтись без него?
Дальше, когда вы пишете про универсальность информации, ключевым утверждением становится "по крайней мере некоторые сообщения содержат универсальный смысл, для раскрытия которого необходим только универсальный интерпретатор – разум". Только я раскатал губу узнать про сообщения, для интерпретации которой вообще ничего не нужно, и нате вам. Ничего не нужно кроме сущей безделицы – разума.
Ваша претензия к тому, что конструкция "информация = сигнал + контекст", где контекст это тоже информация, является бесконечно рекурсивной, мне понятна. Но это не баг, а очень ценная фича. В частности, через эту бесконечную рекурсивность доказывается очень важная теорема о внешнем целеполагании. В любом случае никакой мистицизм - ни религиозный, ни бытовой - из этой рекурсивности не следует.
"Ну да, я дропнул базу и все бэкапы. Но у меня для вас хорошая новость: информацию нельзя уничтожить"
Сейчас почитаю.
Кстати, напомните, а почему мы упёрлись в этого Ландауэра? Он ведь, говорят, про стирание данных. Если Алиса стирать не будет, а будет оставлять копию переданного себе, это поможет ей поднырнуть под предел Ландауэра?
Спасибо за обстоятельный комментарий. Позволю себе тоже немножко замечаний методологического характера.
Мысленный эксперимент это всегда провокация, игрушка, интеллектуальная забава. Люди ими занимаются не для того, чтобы донести до широкой общественности сияющие незыблемые раз и навсегда "твёрдо установленные закономерности". Всё с точностью до наоборот - взять какую-нибудь очевидную истину, по которой давным-давно достигнут консенсус, и её расшатать. Вывернуть её наизнанку, продемонстрировать её несостоятельность. Сделать это максимально цинично. Ну и, естественно, за это отхватить.
Для примера вспомните тот самый ставший классикой жанра мысленный эксперимент Галилея с двумя предметами, лёгким и тяжёлым, связанными верёвочкой. Представляю себе, какой тогда поднялся, извините за выражение, срач вокруг этого. Во-первых, этот эксперимент ненаучен. Напомню, что в те времена основу научного метода составляло толкование библейских текстов, а тут какая-то смехотворная верёвочка, да ещё и выдуманная. Предельно низкий технический уровень. Обоснование цитатами из священного писания целиком отсутствует. Во-вторых, очевидная чушь. Любому ребёнку, да что там ребёнку, даже ишаку понятно, что чем предмет тяжелее, тем его сильнее тянет вниз, и что чем сильнее что-то тянешь, тем оно быстрее движется.
Впрочем, в тот раз возмутитель спокойствия легко отделался. На подвал и в пожизненное он пошёл за другое.
Классическая теория информации, о которой вы говорите, конечно, мощная и полезная штука. Мы, технари, пользуемся ей каждый день. Она у нас на кончиках пальцев. Рабочий инструмент. Если что-то нужно закодировать и передать или сохранить, байтики подсчитываются сразу, не приходя в сознание. Но также оказывается весьма полезным навык отличать данные, о которых рассказывает теория информации, от собственно информации. И даже уметь проводить тонкое, но тем не менее концептуально важное различие между данными и физической основой, на которой они реализуются. Что до мысленного эксперимента с зонтиком, то он как раз про некоторые забавные аспекты, проистекающие из различия понятий "данные" и "физический носитель". Данные, оказывается, можно извлекать не только из имеющегося в наличии физического носителя, но и из факта его отсутствия. Данные, оказывается, можно передавать не только участвуя в процессе передачи сигнала, но и через сознательное самоустранение из этого процесса. Скомбинировав это вместе и применив первое для ноля, а второе для единицы, получаем схему с зонтиком.
Информация в том смысле, в котором этот термин понимаю я, в эксперименте с зонтиком осталась вообще за кадром. Нам в данном случае всё равно, что за инфу передаёт Алиса и с какой целью её принимает Боб. Как говорит Лучано Флориди, информация должна быть "очёмной". От себя добавлю: и "зачемной". Я бы даже сказал, что очёмность всегда неминуемо сводится к зачемности. Эти аспекты для демонстрации эффекта были лишними, поскольку сказка была не про информацию, а про данные.
Тщетность попыток отыскать физическую природу информации во многом как раз объясняется зловредностью этого самого вопроса "зачем". На вопросы "почему" и "как сделать так, чтобы..." физика отвечать умеет, но вопрос "зачем" ей by design ортогонален. Из этого вовсе не следует, что для поиска ответов нам нужно вернуться к священным писаниям. Просто нужно для начала хотя бы самим себе объяснить, что тот радикальный физикализм, который сейчас является безраздельно господствующим мировоззрением, эффективно закрывает возможность найти ответы на некоторые действительно важные вопросы. В частности, на вопрос о природе сознания.
Ну, это долгая история. Если совсем вкратце, без получателя информации, которому действительно важно, чтобы нолики с единичками не были перепутаны, все эти фотоны (а также случаи их отсутствия) это всё ничего не значащие обстоятельства материального мира.
Это как с относительностью пространства-времени - пока не определён наблюдатель, не определены и свойства.
Для одного сообщение "прибыль миллион" это неожиданно много, для другого это точное соответствие прогнозу (минимум информационной энтропии), а для третьего неожиданно мало. А для четвёртого, который есть кошка главбуха, это сообщение вообще не несёт никакой информации. Понятно объяснил?