Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

5.2 Основные понятия традиционного программирования

В этом разделе мы рассмотрим некоторые понятия императивных и объектно-ориентированных языков программирования. Мы будем обращаться к таким языкам программирования, как Ada, С, C++, С#, FORTRAN, Java и Pascal. FORTRAN, Pascal и С относятся к императивным языкам третьего поколения. C++ является объектно-ориентированным языком, разработанным как расширение языка С. Языки Java и С# — это тоже объектно-ориентированные языки, созданные на основе языка C++. (Язык Java был создан компанией Sun Microsystems, a C# является продуктом компании Microsoft.) Ada первоначально создавался как императивный язык третьего поколения, обладающий свойствами объектно-ориентированных языков. Однако его новейшая версия более всего соответствует парадигме объектно-ориентированных языков.

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

Хотя мы и включили объектно-ориентированные языки, такие как C++, Java и С#, в список рассматриваемых языков, в этом разделе мы чаще будем обращаться к императивным языкам, поскольку многие компоненты программы, написанной на объектно-ориентированном языке (например, процедуры, описывающие, как объект должен реагировать на внешний стимул), в сущности, являются небольшими императивными программами. Отличительные характеристики объектно-ориентированных языков программирования мы рассмотрим в разделе 5.5.

5.2.1Культуры языков программирования

Как и в случае с естественными языками, люди, использующие разные языки программирования, приобретают различия, делающие их представителями разных культур, и часто спорят о преимуществах использования того или иного языка. Иногда эти различия очень заметны, например, когда речь идет о разных парадигмах программирования. В других случаях различия незначительны. Например, несмотря на то что в этой книге приводятся два понятия, «процедура» и «функция» (раздел 5.3), программист, работающий с языком С, всегда говорит о функции, потому что процедура в языке С является функцией, которая не возвращает никакого значения. Еще похожий пример. Программист, работающий с языком C++, процедуру объекта называет функцией-членом, хотя существует общий термин «метод». Это различие является результатом того, что язык C++ представляет собой расширение языка С. Другое различие заключается в том, что зарезервированные слова в языках Pascal и Ada выделяются жирным шрифтом. Этот прием не используется программистами в языках С, C++, FORTRAN и Java1.

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

Операторы, которые содержат рассматриваемые языки, можно разделить на три группы: операторы описания, исполняемые операторы и комментарии. Операторы описания (declarative statements) определяют терминологию, которая будет использоваться в программе, например задают имена, используемые в дальнейшем для ссылок на элементы данных. Исполняемые операторы (imperative statements) описывают шаги алгоритма, лежащего в основе программы. Комментарии (comments) упрощают чтение текста программы, объясняя ее свойства на естественном языке. Программа, написанная на императивном языке, или элемент такой программы (например, процедура) обычно начинается с описания данных, которые будут использоваться в программе. За операторами описания следуют исполняемые операторы, описывающие алгоритм, который будет выполняться (рис. 5.4). Комментарии можно поместить в любое место программы для объяснения выполняемых ею действий. Сначала рассмотрим понятия, связанные операторами описания.