Министерство образования Российской Федерации
Донской Государственный Технический Университет
кафедра "Иностранные языки"
_______________________________________________________
Доклад
«Общая терминология программирования»
Выполнил
|
студент Груздев В.В.
|
г. Ростов-на-Дону
2002 г.
Содержание
1. ОСНОВЫ ИНФОРМАЦИОННОЙ ТЕХНОЛОГИИ.. 3
1.1 Данные, информация, знания, логика. 3
1.2 Информационные ресурсы, теория информации, информатика. 7
2. ОБЩИЕ ТЕРМИНЫ.. 12
3 ЯЗЫКИ ПРОГРАММИРОВАНИЯ.. 17
4 СВЯЗАННЫЕ С ПРОГРАММИРОВАНИЕМ ТЕРМИНЫ.. 28
5 ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧ ПРОГРАММИРОВАНИЯ.. 30
1. ОСНОВЫ ИНФОРМАЦИОННОЙ ТЕХНОЛОГИИ
1.1 Данные, информация, знания, логика
ДАННЫЕ [
data
,
information
]
Сведения, факты, показатели, выраженные как в числовой, так и в любой другой форме. Указанный в скобках англоязычный эквивалент термина показывает, что он весьма часто рассматривается как синоним термина "информация". Так, словосочетание "
data
system
"
и производные от него могут соответствовать одному из совсем не однозначных, хотя и связанных между собой понятий — "система данных" и
"информационная система".
Аналогичное явление прослеживается при русскоязычном использовании этого термина. Например, в одном из изданий "Словаря терминов по информатике" данные трактуются как "информация, представляющая собой сведения"), а в ГОСТ 15971—84 — как "информация, представленная на материальных носителях".
В целях смыслового разделения понятий "информация" и "данные" Ассоциация стандартов Франции (АФНОР)
дает следующее определение: "Данные — факт, понятие или инструкции, представленные в условной форме, удобной для пересылки, интерпретации и обработки человеком или автоматизированными средствами".
Согласно другому определению этого термина: "Данные — некоторый факт, то, на чем основан вывод или любая интеллектуальная система".
Компонентами данных являются цифры и символы естественного языка или их кодированное представление в виде строки двоичных битов.
ИНФОРМАЦИЯ [
Information
от лат.
Informatio
— разъяснение, осведомление]
Данный термин и отражаемое им понятие являются сегодня одними из самых распространенных. Сказанное относится к их использованию как на бытовом, так и профессиональном уровнях.
Существует множество различных определений этого понятия, например, такие:
"Информация — содержание какого-либо сообщения, сведения о чем-либо, рассматриваемые в аспекте их передачи в пространстве и времени...".
"Информация — сведения, подлежащие передаче".
"Информация — это значение, вкладываемое человеком в данные на основании известных соглашений, используемых для их представления".
"Информация — содержание, значение данных, которое видят в них люди. Обычно данные состоят из фактов, которые ставятся "информацией" в определенном контексте и понятны людям".
Следует упомянуть здесь также классическое определение К. Шеннона,
в соответствии с которым информация — это то, что сокращает степень неопределенности (у Шеннона — энтропии)
у ее адресата о каком-либо объекте (в том числе явлении, передаваемом сигнале и т. п.). Другими словами, по Шеннону, информация — это то, что увеличивает степень знания ее адресатом интересующих его объектов окружающего мира. В указанном контексте количество информации можно даже рассчитать, например, по увеличению вероятности успешного решения поставленной задачи.
Список определений можно продолжить и дальше. С чем же связано различное
представление понятия "информация"разными его пользователями, включая про
фессионалов?
Во-первых, его сложной и неоднозначной сущностью, которая к тому же имеет тенденцию достаточно быстро изменяться в ходе научно-технического прогресса. Например, в 1992 г. в журнале НТИ в статье одного уважаемого автора достаточно убедительно доказывался тезис о том, что информация отнюдь не всегда повышает вероятность успешного решения некоторых прикладных задач.
Во-вторых, с тем, что цитируемые и другие определения этого понятия вычленяют только те его признаки, которые служат достижению конкретных целей или соответствуют контексту документов, в которых они опубликованы. Так, наука ки
бернетика,
расширенно толкуя понятие "информация", вывела его за пределы человеческой речи и других форм коммуникаций между людьми, связав его с целенаправленными системами любой природы — биологической (биотоки в организмах, связи в гинетических механизмах и т. п.), технической (сигналы в электрических сетях) и социальной (движение человеческих знаний в общественных системах).
Мы остановимся только на тех признаках понятия "информация", которые необходимы большинству наших читателей, а также тем или иным образом преимущественно связаны с библиотечной и информационной сферами деятельности.
Кратко эти признаки можно сформулировать следующим образом: "Ин
формация — это сведения или данные, объективно отражающие различные
стороны и элементы окружающего мира и деятельности человека на опре
деленном этапе развития общества, представляющие для него какой-либо
интерес и материализованные в форме, удобной для использования, пере
дачи, хранения и/или обработки (преобразования) человеком или автоматизированными средствами".
Если на бытовом уровне смешение понятий "данные" и "информация" вполне допустимо, то для профессионалов это может привести и приводит к серьезным последствиям.
Чтобы стать информацией,
данные должны правильно отражать объекты описания, в противном случае мы будем иметь дело с дезинформацией
(англ. — false
information
,
misleading
information
).
Сама по себе "правильность отражения действительности" в соответствии с теорией познания всегда носит условный характер, поскольку связана с уровнем развития знаний на данном этапе развития общества или отдельных его социальных групп и индивидуумов. Так, состав и точность данных, которыми владеют или которые необходимы различным организациям и лицам об одном и том же объекте, будут существенно различаться в зависимости от образовательного, возрастного, социального статусов субъекта информирования, а также целей их использования (например, для повышения общей эрудиции или для решения научных, технических, производственных, коммерческих и других задач). В указанном плане данные для одного субъекта представляющиеся вполне точными, для другого могут оказаться грубой "дезой".
Чтобы стать информацией,
данные должны представлять для субъекта информирования определенный интерес и новизну. Последнее означает, что они должны быть для него связаны с необходимостью решения каких-либо практических или других задач и сокращать "степень неопределенности" об объекте интереса (вспомним определение К. Шеннона).
Информация, помимо того, что она адресно прибавляет знания об интересующем объекте, должна доставляться своевременно. Например, сообщение о том, что "сегодня в городе проливной дождь, гололед (или другие напасти)", полученное нами после того, как мы уже вышли из дома и промокли или забуксовали на дороге, информацией не является, как не является информацией и сообщение о погоде, скажем, в Чили или деревне Гадюкино, если там не живут наши близкие родственники и мы не собираемся туда ехать. Для нас эти данные являются тем, что в информатике принято называть "инфор
мационным шумом".
Однако для кого-то в зоне действия средств массовой информации (кто еще не вышел на улицу или живет в упомянутых местах) эти же сведения — информация.
"Информационным шумом"
являются также сообщения и данные, не представляющие новизны для субъекта информирования (другими словами, этими данными он уже владеет). Вспомним в этой связи часто повторяющуюся и вызывающую только раздражение рекламу даже нужных нам товаров и услуг!
Приведенные примеры, носящие откровенно бытовой характер, могут быть заменены другими из любой сферы деятельности человека. Смысл их от этого не изменится: данные, переданные не по назначению, не своевременно или не пред
ставляющие новизну, являются информационным шумом.
Понятие "информационный шум" может быть также распространено на данные, "не удобные" для "использования, передачи, хранения и/или обработки", поскольку и в этом случае они приводят к бесполезным, а возможно, и вредным затратам материальных, временных и других ресурсов.
Подводя итог сказанному, можно существенно сократить определение понятия информации: "Информация — это данные, необходимые или полезные тому, кому они передаются".
Широкоупотребительными являются случаи применения сочетаний тер
мина "информация" с различными прилагательными, когда:
1. Сведения или данные,
полученные в процессе какого-либо вида деятельности, отражают результаты этого вида деятельности или имеют отношение к ней и предназначены для справочно-информационного обслуживания
и/или инфор
мационного обеспечения
заинтересованных пользователей, например, научно-техническая информация [
scientific
-
technical
information
],
юридическая информация [
juridical
information
], патентная информация
[
patent
information
] и т. п.
2. Сведения или данные имеют определенное назначение, например: справочная информация [
reference
information
] —
сведения или данные для выдачи справок о чем то;
сигнальная информация [
alert
information
,
current
awareness
information
]
— информация, предназначенная для быстрого предварительного оповещения.
3. Словарная статья определяет характер, принадлежность, форму или вид дан ных, используемых в информационном процессе, например:
априорная информация [
aprior
information
] и апостериорная информация [
aposterior
information
]
— соответственно данные, имевшиеся до проведения какого-либо опыта или другого действия, и сведения, полученные после его выполнения;
коммерческая информация [
commercial
information
] —
данные, сведения и содержащие их документы, являющиеся объектом продажи их собственником; личная информация [
private
information
] —
сведения (данные) о гражданах и организациях, затрагивающие их интересы и запрещенные для распространения без их согласия;
библиографическая информация [
bibliographic
information
] —
библиографические данные, описания и их перечни;
графическая информация [
graphical
(
pictorial
,
image
,
pattern
)
informa
tion
]
— сведения или данные, представленные в виде схем, эскизов, изображений, графиков, диаграмм, символов;
ретроспективная информация [
retrospective
information
] —
сведения, содержащиеся в накопленных более чем за два года массивах данных
или полученные в результате поиска в этих массивах (так называемого ретроспективного поиска).
4. Словарная статья характеризует средства закрепления, отображения и/или передачи данных, например:
документальная информация [
documentary
information
] —
сведения, закрепленные на каком-либо материальном носителе;
содержание документа или текста;
устная информация [
oral
information
]
— содержание устного сообщения и т. п.
ЗНАНИЯ [
knowledge
]
Совокупность сведений (данных или программ), отражающих знания человека — специалиста (эксперта) в определенной предметной области — и предназначенных для хранения в базах знаний. Знания отражают множество возможных ситуаций, связанных с состоянием и конкретной реализацией объектов определенного типа, способы перехода от одного описания объекта к другому. Для знаний характерны внутренняя интерпретируемость, структурированность, связанность и активность. Условно можно записать, что "знания = факты + убеждения + правила" .
ЛОГИКА [
logic
]
Наука о законах и формах мышления, методах познания и условиях определения истинности знаний и суждений.
Нечеткая логика [
fuzzy
logic
]
— (в математике и вычислительных систе
мах)
форма представления знаний или данных, связанных с описанием различных объектов понятиями вида "тяжелый", "громкий", "горячий" и т. п., имеющими неточные значения. Более строгое определение значения указанных понятий возможно только с привлечением ряда дополнительных сведений или данных, входящих в не
четкие множества
и составляющих перечни дополнительных данных или условий. Примером может служить определение: "для кого и при каких условиях объект может быть отнесен к классу тяжелых" (мужчины или женщины, их вес, возраст, вес груза и т. п.). Центральным понятием нечеткой логики является понятие "вероятность члена множества",
которая определяет степень правомерности отнесения данного члена к указанному множеству. Например, для члена нечеткого множества, (вносящего предметы к тяжелым, вес 20 кг может иметь такое значение с вероятностью 90% для миниатюрных женщин и, скажем, только 20% для мужчин.
Нечеткая логика широко используется в различного рода экспертных систе
мах
для автоматизированного принятия решений, близких к человеческим, на основе адекватного реагирования на сигналы, поступающие от связанных .с ними, датчиков, а также команды с пульта правления
1.2 Информационные ресурсы, теория информации, информатика
ИНФОРМАЦИОННЫЕ РЕСУРСЫ (ИР) [
information
resources
]
В общем случае под ИР понимается совокупность сведений, получаемых и накапливаемых в процессе развития науки и практической деятельности людей для их многоцелевого использования в общественном производстве и управлении. ИР отражают естественные процессы и явления, зафиксированные в результате научных исследований и разработок или других видов целенаправленной деятельности в различного рода документах (например, отчетах по НИР, патентах, проектно-конструкторской документации, массивах данных и т. п.), понятиях и суждениях, а также более сложных моделях действительности.
Данный термин начал широко использоваться в конце 70-х — начале 80-х гг. в результате осознания растущей зависимости промышленно развитых стран, отдельных организаций и фирм от источников информации
(технической, политической, военной и т. д.), а также от уровня развития и использования средств передачи и переработки информации. С ним связаны термины: национальные инфор
мационные ресурсы
(в том числе государственные и негосударственные
информационные ресурсы), информационные ресурсы территориально-ад
министративных образований,
фирм (организаций), их подразделений и т. п.
В современном обществе ИР относятся к материальным и наиболее важным
видам ресурсов, определяющих экономическую, политическую и/или военную
мощь их владельца. В подтверждение этого тезиса можно привести ставший клас
сическим пример с Японией: страна, практически лишенная природных ресурсов
и обладающая весьма скромными людскими ресурсами, является крупнейшим в
мире производителем и экспортером не только изделий микроэлектроники, но и
такой материалоемкой продукции, как автомобили и супертанкеры.
Отличием ИР от других материальных видов ресурсов (например, полезных ископаемых) является их воспроизводимость. Как и другие виды ресурсов, ИР являются объектами импорта-экспорта, а также конкуренции, политической и экономической экспансии. Следует отметить, что границы понятия ИР в настоящее время четко не установлены. Так, некоторые ученые включают в его толкование также степень профессиональной подготовки общества или его части, а также способность воспроизводить и использовать ИР. Другие ограничивают ИР только совокупностью зафиксированных в документах и данных сведений, "представляющих ценность для учреждения (предприятия)" или, добавим, другого владельца ИР. Заметим, что в последнем случае в понятие ИР не включены средства передачи и переработки информации.
Не будем спорить ни с теми авторами, ни с другими, хотя признаемся, что нам кажется более предпочтительным более широкий подход к определению этого очень важного и интересного понятия. Для тех читателей, которые интересуются данной проблемой, рекомендуем прочитать монографию Г. Р. Громова.
Виртуальные (информационные) ресурсы [
virtual
resources
] —информа
ционные ресурсы
других организаций, предприятий, фирм и т. п., доступные пользователям в режиме теледоступа по каналам глобальной связи, например Интернета.
ТЕОРИЯ ИНФОРМАЦИИ [
information
theory
]
Раздел кибернетики,
изучающий общие стороны процессов передачи, хранения, извлечения и классификации информации
различной природы (в том числе биологической, технической, социальной и др.) независимо от ее семантического (смыслового) содержания. Общим средством анализа, описания и количественной оценки исследуемых процессов теории информации является ее математический аппарат, представляющий собой основу разрабатываемых и используемых теорий и методов.
Важнейшей частью теории информации является теория передачи информации [
theory
of
communication
],
основоположником которой является американский математик К. Шеннон.
Основными понятиями этого раздела теории являются: энтропия
(количественная мера неопределенности ситуации, слово "энтропия" произошло от греческого "поворот", "превращение") и количество информации, измеряемое величиной изменения энтропии в условиях, связанных с получением информации. С использованием этих понятий выражается пропускная способность канала связи между источником информации и ее адресатом, равная максимально допустимой скорости передачи информации со сколь угодно малой вероятностью ошибки.
Составной частью теории информации является также теория кодирования (теория оптимального кодирования),
рассматривающая вероятностные аспекты проблем кодирования и декодирования информации. Большой вклад в разработку теории информации внесли отечественные ученые: А. Н. Колмогоров,
А. Я. Хинчин, Р. Л. Добрушин, В. А. Котельников, А. А. Харкевич
и др. Возросшая необходимость не только количественного, но и содержательного анализа информационных процессов привела к появлению новой науки — информатики.
ИНФОРМАТИКА [
informatics
,
information
science
]
Наука, изучающая информационные процессы и системы в социальной среде, их роль, методы построения, механизм воздействия на человеческую практику, усиление этого воздействия с помощью вычислительной техники. Возникла как дополнение и конкретизация теории информации
из потребностей автоматизации социально-коммуникативных процессов и начала формироваться в 70-е гг. как научная база использования электронных вычислительных машин в управлении, науке, проектировании, образовании, сфере услуг и т. д.". Как всякая относительно новая и быстро развивающаяся отрасль знания, не только связанная с социальной сферой, но и широко использующаяся в ней, информатика получила в последние годы множество толкований, и не все они однозначны.
Наибольшие противоречия связаны с той частью данного понятия, которая определяет его семантические границы распространения. В качестве примера приведем другое определение: "Информатика — отрасль знания, изучающая закономерности сбора, преобразования, хранения, поиска и распространения документальной информации и определяющая оптимальную организацию информационной работы на базе современных технических средств".
Видимые отличия цитируемых определений заключаются, в частности, в том, что второе ограничивает понятие "информатика" технологическими процессами, входящими в функции информационных органов, а также документальной информацией. Следует отметить, что, несмотря на давность этого определения (1971), оно практически действует и в настоящее время в среде работников информационных органов и служб, в недрах которых изначально и было порождено.
Еще один подход связан с организациями, подведомственными Комитету по информатизации России, который основное внимание акцентирует на инструментальных (программных и технических) средствах информатики и информатизации:
"ИНФОРМАТИКА [
informatics
,
computer
science
] —
...группа дисциплин, занимающихся различными аспектами применения и разработки ЭВМ: прикладная математика, программирование, программное обеспечение, искусственный интеллект, архитектура ЭВМ, вычислительные сети"
.
Анализируя сказанное, мы склонны предпочесть вариант "кибернетиков" как более объективный и полный.
В целях более глубокого понимания нашими читателями указанного термина продолжим выборочное цитирование соответствующей статьи "Словаря по кибернетике": "...Важнейшими категориями информатики являются понятия информационных сред (социальных подсистем, в которых осуществляются информационные процессы и куда внедряются ЭВМ как усилители человеческого интеллекта), полного информационного цикла (включающего зарождение информации, ее переработку, передачу, использование для снижения энтропии рассматриваемой социальной системы), полезной работы (отдачи) ЭВМ. Отдача ЭВМ, коэффициент
полезного действия зависят от уровня функцио
нирования социальной среды, в которой они задействованы. — ее упорядоченности, системности. условий для творческой деятельности людей, сложности и важнос
ти задач, решаемых с помощью машин.
Информатика не заменяет собой кибернетику, теорию информации, электронику, системотехнику, а взаимодействует с ними, имея ряд общих проблем. Интегральный характер информатики заключается также в
ее взаимодействии с такими дисциплинами, как теория познания, се
миотика, лингвистика, документалистика, библиотековедение".
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ [
information
technology
]
Комплекс методов, способов и средств, обеспечивающих хранение, обработку, передачу и отображение информации
и ориентированных на повышение эффективности и производительности труда.
Информационная технология (ИТ) является непременной составной частью
большинства видов интеллектуальной, управленческой и производственной дея
тельности человека и общества. Развитие ИТ в современных условиях основано на применении вычислительной техники и связанных с нею методов и средств авто
матизации информационных процессов.
В зависимости от степени использова
ния этих средств ИТ условно разделяют на традиционную и современную.
СПРАВОЧНО-ИНФОРМАЦИОННОЕ ОБСЛУЖИВАНИЕ (СИО)
Можно кратко сформулировать сущность понятия СИО как "совокупность процессов по удовлетворению информационных запросов потребителей информации".
Данное определение СИО взято из отечественного стандарта и расширено нами с научно-технической информации
на любой вид информации.
Характерной особенностью СИО является его преимущественная ориентация на выявленные устойчивые или длительно существующие информационные потребности определенных групп пользователей. Реализация СИО предполагает выполнение библиотеками и информационными органами достаточно стандартизированных в рамках организаций видов работ по комплектованию справочно-информационных фондов, их каталогизации, созданию и ведению баз данных (БД), поиску и распространению информации по заявленным в форме "запросов" или "подписки" на обслуживание потребностям пользователей и т. п. В отличие от справочно-библиографического обслуживания
(СБО), ориентированного на предоставление пользователям (в том числе читателям) сведений библиографического характера, СИО распространяется на подготовку и выдачу заинтересованным лицам и организациям данных любого вида. В указанном контексте СБО можно рассматривать как одну из разновидностей СИО.
По своим основным признакам СИО может быть отнесено к категории сравнительно недорогих массовых или стандартных видов услуг. Оно не предусматривает возможности удовлетворения потребностей слишком привередливых или не вписывающихся в общий ряд "сложных" клиентов, нуждающихся в индивидуальной подготовке документов и данных, а также в специальном порядке и сроках их предоставления.
Необходимость устранения указанного недостатка привела к появлению другого режима обслуживания и связанного с ним понятия — "информационное обес
печение".
ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ (ИО)
1. ГОСТ 7.27—80 трактует ИО как "совокупность процессов по подготовке и предоставлению специально подготовленной научно-технической информации (НТИ) для решения управленческих и научно-технических задач в соответствии с этапами их решения".
Отдавая должное уважение времени и специалистам, породившим этот термин, отметим, что жизнь требует его более расширенного толкования. На наш взгляд, ограничение ИО только научно-технической составляющей должно быть снято, как и состав задач, на которые оно распространяется. В этом случае понятие "ИО" получит следующее определение:
"ИО — совокупность процессов по подготовке и предоставлению специально подготовленной информации для решения управленческих, научных, технических, производственных, коммерческих и других задач в соответствии с этапами их решения".
2. ОБЩИЕ ТЕРМИНЫ
АЛГОРИТМ [
algorithm
]
1. Последовательность действий (операций) и правил их выполнения или команд, предназначенных для решения определенной задачи или группы задач.
2. Предписание, определяющее ход вычислительного процесса, связанного с преобразованием данных от некоторого их исходного состояния к требуемому результату. Формальные описания алгоритмов аналогичны представлениям основных частей программ, которые их реализуют, поэтому многое, что относят к описанию конкретных программ, применимо к алгоритму, и наоборот.
Некоторые виды алгоритмов
Адаптивный алгоритм [
adaptive
algorithm
] — алгоритм,
обладающий свойством настраиваться на условия применения.
Линейный алгоритм [
serial
algorithm
] — алгоритм,
не содержащий ветвей и циклов, все элементы которого выполняются последовательно.
Логический алгоритм [
logical
algorithm
] — алгоритм
решения логической задачи.
Алгоритм маршрутизации [
routing
algorithm
] — алгоритм
решения задачи определения оптимального пути, по которому будут передаваться данные в коммуникационной сети.
Параллельный алгоритм [
parallel
algorithm
] — алгоритм,
в котором часть или все операции независимы и могут выполняться одновременно (параллельно).
Последовательный алгоритм [
sequential
algorithm
]
1. Алгоритм,
все действия которого выполняются последовательно.
2. Алгоритм
обслуживания, реализующий принцип очереди — "первый на входе — первый на выходе" [
FIFO
—
First
Input
—
First
Output
].
Циклический алгоритм [
round
-
robin
algorithm
] — алгоритм
обслуживания в системах с разделением времени, при котором задача, использовавшая выделенный ей ресурс времени центрального процессора, прерывается и помещается в конец очереди.
ПРОГРАММА
[program, routine]
1.Последовательность операций, в том числе нескольких параллельных, выполняемых ЭВМ для достижения поставленной цели или задачи.
2.
Описание на языке программирования или в машинном коде
действий, которые должна выполнить ЭВМ в соответствии с алгоритмом
решения конкретной задачи или группы задач (синоним — машинная программа).
3.Упорядоченная последовательность команд,
подлежащих обработке.
Некоторые понятия, связанные с термином "программа"
Машинная программа [
computer
(
machine
)
program
] — программа,
написанная на машинном языке (в машинном коде).
Структура программы [
program
structure
] —
общая схема построения программы, рассматривающая ее составные компоненты (программные блоки)
и взаимосвязи между ними.
Спецификация программы, программная спецификация [
program
specifi
cation
]
— точная и полная формулировка определенной задачи или группы задач, содержащая сведения, необходимые для построения ее алгоритма (программы) или решения. Содержит описание результата, который должен быть достигнут с помощью конкретной программы, а также того, что для достижения этого результата программа должна делать без упоминания, как достигнут указанный результат.
Верификация программы [
program
verification
]
1. Установление любым корректным методом факта соответствия программы заданным целям ее создания или приобретения — установление правильности программы.
2. Формализованный контроль или проверка работоспособности программы.
Отладка программы [
debugging
]
— обнаружение, локализация и устранение
ошибок в компьютерной программе.
Отладчик [
debugger
]
— программа, предназначенная для анализа поведения другой программы, обеспечивающая ее трассировку
(отслеживание и распечатку выполняемых программой команд, изменений переменных
или данных о других событиях, связанных с выполнением программы), останов в указанных точках или, при выполнении указанных условий, просмотр и изменение ячеек памяти, регистров процессора и команд программы.
Трассировка [
trace
]
— метод проверки правильности функционирования программ при их выполнении путем отображения изменений всех значений переменных. Этим достигается сокращение поиска ошибочных команд, из-за которых переменные принимают неверные значения. Трассировка выполняется при помощи ввода в проверяемую программу специальных команд или с использованием специальных сервисных программ.
Тестирование программы [
program
testing
] —
проверка программы в рабочих условиях с некоторым специально созданным (тестовым) массивом данных в целях определения ее работоспособности в соответствии с заданными критериями оценки.
Испытания программы [
program
verification
and
validation
] —
всесторонняя (по формализованным признакам — "
Verification
"
и общей субъективной оценке — "
Validation
")
проверка и тестирование программы при сдаче ее в эксплуатацию или аттестации.
ПОДПРОГРАММА [
subroutine
]
Небольшая часть программы, связанная с реализацией какой-либо повторяющейся функции, процедуры или операции и вызываемая для выполнения из разных мест программы.
Б зависимости от того, являются ли подпрограммы частью разработки исполь
зующей их программы или заимствуются из других программ, они подразделяют
ся на
внутренние подпрограммы [
internal
subroutines
] и внешние подпрограммы [
external
subroutines
].
В качестве последних могут использоваться и так называемые стандартные подпрограммы или программы [
standard
subrou
tines
,
standard
programs
] — программы,
помещенные в библиотеку программ1
.
ПРОГРАММИРОВАНИЕ
[programming]
Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле
к указанным процессам относят все технические операции, необходимые для создания программ, включая анализ требований, все стадии разработки, а также реализации в виде готового программного продукта. В уз
ком смысле
под программированием часто понимают только процессы выбора структуры, кодирования и тестирования программ.
В зависимости от назначения и/или способа написания программ различают:
Прикладное программирование [
application
programming
] —
разработка и отладка программ для конечных пользователей,
например бухгалтерских, обработки текстов и т. п.
Системное программирование [
system
programming
] —
разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: автоматизированных систем управления, систем управления база
ми данных и т. д.
Декларативное (логическое, продукционное) программирование [
declarative
programming
,
logical
programming
] —
метод программирования,
предназначенный для решения задач искусственного интеллекта.
В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог.
Объектно-ориентированное программирование, объектное программи
рование, ООП [
OOP
—
Object
-
Oriented
Programming
] —
метод программиро
вания,
основанный на использовании концепции объекта,
абстрагирующего конкретные его реализации в предметной области. При этом данные тесно связываются с выполняемыми над объектами процедурами. Например, круг на экране монитора может рассматриваться как объект, данные о котором характеризуют положение (координаты) центра, величину радиуса, толщину и цвет линии. Процедуры, связанные с этим объектом, — перемещение, изменение размера, стирание и т. д. Объектно-ориентированное программирование разрабатывалось и усовершенствовалось в 1960—1970-х гг. В настоящее время используется в ряде языков программирования высокого уровня
(Си++, Java, Смолток, ObjectLisp и др). В начале 90-х гг. была выявлена потребность в выработке единых спецификаций, которые должны позволить программным продуктам различных фирм взаимодействовать друг с другом в общей информационной среде. Решение указанной задачи взяла на себя фирма OMG
(США). Выработанная ею идеология "Бизнес-объ
екта"
к 1997 г. получила достаточно широкое распространение при выработке промышленных программных приложений. Основу этой идеологии составляет "Об
щая архитектура брокера объектных запросов" —
COBRA
(
Common
Object
Request
Broker
Architecture
),
центральной частью которой является спецификация на программный продукт (
ORB
—
Object
Request
Broker
),
представляющий собой набор доменов или динамических библиотек, обеспечивающих взаимодействие различных программ в распределенной компьютерной среде. Кроме того, фирма OMG разработала спецификации обмена данными между брокерами различных фирм-производителей — GIOP
(
General
Inter
ORB
Protocol
),
а с той же целью для Internet — HOP
(
Internet
Inter
ORB
Protocol
).
Поддержкой и развитием бизнес-объектной технологии занимается организованный в рамках OMG специальный комитет — BODTF
(
Business
Object
Domain
Task
Force
).
В 1998 г. этим комитетом была выпущена спецификация (
BOCA
—
Business
Object
Component
Architecture
),
регламентирующая построение программных систем из компонент-объектов, созданных на основе технологии CORBA/IIOP. Подробнее см. [407, 423, 434].
Параллельное программирование [
concurrent
programming
] —
разработка программ, обеспечивающих одновременное (параллельное) выполнение операций, связанных с обработкой данных.
Процедурное (процедурно-ориентированное) программирование [
proce
dure
-
oriented
programming
] —
метод программирования,
в соответствии с которым программы пишутся как перечни последовательно выполняемых команд.
При этом используются процедурно-ориентированные языки
программирования.
Структурное программирование, модульное программирование [
structured
programming
,
modular
programming
] —
метод написания программ небольшими независимыми частями — модулями,
каждый из которых связан с какой-либо процедурой или функцией. При этом результирующая программа организуется в виде совокупности взаимосвязанных по определенным правилам модулей. Это упрощает разработку сложных программных продуктов и их тестирование.
Функциональное программирование [
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
)
lan
guage
] — язык программирования,
который позволяет задавать связи и отношения между объектами и величинами, но не определяет последовательность выполнения действий (например, языки Пролог,
QBE
).
Императивный (процедурный) язык [
imperative
language
] — язык програм
мирования,
который позволяет в явной форме (при помощи задания выполняемых операторов) определять действия и порядок (последовательность) их выполнения.
Язык функционального программирования, функциональный язык [
func
tional
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
) — стандартизованный обоб
щенный язык разметки.
Разработка языка была вызвана необходимостью создания средств описания документов и правил их построения. Для задания структуры документа используются специальные метки — тэги,
которые отделяют друг от друга элементы документа и файлы определения типа документа (
Document
Type
Definition
—
DTD
),
выполняющие функции грамматики и определяющие структуру и содержание каждого элемента в документе. Принят ISO в качестве стандарта в 80-е гг. Сложность этого языка помешала ему лечь в основу первой спецификации для Web — HTML
,
которая стала производной от SGML [336].
HTML
,
html
(
HyperText
Markup
Language
) — язык разметки гипертекста,
разработан в исследовательском центре CERN
в 1992 г. Он является производным от SGML.
HTML
устанавливает формат гипермедийных
документов в сети WWW. HTML-документы представляют собой ASCII-файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является наличие в HTML-документах специальных команд — тэгов,
которые указывают правила форматирования документа. Полное описание HTML можно получить по сетевому адресу: <
http
://
www
.
access
.
digex
.
net
/"
werbach
/
barebone
.
html
>.
Версии языка
HTML
:
1.
HTML
2.0
— стандарт был утвержден в ноябре 1994 г. организацией IETF (Internet Engineering Task Force). В нем были расширены возможности предыдущей версии языка, и он получил широкое распространение как у профессионалов, так и у любителей.
2.
HTML
3.0
— проект версии языка был опубликован в марте 1995 г. В нем были произведены радикальные изменения предыдущих версий: включены дополнительные возможности, включая таблицы, математические выражения и т. д. Это стало причиной того, что он не принят в качестве официальной спецификации и был заменен спецификацией HTML
3.2.
3.
HTML
3.2
(кодовое наименование проекта "Wilbur") — был опубликован и начал широко использоваться с мая 1996 г., получил официальное утверждение и популярность из-за совместимости с HTML 2.0 1997 г.
4.HTML
4.0
(кодовое наименование проекта "
Cougar
")
— последняя версия языка. В нем реализованы многие распространенные концепции Web-дизайна и приняты некоторые средства HTML 3.2. Самым значительным отличием HTML 4.0 от предыдущих версий является кодировка Unicode, тэг "OBJECT", позволяющий работать с мультимедиа (с видеоклипами и звуком) и др.
5.
DHTML
(Dynamic HTML) — динамическая
HTML
— развитие языка HTML
для
создания движущихся, находящихся в динамике, эффектов на Web
-страницах.
6.
XML
(
Extensible
Markup
Language
) — расширяемый язык разметки.
Предложен WWW Consortium
(
W
3
C
)
(консорциум ориентированных языков) в 1996 г. Входит в подмножество SGML
.
Возник в результате необходимости создать более обобщенный язык разметки без соблюдения сложного и громоздкого для использования в Интернете стандарта SGML. Хотя XML и требует формально определять язык разметки, стадия проверки корректности стала не обязательной: наличие определений типов документов (
DTD
—
Document
Type
Definition
)
не требуется, хотя и допускается. Кроме того, в XML используется лишь некоторое подмножество правил SGML
,
что облегчает его использование. XML, подобно SGML, является метаязыком и содержит правила, по которым должно определяться множество тэгов,
допустимых в документе. Пакет данных, описанный на XML, называют XML-документом.
Java
— объектно-ориентированный язык
интерпретирующего типа, разработанный фирмой Sun
Microsystems
в 1994 г. Он во многом сходен с языком C++ и нашел широкое применение для написания разного рода программных продуктов (приложений), ориентированных на работу в сетевых системах типа "клиент-сервер" и "файл-сервер" под управлением современных операционных систем (
Windows
, OS/2
и др.). Язык рассчитан на передачу по Интернету текстов программ, которые на всех компьютерах должны выполняться одинаковым образом. Основное достоинство, привлекшее к этому языку специалистов, заключается в предоставляемой им возможности разработки платформо-независимых программ. Считается, что своим успехом этот язык обязан в первую очередь фирме Netscape
Communication
,
которая лицензировала его интерпретатор
в свой самый популярный в мире в те годы браузер Web
-страниц (
Navigator
2.0). Общими характеристиками языка Java являются: его простота, значительный объем библиотеки подпрограмм,
возможность распространения на любой тип ЭВМ, независимость от ее архитектуры, высокая защищенность создаваемых программ, динамичность языка, обеспечивающая гибкое введение изменений в программы и др. В настоящее время язык Java лицензировали такие фирмы, как IBM
,
Microsoft
,
Borland
,
Symantec
,
Micromedia
и др. В феврале 1997 г. фирма JavaSoft
выпустила новую версию усовершенствованного инструментального пакета разработки программ на языке Java — JDK
1.1. (
Java
Development
Kit
).
Он облегчает работу по составлению программ, поддерживает средства работы с национальными кодировками и имеет улучшенный оконный интерфейс.
Occam
— язык высокого уровня,
предназначенный для выполнения парал
лельного программирования
и создания транспьютеров.
Является результатом совместной разработки фирмы INMOS
(Великобритания) и Оксфордского
университета (Дэвид Мэй). Концепция
Occam
базируется на теории связанных последовательных процессов, созданной профессором Оксфордского университета С. Хора.
Свое название получил в честь английского философа XIV в. Уилья
ма Оккама,
поскольку в основе разработки языка был использован провозглашенный им принцип: "Сущность не должна превышать необходимость" ("бритва Ок
кама
"). В соответствии с упомянутым принципом из двух одинаково эффективных вариантов решений принимается наиболее простое. Язык Occam используется в транспьютерах первых и всех последующих выпусков.
PostScript
— объектно-ориентированный язык,
разработанный фирмой Adobe
Systems
(США). Является одним из основных стандартов для печати и передачи документов, работает с изображениями, включая шрифты. Поэтому относится также к классу специализированных языков описания страниц. Представляет собой набор команд по формированию сложных геометрических фигур из коллекции простейших заготовок (круги, прямоугольники, прямые и кривые линии и т. д.). Шрифты и чертежи, выполненные с использованием векторной графики языка PostScript, могут масштабироваться без потери качества их печати или отображения на экране монитора. Используется для управления лазерными принте
рами
при печати документов и другими устройствами вывода
данных.
SQL
(
Structured
Query
Language
) — язык структурированных запросов —
предназначен для обеспечения доступа
к реляционным базам данных.
Создан корпорацией IBM
.
Большинство файловых серверов
и многие СУБД
используют SQL в качестве стандартного средства доступа к данным из приложений-клиентов.
OQL
(
Object
Query
Language
) — объектный язык запросов —
расширенная версия языка SQL
,
дополненная объектными свойствами, средствами описания типов данных и итераций с объектами в базах данных.
ТеХ — язык, разработанный фирмой Donald
Knuth
еще в 1980 г. Он предназначен для обеспечения высококачественной печати. Особое внимание в нем уделяется возможности кодировки математических знаков с использованием ASCII
для выдачи, обработки и хранения их на ЭВМ. До настоящего времени он считается незаменимым дополнением других языков (например, PostScript
)
при подготовке материалов по математике и смежным специальностям.
UML
(
Unified
Modelling
Language
) — унифицированный язык моделирова
ния
— язык для спецификации, просмотра и документирования элементов программных систем, предназначенный для описания бизнес-объекта
как компонента прикладной системы.
VRML
(
Virtual
Reality
Modelling
Language
) — язык моделирования вирту
альной реальности
(сленговый термин —
вермел) — предназначен для унификации и упрощения представления трехмерной и подвижной графики, в том числе синхронизации изображения и звука. VRML рассматривается разработчиками как язык хотя и родственный, но альтернативный по отношению к HTML
и взаимодействующий с ним. Впервые идея языка была предложена Марком Песке (
Mark
Pesce
)
в 1993 г., а его первая спецификация (VRML 1.0) была подготовлена на основе формата Open Inventor фирмы SGI и представлена на второй конференции WWW в октябре 1994 г. в Женеве. Главной задачей было дальнейшее усовершенствование интерактивных интерфейсов
в целях лучшего их восприятия человеком. Во второй версии, в разработке которой приняли участие и другие фирмы (например, Sony
Research
,
Mitra
и др.), его интерактивные возможности были расширены. В частности, VRML 2.0 стал поддерживать анимацию и звуковые эффекты, а также взаимодействие с Java
и
JavaScript
.
В августе 1996 г. был принят его стандарт, а в декабре 1997 г. VRML 2.0 был официально заменен на VRML 97, называемый также VRML Technical Symposium. Новый стандарт
I
SO
/
I
EC
14772
построен на основе спецификаций VRML 2.0 с некоторыми поправками и дополнениями. В настоящее время ведется разработка очередной версии — VRML 2000. Стандарт VRML и описание языка можно получить по сетевым адресам: <
http
:/
www
.
virt
-
park
.
com
/
theme
/
vrml
>, <
http
:/
www
.
vrml
.
org
>
.
DSML
(
Directory
Services
Markup
Language
) — язык разметки службы ката
логов
— предназначен для поддержки служб администрации сетей, работающих с каталогами. Специализированные каталоги позволяют эффективно хранить сведения об абонентах сети, необходимых им сервисных услугах, а также сетевых ресурсах и другие данные, сопоставление которых обеспечивает возможность администраторам сети оптимизировать предоставление абонентам необходимых им услуг в реальном масштабе времени. DSML был предложен в 1999 г. рабочей группой (
DSML
Working
Group
),
представленной фирмами IBM
,
Microsoft
,
Novell
,
Sun
/
Netscape
,
Oracle
и др. для создания унифицированного формата разработки таких каталогов, их публикации и обмена их содержимым.
4 СВЯЗАННЫЕ С ПРОГРАММИРОВАНИЕМ ТЕРМИНЫ
ДИРЕКТИВА [
directive
]
1. Вводимое в ЭВМ (оператором или пользователем) в повелительной форме сообщение или команда,
которая содержит указание на то, какие необходимо выполнить действия.
2. Компонент программы на языке ассемблера,
управляющий последующей компоновкой программы, но не вызывающий появление машинной команды.
ЗАДАНИЕ
[job]
1. Единица работы, определяемая пользователем, которую должна выполнить ЭВМ.
2. Совокупность программ и данных,
обрабатываемых автоматизированной системой как единое целое. Описание задания составляется на языке управле
ния заданиями.
Типизированные описания вариантов заданий, характерных для ЭВМ определенного класса или типа, реализуются в соответствующих операци
онных системах.
Поток заданий [
job
stream
]
— последовательность заданий, выполняемых ЭВМ под управлением операционной системы.
Опция [
option
] — параметр
или вариант выполнения задания для обрабатывающей его программы, предназначенный для управления режимом ее работы.
Итерация [
iteration
]
— один цикл выполнения задания или команды вычислительной машиной.
КОМАНДА, ИНСТРУКЦИЯ
[instruction, command]
1. Управляющий сигнал, инициирующий выполнение процессором конкретной операции.
2. В языках программирования — значимое выражение, определяющее одну операцию и ее операнды.
3.Описание операции,
которую должна выполнить ЭВМ.
Наиболее употребительные термины, связанные с видами команд
Адресная команда [
address
instruction
] — команда программы,
осуществляющая обращение к адресам операндов либо к адресам команд, указанных в определенных местах командного слова.
Безадресная команда [
no
-
address
instruction
] — команда,
определяющая операнды,
для которых задана операция
в неявной форме.
Многоадресная команда [
multi
-
address
instruction
] — машинная команда,
содержащая два и более адреса в явном виде.
Арифметическая команда [
arithmetic
instruction
] — команда,
определяющая выполнение десятичной операции над числами с фиксированной или плавающей запятой.
Команда ассемблера [
assembly
instruction
] —
основная конструкция языка
ассемблера,
с помощью которой записывается программа на этом языке. Как правило, одна команда ассемблера транслируется в одну эквивалентную машин
ную программу.
Байтовая команда [
byte
instruction
] — команда
выполнения операций над байтами или же команда,
занимающая один байт.
Команда ввода-вывода (ввода/вывода) [
input
/
output
instruction
] — ма
шинная команда,
выполняющая соответственно ввод данных с внешнего устройства в основную память или их вывод из основной памяти во внешнее устройство.
Команда вызова [
call
instruction
] — команда,
осуществляющая вызов стандартной программы или программы пользователя.
Исполнительная команда [
effective
instruction
] — команда,
которая не требует модификации для последующего выполнения вычислительной машиной.
Машинная команда [
computer
instruction
] — команда,
которая может быть непосредственно распознана центральным процессором ЭВМ, для которой она создана.
Основная команда [
general
instruction
] — команда,
входящая в стандартный набор команд ЭВМ.
Команда останова [
halt
(
breakpoint
)
instruction
] — команда,
останавливающая выполнение машинной программы (см. "Команда паузы").
Команда условного останова [
optional
-
stop
instruction
] — команда,
позволяющая произвести с пульта оператора ЭВМ останов выполнения текущей программы.
Команда паузы [
pause
instruction
] — команда,
определяющая временное прекращение выполнения программы, работа которой вновь может быть возобновлена только после поступления внешнего прерывания.
Команда произвольной паузы, произвольного останова [
optional
pause
instruction
] — команда,
допускающая ручной приостанов выполнения машинной программы.
Команда прерывания [
trap
instruction
] — команда,
вызывающая внутрен
нее прерывание
с указанным номером.
Прерываемая команда [
restartable
instruction
] — команда,
выполнение которой может быть приостановлено при возникновении прерывания
и продолжено после его обработки.
Команда повторения, повторяемая команда [
repetition
instruction
] —
команда,
вызывающая повторение определенной последовательности команд, образующих циклическую группу — цикл,
а также обеспечивающая установку и проверку условия выхода из цикла.
5 ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧ ПРОГРАММИРОВАНИЯ
ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ АИС, ТЕХНИЧЕСКИЕ (АППАРАТНЫЕ) СРЕД
СТВА [
hardware
]
Совокупность электрических, электронных и механических компонентов авто
матизированных систем
составляет их техническое обеспечение
(в отличие от программных средств [
software
],
представляющих собой программное обес
печение автоматизированных систем).
ЭЛЕКТРОННАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА, ЭВМ, КОМПЬЮТЕР [
computer
]
Комплекс технических и программных средств, основанных на использовании электроники и предназначенных для автоматической или автоматизированной обработки данных в
процессе решения вычислительных и информационных задач.
Впервые принципы построения и функционирования ЭВМ были сформулированы американским ученым-математиком Джоном фон Нейманом
в 1945 г. В соответствии с указанными принципами в состав ЭВМ должны входить: арифметическое логическое устройство (АЛУ [АШ —
Arithmetic
and
Logic
Unit
]),
выполняющее арифметические и логические операции; устройство управления, предназначенное для организации выполнения программ; запоминающие уст
ройства
(ЗУ); внешние устройства для ввода-вывода
данных.
ПОКОЛЕНИЕ ЭВМ [
computer
generation
]
Один из способов классификации ЭВМ по степени их развития. Каждое поколение ЭВМ отличается от других архитектурой, элементной базой, степенью развитости программных средств, производительностью и другими показателями. В настоящее время различают пять поколений ЭВМ.
ЭВМ первого поколения [
first
-
generation
computer
] —
использовали ламповую элементную базу, обладали малым быстродействием и объемом памяти, имели неразвитые операционные системы,
программирование выполнялось на языках программирования низкого уровня
(конец 40-х — 50-е гг.).
ЭВМ второго поколения [
second
-
generation
computer
] —
использовали полупроводниковую элементную базу, изменяемый состав внешних устройств, язы
ки программирования высокого уровня
и принцип библиотечных программ
(конец 50-х, 60-е и начало 70-х гг.).
ЭВМ третьего поколения [
third
-
generation
computer
] —
использовали в качестве элементной базы интегральные схемы
(ИС), имели развитую конфигурацию внешних устройств
и стандартизированные средства сопряжения,
обладали большим быстродействием и объемами основной и внешней памяти.
Разви
тая операционная система
обеспечивала работу в мультипрограммном (то есть с использованием многих программ)
режиме (70-е — начало 80-х гг.).
ЭВМ четвертого поколения [
fourth
-
generation
computer
] —
используют большие и сверхбольшие интегральные схемы
(БИС и СБИС), виртуаль
ную память,
многопроцессорный с параллельным выполнением операций принцип построения, развитые средства диалога
(середина 80-х гг. по настоящее время).
ЭВМ пятого поколения [
fifth
-
generation
computer
] —
характеризуются наряду с использованием более мощных СБИС
применением принципа "управления потоками данных" (в отличие от принципа Джона фон Неймана "управления потоками команд"), новыми решениями в архитектуре вычислительной системы и использованием принципов искусственного интеллекта.
С ЭВМ пятого поколения связывают наряду с другими особенностями возможность ввода данных и команд голосом. Начало разработки ЭВМ этого поколения можно отнести ко второй половине 80-х гг., внедрения первых образцов — к первой половине 90-х гг.
ЭВМ МОГУТ РАЗЛИЧАТЬСЯ ТАКЖЕ ПО СЛЕДУЮЩИМ ОСНОВАНИЯМ:
1. По принципу построения и действия
Аналоговая ЭВМ (
ABM
) [
analog
computer
] —
вычислительная машина непрерывного действия, обрабатывающая аналоговые данные. Предназначена для воспроизведения определенных соотношений между непрерывно изменяющимися физическими величинами. Основные области применения связаны с моделированием различных процессов и систем.
Цифровая ЭВМ (ЦЭВМ) [
computer
]
— то же, что ЭВМ.
Уточнение типа (ЦЭВМ) производится в случаях, когда это особо необходимо, например в сложных вычислительных системах, включающих ЭВМ разных видов.
Комбинированная (аналого-цифровая) ЭВМ [
combined
computer
] —
ЭВМ, сочетающая аналоговую и цифровую форму обработки данных.
Многопроцессорная ЭВМ (система) [
multiprocessor
system
(
computer
)] —
ЭВМ, архитектура
которой предусматривает использование большого числа про
цессоров,
чем обеспечивается существенное повышение ее вычислительной мощности и, в частности, возможность обработки значительных объемов информации. Принципы построения таких ЭВМ реализованы в симметричных много
процессорных системах [
SMP
—
Symmetric
Multiprocessor
Systems
]
(например, PowerScale
группы компаний Bull
), системах с массовым параллелизмом
[МРР —
Massively
Parallel
Processing
Architectures
]
и др.
Транспьютер
[transputer— or
англ.
TRANSistor
и
comPUTER]
1. Микроэлектронный прибор, объединяющий на одном кристалле мощный микропроцессор, быструю память, интерфейс внешней памяти и каналы ввода-вывода. Предназначен для построения параллельных вычислительных структур. Впервые был создан в 1983 г. фирмой INMOS
(Великобритания).
2.ЭВМ с многопроцессорной параллельной архитектурой,
чем обеспечивается существенное увеличение ее производительности. При построении транспьютеров используется специальный язык параллельного программирования Occam
.
2. По вычислительной мощности и габаритам
СуперЭВМ [
supercomputer
]
— класс сверхпроизводительных ЭВМ, предназначенных для решения особо сложных задач в областях науки, техники и управления. Сверхвысокая производительность достигается преимущественно за счет парал
лельной архитектуры,
предусматривающей использование большого числа функционально ориентированных процессоров и параллельного программирования,
сверхглубокого охлаждения процессоров (до температур, близких к абсолютному нулю), а также высокоскоростных СБИС.
В мире насчитывается ограниченное количество ЭВМ такого типа (порядка 500). Основными производителями их являются фирмы США и Японии, в частности Cray
,
Fujitsu
и
NEC
.
Большая ЭВМ [
large
computer
]
— ЭВМ, имеющая высокую производительность, большой объем основной и внешней памяти, обладающая способностью параллельной обработки
данных и обеспечивающая как пакетный, так и интер
активный (диалоговый)
режимы работы.
ЭВМ средней производительности [
medium
computer
] —
ЭВМ с производительностью до нескольких миллионов операций в секунду, емкостью оперативной памяти в несколько десятков Мбайт и разрядностью машинного слова не менее 32.
Малая ЭВМ, мини-ЭВМ [
small
computer
,
minicomputer
] —
в прошлом так назывались ЭВМ, конструктивно выполненные в одной стойке и занимавшие небольшой объем (порядка десятых долей кубометра). По сравнению с большими и средними машинами мини-ЭВМ обладают существенно более низкой производительностью и объемом памяти. Термин "мини-ЭВМ"
не имеет точного определения, он очень близок по содержанию к термину "микроЭВМ",
четкой границы между двумя классами этих машин нет.
МикроЭВМ
[microcomputer]
1. Кристалл большой или сверхбольшой интегральной схемы,
который в отличие от микропроцессора
содержит все логические элементы, необходимые для образования полноценной вычислительной системы.
2.ЭВМ, использующая в качестве арифметического и логического устройства один или несколько микропроцессоров.
Указанное значение термина в смысле отнесения ЭВМ к тому или иному классу машин может быть признанно некорректным в связи с широким применением микропроцессорной техники в машинах разных классов.
3.С понятием микроЭВМ связаны также термины:
Однокристальная ЭВМ [
single
-
chip
computer
] — микроЭВМ,
выполненная на одной большой (БИС)
или сверхбольшой (СБИС)
интегральной микросхеме.
Одноплатная ЭВМ [
single
-
board
computer
] — микроЭВМ,
у которой микро
процессор, микросхемы
устройств памяти
и подсистемы ввода-вывода, а также другие основные компоненты размещены на одной печатной плате.
Однопроцессорная ЭВМ [
monoprocessor
computer
] —
ЭВМ с одним цент
ральным процессором.