Общая терминология программирования
процедурой или функцией. При этом результирующая программа организуется в
виде совокупности взаимосвязанных по определенным правилам модулей. Это
упрощает разработку сложных программных продуктов и их тестирование.
Функциональное программирование [functional programming] — метод
программирования, основанный на разбиении алгоритма решения задачи на
отдельные функциональные модули, а также описании их связей и характера
взаимодействия. Для функционального программирования наиболее широко
используются языки НОРЕ и ML. Элементы функционального программирования
реализуются также другими языками, например Си.
Эвристическое программирование [hueristic programming] — метод
программирования, основанный на моделировании мыслительной деятельности
человека. Используется для решения задач, не имеющих строго
формализованного алгоритма или связанных с неполнотой исходных данных.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПО [software]
Совокупность программных средств, управляющих работой ЭВМ и/или
автоматизированной системы, а также документация, необходимая для
эксплуатации этих средств. Различают общее и прикладное (специальное)
программное обеспечение.
ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ [program documentation]
Комплект документов, содержащих полное описание программы и необходимый
состав сведений для ее распространения (в том числе продажи) и
использования.
3 ЯЗЫКИ ПРОГРАММИРОВАНИЯ
ЯЗЫК ПРОГРАММИРОВАНИЯ [programming language]
Формализованный язык, предназначенный для описания программ и алгоритмов
решения задач на ЭВМ. Языки программирования являются искусственными. В них
синтаксис и семантика строго определены. Поэтому они не допускают
свободного толкования выражения, что характерно для естественного языка.
Языки программирования разделяются на две основные категории — языки
высокого уровня и языки низкого уровня.
Язык высокого уровня [high-level language] — язык программирования,
средства которого обеспечивают описание задачи в наглядном, легко
воспринимаемом виде, удобном для программиста. Он не зависит от внутренних
машинных кодов ЭВМ любого типа, поэтому программы, написанные на нем,
требуют перевода в машинные коды программами транслятора либо
интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик,
Паскаль, Си, Ада и др.
Язык низкого уровня, [low-level language] — язык программирования,
предназначенный для определенного типа ЭВМ и отражающий его внутренний
машинный код.
Различают также следующие виды языков программирования:
Алгоритмический язык [algorithmic language] — совокупность символов,
соглашений и правил, используемых для однозначного описания алгоритмов и
обычно являющихся частью языка программирования.
Неалгоритмический язык [nonalgorithmic language] — язык программирования,
тексты которого не содержат указаний на порядок выполнения операций и
служат лишь исходным материалом для синтеза алгоритма решения задачи.
Формальный язык [formal language] — язык программирования, построенный по
правилам некоторого логического исчисления или формальной грамматики
[formal grammar], представляющей собой систему правил построения в заданном
алфавите конечных знаковых последовательностей, множество которых образует
формальный язык.
Исходный язык [source language] — язык программирования, на котором
написана программа, в отличие от машинного языка, на котором программы
выполняются компьютером. Исходные языки классифицируются на языки высокого
уровня и языки низкого уровня.
Машинный (абсолютный) язык, язык ЭВМ [computer (machine) language] —
язык программирования, предназначенный для представления программ в форме,
обеспечивающей возможность их выполнения техническими средствами.
Машинно-зависимый (машинно-ориентированный) язык, машинно-зависимый язык
программирования [computer-sensitive (computer-oriented) language] — язык
программирования, учитывающий структуру и характеристики ЭВМ определенного
типа или конкретной ЭВМ.
Машинно-независимый язык [machine-independent language] — язык
программирования, структура и средства которого не связаны ни с какой
конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой
ЭВМ, снабженной трансляторами (см. далее) с этого языка.
Символический язык, язык символического кодирования [symbolic language]
— язык программирования, ориентированный на конкретные ЭВМ и основанный на
кодировании машинных операций при помощи определенного набора символов.
Гибридный (комбинированный) язык [hibrid language] — язык
программирования, использующий также и средства другого языка.
Графический язык [graphic language] — язык, предназначенный для написания
программ машинной графики и пользования ими.
Базовый язык [base language]
1. Машинный язык, общий для семейства ЭВМ.
2. Язык программирования в СУБД с автономным языком.
Общий язык [common language] — машинный язык, общий для группы ЭВМ и
используемых ими внешних устройств.
Эталонный язык [reference language] — язык — основа для всех его
конкретных версий, являющихся вариантами адаптации эталонного языка к
определенным условиям применения и назначения.
Язык ассемблера, ассемблер [assembler language] — универсальный язык
программирования, относящийся к категории языков низкого уровня, структура
которого определяется форматами команд, данными машинного языка и
архитектурой ЭВМ. Используется программистами в тех случаях, когда
невозможно применение языка высокого уровня или требуются эффективные
программы в машинных кодах.
Декларативный (непроцедурный) язык [declarative (nonprocedural) language]
— язык программирования, который позволяет задавать связи и отношения между
объектами и величинами, но не определяет последовательность выполнения
действий (например, языки Пролог, QBE).
Императивный (процедурный) язык [imperative language] — язык
программирования, который позволяет в явной форме (при помощи задания
выполняемых операторов) определять действия и порядок (последовательность)
их выполнения.
Язык функционального программирования, функциональный язык [functional
language] — декларативный язык программирования, основанный на понятии
функций, которые задают зависимость, но не определяют порядок вычислений.
Специализированный язык [special language] — язык программирования,
ориентированный на решение определенного круга задач.
Язык описания страниц [PDL — Page Description Language] —
специализированный язык, предназначенный для печатающих устройств.
Предусматривает возможность использования изображений в формате,
независимом от параметров устройства отображения. Наиболее известным языком
такого типа является PostScript.
Автономный язык [freestanding language] — специализированный язык
высокого уровня в замкнутых СУБД (см. "СУБД с автономным языком").
Язык конструирования интерактивных технологий — в СУБД — язык,
предназначенный для описания технологических процессов обработки данных с
учетом разделения характера операций по их типам, а также обеспечения
диалога с администратором системы.
Язык манипулирования данными, ЯМД [DML — Data Manipulation Language] — в
СУБД — язык, предназначенный для обращения к базе данных и выполнения
поиска, чтения и модификации ее записей.
Язык обработки списков [list language] — специализированный язык,
предназначенный для описания процессов обработки данных, представленных в
виде списков объектов.
Язык описания данных [DDL — Data Description Language] — язык,
предназначенный для описания концептуальной схемы базы данных.
Язык описания хранения данных [DSDL — Data Storage Description Language]
— язык, предназначенный для описания физической структуры (схемы) базы
данных.
Язык описания страниц [page description language] — система для кодировки
документов, которая позволяет точно описать ее внешний вид после подготовки
к выводу на печать или на дисплей. Примером использования такого языка
служит PDF (Portable Document Format), разработанный Adobe для хранения и
представления изображений страниц.
Язык представления знаний [KRL — Knowledge Representation Language] —
декларативный или декларативно-процедурный язык, предназначенный для
представления знаний в памяти ЭВМ (например, языки Лисп и Пролог).
Язык публикаций [publication language] — язык, используемый для
публикации алгоритмов и программ.
Язык спецификаций [specification language] — декларативный язык для
задания спецификаций программ.
Проблемно-ориентированный язык [problem-oriented language] — язык
программирования, предназначенный для решения определенного класса задач
(проблем).
Процедурный (процедурно-ориентированный) язык [procedure-oriented
language] — проблемно-ориентированный язык, облегчающий выражение процедуры
как точного алгоритма.
Язык реального времени [real-time language] — язык, используемый для
программирования задач, в которых критическим является время реакции ЭВМ на
сигналы, требующие от нее немедленных действий (например, язык Ада).
Язык управления пакетом [batch control language] — набор команд,
директив, квалификаторов и правил их использования для управления пакетной
обработкой данных.
Язык управления заданиями [job-control language] — язык, на котором
записывается последовательность команд, управляющих выполнением задания.
Предназначался для обучения программированию. Отличается простотой, легко
усваивается начинающими программистами благодаря наличию упрощенных
конструкций языка Фортран и встроенных математических функций, алгоритмов и
операторов. Существует множество различных версий Бейсика, которые не
полностью совместимы друг с другом. Некоторые реализации Бейсика включают
средства обработки данных и наборов данных. Большинство версий Бейсика
используют интерпретатор, который преобразует его компоненты в машинный код
и позволяет запускать программы без промежуточной трансляции. Некоторые
более совершенные версии Бейсика позволяют использовать для этой цели
трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft,
Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo
Basic, распространяемая фирмой Spectra Publishing). В начале 1999 г. фирма
Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0),
предназначенного для создания многокомпонентных программных приложений для
систем уровня предприятий.
Кобол [COBOL — COmmon Business-Oriented Language] — язык программирования
высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для
решения коммерческих и экономических задач. Отличается развитыми средствами
работы с файлами. Поскольку команды программ, написанных на этом языке,
активно используют обычную английскую лексику и синтаксис, Кобол
рассматривается как один из самых простых языков программирования. В
настоящее время используется для решения экономических, информационных и
других задач.
Лисп [LISP — LISt Processing] — алгоритмический язык, разработанный в
1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями
элементов данных. Используется преимущественно в университетских
лабораториях США для решения задач, связанных с искусственным интеллектом.
В Европе для работ по искусственному интеллекту предпочитают использовать
Пролог.
ЛОГО [LOGO or греч. logos — слово] — язык программирования высокого
уровня, разработан в Массачусетском технологическом институте
ориентировочно в 1970 г. для целей обучения математическим понятиям.
Используется также в школах и пользователями ПЭВМ при написании программ
для создания чертежей на экране монитора и управления перьевым
графопостроителем.
Паскаль [PASCAL — акроним с французского — Program Applique a la
Selection et la Compilation Automatique de la Litterature] — процедурно-
ориентированный язык программирования высокого уровня, разработанный в
конце 1960-х гг. Никлаусом Виртом первоначально для обучения
программированию в университетах. Назван в честь французского математика
XVII в. Блеза Паскаля. В своей начальной версии Паскаль имел довольно
ограниченные возможности, поскольку предназначался для учебных целей,
однако последующие доработки позволили сделать его хорошим универсальным
языком, широко используемым в том числе для написания больших и сложных
программ. Существует ряд систем программирования на этом языке для разных
типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal
фирмы Borland (США).
Пролог [PROLOG — PROgramming in LOGic] — язык программирования высокого
уровня декларативного типа, предназначенный для разработки систем и
программ искусственного интеллекта. Относится к категории языков пятого
поколения. Был разработан в 1971 г. в университете г. Марселя (Франция),
относится к числу широко используемых и постоянно развиваемых языков.
Последняя его версия Prolog 6.
Си [С] — многоцелевой язык программирования высокого уровня,
разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL.
Используется на мини-ЭВМ и ПЭВМ. Является базовым языком операционной
системы Unix, однако применяется и вне этой системы для написания
быстродействующих и эффективных программных продуктов, включая и
операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в
том числе Turbo С (фирмы Borland), Microsoft С и Quick С (фирмы Microsoft),
а также Zortech С (фирмы Symantec). Многие из указанных версий обеспечивают
также работу с Си и Си++ .
Си++ [C++] — язык программирования высокого уровня, созданный Бьярном
Страустрапом на базе языка Си. Является его расширенной версией,
реализующей принципы объектно-ориентированного программирования.
Используется для создания сложных программ. Для IBM PC наиболее популярной
является система Turbo C++ фирмы Borland (США).
С# (С Sharp) — "Си Шарп" — объектно-ориентированный язык
программирования, о разработке которого в 2000 г. объявила фирма Microsoft.
По своему характеру он напоминает языки C++ и Java и предназначен для
разработчиков программ, использующих языки С и C++, для того, чтобы они
могли более эффективно создавать Интернет-приложения. Указывается, что С#
будет тесно интегрирован с языком XML.
Фортран [FORTRAN — FORmula TRANslation] — язык программирования высокого
уровня, разработанный фирмой IBM в 1956 г. для описания алгоритмов решения
вычислительных задач. Относится к категории процедурно-ориентированных
языков. Наиболее распространенными версиями этого языка являются Фортран
IV, Фортран 77 и Фортран 90. Используется на всех классах ЭВМ. Последняя
его версия также применяется на ЭВМ с параллельной архитектурой.
AppleScript — машинно зависимый (ориентирован на работу с ПЭВМ типа
Macintosh фиры Apple), близкий к естественному английскому язык
программирования, предназначенный для автоматизации повторяющихся задач,
преимущественно связанных с процессами компьютерной графики (в том числе
обработки результатов сканирования, ввода изображений, цветоделения,
составления каталогов, передачи печатных документов в World Wide Web и
др.). Планировалась разработка версии этого языка для PowerPC.
Clipper — язык высокого уровня и система программирования,
предназначенные для разработки программ для ПЭВМ, преимущественно систем
управления большими объемами данных. Владельцем и разработчиком языка и
системы Clipper является фирма Nantucket (США). Начало работ по их созданию
связано с разработкой компилятора для dBase и относится к 1984 г. (год
основания фирмы Nantucket Барри Ребеллом и Брайаном Расселом). Первые
программные продукты Clipper — ClipperWinter'84 (май 1985 г.),
ClipperWinter'85 (январь 1986 г.), МсМах (версия для ПК Macintosh —
сентябрь 1986 г.) и ClipperSummer'87 (декабрь 1987 г.). Летом 1990 г. была
выпущена версия языка Clipper 5.0, получившая широкое распространение в
России. Она реализует концепцию открытой архитектуры и представляет собой
язык, компилятор и систему разработки программ для ПЭВМ, включающую набор
команд и функций, препроцессор, компоновщик, набор утилит (в том числе
отладчик и встроенную документацию).
dBASE
1. Язык программирования высокого уровня, предназначенный для создания
пакетов прикладных программ, связанных с манипулированием большими объемами
данных (Xbase). Первая версия языка dBASE II вышла в свет в начале 1980-х
гг., в августе 1994 г. была выпущена версия dBASE 5.0 для Windows
(подробнее см. [79]).
2. Семейство программ для ПЭВМ, предназначенное для манипулирования
большими объемами данных.
FoxPro — объектно-ориентированный язык, предназначенный для создания
пакетов прикладных программ, в том числе для современных операционных
систем, например версия этого языка FoxPro for Windows. Об одной из
последних версий этого языка — Visual FoxPro 3.0 фирмы Microsoft — см. в
[84].
SGML (Standardized General Markup Language) — стандартизованный
обобщенный язык разметки. Разработка языка была вызвана необходимостью
создания средств описания документов и правил их построения. Для задания
структуры документа используются специальные метки — тэги, которые отделяют
Страницы: 1, 2, 3, 4
|