Реальность: "седьмая вода на киселе"
Реальность: "седьмая вода на киселе"
Предшествующее обсуждение не содержит ссылок на "реальный мир", - вместо этого используется термин "моделируемая система".
Такое разграничение проводится не всегда. Во многих дискуссиях используется выражение "моделирование реального мира"; аналогичные высказывания содержат и книги по ОО-анализу. Однако говорить о "реальности" применительно к программной системе ошибочно, по крайней мере, по четырем причинам.
Во-первых, реальность отражается в глазах очевидца. Не впадая в профессиональный шовинизм, программист всегда вправе спросить своих заказчиков, почему их системы более реальны, чем его. Возьмите программу, выполняющую математические вычисления - проверку гипотезы четырех красок в теории графов, интегрирование дифференциальных уравнений или решение геометрических проблем на четырехмерной римановой поверхности. Нужно ли нам, программистам, спорить с друзьями (математиками, заказчиками) о том, чьи искусственные объекты - артефакты более реальны - фрагменты программного кода или полное подпространство отрицательной кривизны? (См. также лекцию 2)
Во-вторых, понятие реального мира рушится в нередких ситуациях, когда ПО предназначено для разрешения проблем ПО. Рассмотрим компилятор C, написанный на Pascal. Для него "реальными" объектами являются программы на C. Насколько эти программы более реальны, чем сам компилятор? Это наблюдение применимо и к другим системам, работающим с объектами, существующими только в компьютере. (См. лекцию 6)
Третье соображение обобщает второе. В сегодняшнем информационном мире компьютеры стали частью реальности. На заре появления компьютеров можно было говорить, что создаваемая программная система моделирует реальную систему. Предприятие приобретало компьютеры для автоматизации бизнес процессов. При описании процессов современного банка его ПО является фундаментальной частью банковской системы. Ситуация аналогична квантовой физике, где невозможно отделить измерение от измеряемого механизма. Термин "виртуальная реальность" в какой-то мере отражает данную ситуацию. Программные продукты не менее реальны, чем те, что приходят из внешнего мира. Во всех таких ситуациях программная система пересекается с реальностью, отчего возникает положительная обратная связь, когда работа существующей системы приводит к новым и важным изменениям самой модели, приводя к изменениям программной системы.
Последний довод наиболее фундаментален. Программная система не является моделью реальности. В лучшем случае это модель модели некоторой части некоторой реальности. Система мониторинга пациента больницы не является моделью больницы, но реализацией конкретной точки зрения на некоторые аспекты работы больницы. Это модель модели некоторой части реальности больницы. Астрономическая программа это не модель вселенной, а всего лишь программная модель чьей-то модели некоторых свойств некоторой части вселенной. Финансовая информационная система не является моделью фондового рынка. Это программная реализация модели, разработанной конкретной компанией для описания тех аспектов фондового рынка, которые соответствуют целям данной компании.
Абстрактные типы данных, лежащие в основе ОО-метода, помогают понять, почему не следует придерживаться широко распространенной, но иллюзорной точкой зрения, что мы имеем дело с "реальным миром". Первый шаг к объектной ориентации, выражаемый теорией АТД, состоит в отказе от реальности ради менее грандиозного, но более аппетитного яства, - представляющего множество абстракций, характеризующих операции, доступные клиентам, и их формальные свойства. (На этом построен девиз модельера АТД - не говорите мне, кто вы, скажите, чем вы обладаете.) Мы никогда не претендуем на то, что рассмотрели все возможные операции и свойства: мы выбрали некоторые из них, подходящие для наших целей и отбросили остальные. Моделирование означает отсекание лишнего.
В идеальном случае программная система приходится соответствующей реальности лишь "седьмой водицей на киселе" (cousin twice removed).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Суровая реальность
Суровая реальность Пусть у нашего сайта есть три страницы — P1, P2 и P3, поочередно запрашиваемые новым пользователем. P1 использует ресурсы A, B и C, P2 — A, С и D, а P3 — A, С, E и F. Если ресурсы не объединять, получаем следующее:P1 — тратим время на загрузку A, B и CP2 — тратим время на
Реальность
Реальность И снова скажу, что это описание идеализированное и гипотетическое. Но если немного изменить терминологию, вы поймете, что оно не так уж сильно отличается от сегодняшней ситуации. Выпускников опекают молодые руководители групп, которых опекают руководители
Глава седьмая. «Драгонада» Мэтта Диллона
Глава седьмая. «Драгонада» Мэтта Диллона Как было отмечено в прошлой главе, новые операционные системы возникают на наших глазах возникает не каждый день. И, главное, не каждая из возникших систем активно развивается, а не забрасывается по прошествии недолгого времени
Функции вода/вывода высокого уровня
Функции вода/вывода высокого уровня Функция Краткое описание clearerr очистка флажка ошибки для потока fclose закрытие потока fcloseall закрытие всех открытых (на верхнем уровне) файлов fdopen создание потока для файла, ранее открытого на нижнем уровне, используя
Функции вода/вывода нижнего уровня
Функции вода/вывода нижнего уровня Функция Краткое описание close закрыть файл creat создать файл dup создать второй дескриптор (handle) для файла dup2 переназначить дескриптор (handle) для файла eof проверка на конец файла lseek позиционирование указателя файла в заданное
Функции вода/вывода с консольного терминала и порта
Функции вода/вывода с консольного терминала и порта Функции ввода/вывода для консольного терминала выделены в отдельную группу, потому что они используют специфические особенности компьютера IBM/PC (наличие специального видеоадаптера) и не являются переносимыми на
13-я КОМНАТА: Реклама и вода
13-я КОМНАТА: Реклама и вода Автор: Леонид Левкович-МаслюкНе любил, помню, в школьной алгебре задания на тему «избавиться от иррациональности», а еще меньше — на откровенное «упростить». Теперь понимаю — классики-составители программ знали, что делали. Вооружали детей
Инновации и реальность
Инновации и реальность Автор: Дмитрий ШабановЖизнь меняется, и изменения постепенно проникают даже в школу — один из самых консервативных институтов общества. Как направляет этот процесс государство российское? Кое-что удалось понять на семинаре, который на днях провел
Мифы и реальность
Мифы и реальность С загадочным миром Интернета связано много разных слухов. Рассмотрим и разъясним некоторые из них. Кое-кто считает, что Интернет — это некий параллельный мир, в котором присутствуют разные вещи, которых в реальности вовсе не существует. Это, конечно, не
Вода на Луне Василий Щепетнёв
Вода на Луне Василий Щепетнёв Итак, миссия зонда LCROSS завершилась триумфом: на Луне обнаружена вода, и много воды.Ждал я этого давно, ждал с нетерпением, словно изнывающий от жажды Тантал, запечатанный в лунной пещере. Где вода, там жизнь, так что с бомбардировками впредь
Реальность
Реальность Вначале реальность несколько пугает. Сложно найти сайт, полностью отвечающий всем требованиям доступности. Однако, как уже говорилось, нет пределов совершенству. Повсеместное использование CMS систем и формулировка четких критериев доступности также
«Метро» и вода: как создавались визуальные эффекты для нового фильма-катастрофы Юрий Ильин
«Метро» и вода: как создавались визуальные эффекты для нового фильма-катастрофы Юрий Ильин Опубликовано 15 апреля 2013 21 февраля на российские киноэкраны вышел фильм-катастрофа режиссёра Антона Мегердичева «Метро» — возможно, одно из самых удачных
Глава седьмая
Глава седьмая Дни летели. Тормоз, Влад и Нуб уже третью неделю подряд пребывали в Кемерово, отлавливая все отчеты с лицензионного софта. Максим и Дмитрий вернулись на базу спустя неделю после отъезда, привезя с собой готовые счета в оффшорных банках. Максим светился,