Читаем Программирование. Принципы и практика использования C++ Исправленное издание полностью

Посмотрим, в каком месте компьютеры и программное обеспечение могли бы сыграть ключевую роль здесь. Сканеры — это в основном компьютеры; излучаемые ими импульсы управляются компьютерами, но получаемая информация представляет собой неразбериху, пока не будет обработана сложными алгоритмами и преобразована в понятные трехмерные изображения соответствующей части тела. Для проведения хирургических операций с помощью компьютеров мы должны продвинуться еще дальше. Существует множество методов визуализации, позволяющих хирургу видеть внутренности пациента при наилучшем увеличении и освещении. С помощью компьютеров хирург может намного точнее оперировать инструментами, чем человеческая рука, и проникать в области, куда обычным способом без дополнительных разрезов дотянуться невозможно. Минимально инвазивная хирургия (лапароскопия) — это яркий пример медицинской технологии, позволяющей уменьшить боль до минимума и сократить время выздоровления миллионов людей. Компьютер может также помочь руке хирурга выполнить более тонкую работу, чем обычно. Кроме того, робототехническая система допускает дистанционное управление, позволяя доктору работать на расстоянии (например, через Интернет). Компьютеры и программы, связанные с этими системами, поразительно сложны и интересны. Разработка пользовательского интерфейса, средств управления оборудованием и методов визуализации в этих системах загрузит работой многие тысячи исследователей, инженеров и программистов на многие десятилетия вперед.

Среди медиков идет дискуссия о том, какой именно новый инструмент оказался наиболее полезным. Сканер компьютерной аксиальной томографии? Сканер магниторезонансной томографии? Аппараты для автоматического анализа крови? Ультразвуковые установки с высоким разрешением? Персональные информационные устройства? К удивлению многих, “победителем” в этом “соревновании” стали устройства, обеспечивающие непрерывный доступ к записям о состоянии пациента. Знание истории болезни пациента (заболевания, которые он перенес, виды медицинской помощи, к которой он обращался, аллергические реакции, наследственные проблемы, общее состояние здоровья, текущее лечение и т.д.) упрощает диагностику и минимизирует вероятность ошибок.

<p id="AutBody_Root013"><strong>1.5.5. Информация</strong></p>

На следующих двух фотографиях изображены обычные персональные компьютеры и группа серверов.

Мы сосредоточились на аппаратных устройствах по вполне очевидным причинам: никто не в состоянии увидеть, потрогать или услышать программное обеспечение. Поскольку показать фотографию программы невозможно, мы демонстрируем оборудование, которое ее выполняет. Однако многие виды программного обеспечения непосредственно работают с информацией. Итак, рассмотрим обычное использование обычных компьютеров, выполняющих обычное программное обеспечение.

Группа серверов — это совокупность компьютеров, обеспечивающих веб-сервис. Используя поисковую машину Google, мы можем прочитать в Википедии (веб-словаре) следующую информацию. По некоторым оценкам, в 2004 году группа серверов поисковой машины Google имела следующие характеристики.

• 719 блоков.

• 63 272 компьютера.

• 126 544 центральных процессора.

• Производительность — 253 ТГц.

• Объем оперативной памяти — 126 544 Гбайт.

• Объем постоянной памяти — 5 062 Тбайт.

Гигабайт (Гбайт) — это около миллиарда символов. Терабайт (Tбайт) — это около тысячи гигабайтов, т.е. около триллиона символов. За прошедшее время группа серверов Google стала намного больше. Это довольно экстремальный пример, но каждая крупная компания выполняет программы в веб, чтобы взаимодействовать с пользователями и клиентами. Достаточно вспомнить компании Amazon (книжная и другая торговля), Amadeus (продажа авиабилетов и аренда автомобилей) и eBay (интернет-аукционы). Миллионы небольших компаний, организаций и частных лиц также работают в сети веб. Большинство из них не используют собственное программное обеспечение, но многие все же пишут свои программы, которые часто бывают совсем не тривиальными.

Более традиционным является использование компьютеров для ведения бухгалтерии, учета заказов, платежей и счетов, управления запасами, учета кадров, ведения баз данных, хранения записей о студентах, персонале, пациентах и т.п. Эти записи хранят практически все организации (коммерческие и некоммерческие, правительственные и частные), поскольку они составляют основу их работы. Компьютерная обработка таких записей выглядит просто: в большинстве случаев информация (записи) просто записывается в память компьютера и извлекается из его памяти, и очень редко обрабатывается с его помощью. Приведем некоторые примеры.

• Вовремя ли прибудет самолет, вылетающий в Чикаго в 12:30?

• Болел ли Гильберт Салливан корью?

• Поступила ли на склад кофеварка, которую заказал Хуан Вальдез?

• Какую кухонную мебель купил Джек Спрат в 1996 году и покупал ли он ее вообще?

• Сколько телефонных звонков поступило из зоны 212 в августе 2006 года?

• Сколько кофейных чашек было продано в январе и чему равна их совокупная стоимость?

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT