Читаем Код. Тайный язык информатики полностью

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

Наиболее популярные объектно-ориентированные языки для персональных компьютеров — это расширенные версии таких традиционных языков типа АЛГОЛ, как C и Паскаль. Самое известное объектно-ориентированное расширение языка C — C++. (Как вы помните, в языке C два плюса соответствуют оператору инкремента.) Язык C++, разработанный в основном Бьёрном Страуструпом (род. 1950) из Bell Telephone Laboratories, сначала был реализован как транслятор, который преобразовывал программу, написанную на C++, в программу на C (хотя получавшийся в результате код на языке С был практически нечитаемым). После этого преобразования программу на C можно было скомпилировать обычным способом.

Разумеется, возможности объектно-ориентированных языков не выходят за рамки возможностей традиционных языков. Однако программирование — это деятельность, связанная с решением задач, а объектно-ориентированные языки позволяют учесть различные, часто более совершенные решения. На объектно-ориентированном языке также можно (хоть это и непросто) написать программу, компилируемую как под Mac OS, так и под Windows. Такая программа не обращается напрямую к функциям API, а вместо этого использует объекты, которые вызывают эти функции. Для компиляции программы под Mac OS или Windows нужны разные определения объектов.

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

В главе 22 я рассказывал о текстовых файлах, которые содержат только ASCII-коды символов и получаются человекочитаемыми. Во времена текстовых операционных систем текстовые файлы были идеальным средством для обмена информацией между приложениями. Одно из важных преимуществ текстовых файлов — в них можно производить поиск, то есть программа может проверить множество файлов на наличие определенной текстовой строки. Однако когда в операционной системе появляется средство для отображения текста с использованием различных шрифтов, размеров и начертаний, возможности текстового файла внезапно оказываются неадекватными. Большинство текстовых редакторов сохраняют документы в собственном двоичном формате, а для хранения графической информации такие файлы вообще не подходят.

Например, информацию о параметрах шрифта и расположении абзацев можно закодировать вместе с текстом и получить при этом пригодный для чтения текстовый файл. Для этого нужно выбрать управляющий символ, после которого будет следовать эта информация. В формате RTF (Rich Text Format), разработанном компанией Microsoft для обмена форматированным текстом между приложениями, для выделения информации о форматировании текста используются фигурные скобки {} и обратная косая черта \.

Эта концепция доведена до предела в формате текстового файла PostScript, разработанном соучредителем компании Adobe Systems Джоном Уорноком (род. 1940). PostScript — универсальный язык графического программирования, который используется в основном для печати текста и графики на высокотехнологичных принтерах.

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

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

Векторные изображения создаются алгоритмически с помощью прямых и кривых линий, а также заполняемых цветом фигур. Векторная графика применяется в системах автоматизированного проектирования (computer-aided drawing, CAD) для создания инженерных или архитектурных чертежей. Графическое изображение такого типа может быть сохранено в формате так называемого метафайла[35]. Метафайл — обычный набор команд для рисования векторных графических объектов, обычно закодированных в двоичной форме.

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

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

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Киберкрепость: всестороннее руководство по компьютерной безопасности
Киберкрепость: всестороннее руководство по компьютерной безопасности

Как обеспечить надежную защиту в эпоху, когда кибератаки становятся все более продвинутыми? Каковы последствия уязвимости цифровых систем? Петр Левашов, экс-хакер с богатым бэкграундом, рассматривает все грани кибербезопасности, начиная с базовых принципов и заканчивая новейшими технологиями.Читатели познакомятся с:• основами компьютерной безопасности и актуальными методами защиты;• современными методами шифрования данных и криптографии;• процедурами ответа на инциденты и восстановления после катастроф;• юридическими и регуляторными требованиями к компьютерной безопасности.Автор использует свой уникальный опыт, чтобы предоставить читателям углубленное понимание кибербезопасности. Его подход охватывает теоретические знания и практическую подготовку, делая этот материал доступным для профессионалов и новичков.

Пётр Юрьевич Левашов

Зарубежная компьютерная, околокомпьютерная литература