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

Из-за крупного масштаба баз данных эти системы весьма сложны. К тому же ответы на вопросы следует давать быстро (часто на протяжении не более двух секунд) и правильно (по крайней мере, почти всегда). Сегодня трудно кого-то удивить терабайтами данных (байт — это единица памяти, необходимая для хранения обычного символа). Эта традиционная обработка данных часто сочетается с доступом к базам данных через веб.

Этот вид использования компьютеров часто называют обработкой информации. Он сосредоточен на данных — как правило, на крупных объемах данных — и создает интересные проблемы, связанные с организацией и передачей информации, а также со сжатым представлением огромных массивов данных: пользовательский интерфейс представляет собой важный аспект обработки данных. Например, представьте себя на месте исследователя средневековой литературы (скажем, “Кентерберийских рассказов” Чосера или “Дон Кихота” Сервантеса) и подумайте, каким образом можно было бы выяснить, кто именно из многих десятков гипотетических авторов на самом деле написал анализируемый текст. Для этого пришлось бы выполнить поиск по тексту, руководствуясь множеством критериев, сформулированных литературоведами, а также вывести результаты, позволяющие выявить скрытые особенности этих произведений. Размышляя об анализе текстов, вы непременно вспомните и о сегодняшних публикациях: нынче любая статья, книга, брошюра, газета производится на компьютере. Разработка программного обеспечения, облегчающего публикацию текстов, для большинства людей остается задачей, не имеющей удовлетворительного решения.

<p id="AutBody_Root014"><strong>1.5.6. Вид сверху</strong></p>

Говорят, что палеонтологи способны полностью реконструировать динозавра, описать его образ жизни и естественную среду, изучив лишь одну его маленькую косточку. Возможно, это покажется преувеличением, но иногда полезно изучить простой артефакт и подумать, какие следствия он влечет. Посмотрите на фотографию марсианского ландшафта, сделанную марсоходом NASA.

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

Эта фотография пришла на Землю по каналу связи с 25-минутной задержкой; при этом большое количество искушенных программистов и талантливых математиков сделали все возможное, чтобы эта картинка была закодирована минимальным количеством битов без потери хотя бы одного бита. На Земле фотография обработана с помощью алгоритмов, восстанавливающих цвет и минимизирующих искажения, возникающие из-за несовершенства оптических приборов и электронных сенсоров.

Программы управления марсоходами, конечно, являются компьютерными программами, — двигатель марсохода работает автономно и круглосуточно, подчиняясь командам, посылаемым с Земли за день до их выполнения. Передача команд управляется программами. Операционные системы, используемые на разных компьютерах, вовлеченных в управление марсоходами, передачей команд и реконструкцией фотографий, ничем не отличаются от приложений, используемых при редактировании этой главы. Компьютеры, на которых запускаются эти программы, в свою очередь, разработаны и созданы с помощью систем компьютерного проектирования и производства CAD/CAM. Микросхемы, входящие в состав этих ком пьютеров, произведены на компьютеризованных сборочных линиях с использованием высокоточных инструментов, причем сами эти инструменты спроектированы и созданы с помощью компьютеров (и программного обеспечения).

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

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

<p id="AutBody_Root015"><strong>1.5.7. И что?</strong></p>
Перейти на страницу:

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

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

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

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

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

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

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

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