Файл: Сходство и отличия международных и отечественных стандартов языков программирования.pdf
Добавлен: 16.05.2023
Просмотров: 253
Скачиваний: 3
СОДЕРЖАНИЕ
Глава 1. Общая характеристика стандартов языков программирования
1.1 Общие требования к стандартизации языков программирования
Глава 2. Характеристика стандартов языков программирования
2.1. Отечественные стандарты языков программирования
Глава 3. Сравнение отечественных и международных стандартов языков программирования
Введение
В рамках данной работы был проведен анализ современных российских и международных стандартов языков программирования.
Языки программирования строятся в соответствии с теми или иными базовыми моделями вычислений и парадигмами программирования.
Несмотря на то, что большая часть языков использует императивные модели вычислений, задаваемые фон-неймановской архитектурой компьютеров, разработаны и другие подходы. Существуют языки программирования, использующие стековые вычислительные модели, а также приемы функционального программирования, а также логического программирования, а также существуют языки, основанные на моделях вычислений, введённых советским математиком А. А. Марковым-младшим. В настоящее время активное развитие получают проблемно-ориентированные, декларативные и визуальные языки программирования.
Для каждого из типов языков программирования разрабатываются стандарты, используемые программистами для выбора языка разработки систем в соответствии со спецификой решаемых задач. С использованием стандартов проводится определение синтаксиса и семантики используемого языка.
Целью данной курсовой работы является анализ российских и международных стандартов языков программирования.
Задачи работы:
- анализ требований к архитектуре языков программирования;
- классификация языков программирования;
- анализ российских и международных стандартов языков программирования;
- сравнительная характеристика рассмотренных стандартов.
Объект исследования: языки программирования.
Предмет исследования: российские и международные стандарты языков программирования.
Глава 1. Общая характеристика стандартов языков программирования
1.1 Общие требования к стандартизации языков программирования
Стандарты давно используются в технологии разработки программного обеспечения. Реализация сложной системы предполагает использование соответствующих стандартов. Стандарты используются для упорядочивания процесса разработки, но при этом стандарт не должен быть слишком «узким» и не создавать помех для развития.
Государственные стандарты регламентируют технологии развития программирования и представляют обязательные к использованию рекомендации по их соблюдению. Кроме государственных стандартов (ГОСТ), регламентирующих процесс разработки программ и архитектуру языков программирования, действуют отраслевые стандарты (ОСТ), стандарты предприятий (СТП).
Группа стандартов ГОСТ «Единая система программной документации» (ЕСПД) претерпела ряд изменений с момента создания, пережила несколько поколений компьютерной техники и смену поколений в технологиях разработки программ. При этом стандарты до настоящего времени никогда не затрудняли процесса инновационных технологий.
Кроме вышеизложенных стандартов фактически используются стандарты де-факто. Установка многих стандартов де-факто производится ведущими компаниями-разработчиками программного обеспечения и производителями вычислительной техники. Стандарты де-факто разрабатываются на базе идей какой-то базовой разработки. Выгодно разрабатывать продукты в стиле, сходном с успешной реализацией программного продукта в сходной предметной области. Например, для пользователей, имеющих навыки работы с системой документооборота «Lotus», табличными и текстовыми процессорами, бухгалтерским ПО семейства «1С: Предприятие» разработку прикладных решений эффективно производить с соблюдением требований к интерфейсу, сходных с указанными системами. Обычно в качестве стандарта де-факто рассматриваются используемые операционные системы, трансляторы с языков программирования, системы организации файлов и средний уровень качества, который достигается по окончании процесса тестирования программ. Для конкретных разработчиков выгодно следование указанным стандартам.
Для технологий программирования в качестве общепризнанного ведущего стандарта разработки стандартов программирования признан институт ANSI (Американский национальный институт стандартов). Указанный институт является лидирующим в области установки стандартов языков программирования, требований к кодовым таблицам клавиш и символов, выводимых на экран, и еще многого другого. Альтернативным стандартом языков программирования ISO.
Целью стандартизации является всеобщая унификация и взаимозаменяемость, что в некоторых случаях может создавать помехи развитию. При вводе нового стандарта, необходимо проводить учёт последствий ввода, особенно если данный стандарт - опережающий и разработан на перспективу. Если стандарт достаточно «узок» и тормозит развитие систем программирования, то необходимо проводить оценку возможностей его расширения. Повсеместно принято следующее отношение к стандартам: либо необходимо полное соответствие стандарту, либо разработка собственного стандарта. Наличие любого стандарта предполагает наличие дополнительных ограничений.
Разработчик программного обеспечения должен работать не только с готовыми стандартами, но и иметь навыки разработки своих собственных. Так, например, стандарты однотипного оформления исходных текстов программы определяются типом проекта, который может изменяться в начале процесса разработки нового проекта. При этом в процессе выполнения одного проекта оформление всех модулей программы должно быть однотипным. Поэтому зачастую перед началом нового проекта конкретным разработчикам следует проводить разработку своих стандартов, которые соответствуют ГОСТ, ОСТ и СТП и действуют в пределах конкретного проекта.
1.2. Описание основных характеристик языков программирования
Любой язык программирования представляет собой формальную знаковую систему, предназначенную для записи алгоритмов компьютерных программ. Посредством языков программирования определяются лексические, синтаксические и семантические правила, задающие требования к интерфейсу программы и правила записи действий, выполняемых исполнителем (компьютером) под управлением разрабатываемой программы.
В настоящее время существует около трёх тысяч языков программирования. Ежегодно их количество возрастает. Некоторые языки программирования используются только небольшим числом их разработчиков, другие языки становятся известными миллионам разработчиков. Профессиональные разработчики иногда используют в своей работе свыше десятка разнообразных языков программирования. Создатели языков по-разному трактуют понятие «язык программирования». Наиболее распространёнными утверждениями, признаваемыми большинством разработчиков, являются [10]:
Функции: языки программирования предназначены для написания программного обеспечения, которое используется при передаче компьютеру инструкций по исполнению тех или иных вычислительных процессов и организации управления определенными устройствами.
Задачи: отличие языков программирования от естественных языков связано с тем, что они предназначены для передачи команд и закодированной информации от человека к компьютеру, при этом естественные языки используются при общении людей между собой. Необходимо обобщить определение «языки программирования» как метода, используемого для передачи команд, приказов, чётких руководств к действию; при этом человеческие языки используются также при обмене информацией.
Исполнение: языки программирования могут использовать наборы специальных конструкций при определении и манипулировании структурированными данными и управлением вычислительными процессами.
Рассмотрим общие характеристики языков программирования.
Даже при существовании нескольких тысяч типов программ для компьютеров пользователям может потребоваться функционал, не реализованный в имеющихся программах. В данных случаях необходимо использование систем программирования, т.е. систем для разработки нового программного обеспечения. Данные системы, как правило, включают компиляторы, осуществляющие преобразование программного обеспечения на языках программирования в программы в машинных кодах, или интерпретаторы, осуществляющие непосредственное исполнение программ на языках программирования, редакторы текстов программ, библиотеки полезных подпрограмм, отладчики, а иногда и набор различных вспомогательных программы.
В распространенных языках программирования имеются возможности поддержки систем программирования, которые позволяют проводить создание программ, работающих в определенных операционных системах. Более современные системы программирования разрабатываются на языке Java, они позволяют проводить создание программ, вызываемых при просмотре Web-страниц в глобальной электронной сети Internet.
Особый класс систем программирования предполагает разработку приложений с клиент-серверной архитектурой. Данные системы позволяют быстро создавать информационные системы для подразделений и даже крупных предприятий. В них содержатся средства для создания пользовательских интерфейсов, описания процедур по обработке информации, заготовок для исполнения типовых действий, связанных с обработкой данных и т.д. Данные системы, как правило, позволяют работать с самыми различными форматами СУБД — Oracle, Microsoft SQL Server и др [4, c. 90].
Проведем описание формализованных языков, предназначенных для описания программ и алгоритмов решения задач на с использованием компьютерной техники. Языки программирования созданы искусственно, их синтаксические и семантические конструкции являются строго определенными. В силу этого, в них не допускаются свободные толкования выражений, что характерно для естественных языков. Существует разделение языков программирования на две категории: языки высокого уровня и языки низкого уровня [2, c.45].
Языки высокого уровня используют средства, обеспечивающие описание задачи в наглядной, легко воспринимаемой форме, удобной для Разработчика. Языки высокого уровня не зависят от внутренних машинных кодов компьютеров любого типа, в силу этого при создании программ, разработанных на языках высокого уровня, производится перевод в машинные коды с помощью трансляторов либо интерпретаторов.
Языки низкого уровня предназначены для определенного типа компьютеров и отражают его внутренние машинные коды.
Основными классами языков программирования являются [7]:
- Функциональный;
- Процедурный;
- Стековый;
- Векторный;
- Декларативный;
- Стеково-ориентированный;
- Динамический;
- Учебный;
- Прототипный;
- Объектно-ориентированный;
- Рефлективный;
- Параллельный;
- Скриптовый;
- Эзотерический.
Выводы по разделу
Разработка программных продуктов производится с использованием языков программирования, представляющих собой особый порядок кодирования алгоритмов. Для каждого языка программирования введен порядок описание математических, логических операций, работы с текстами и внешними модулями.
Стандарты, используемые в разработке программного обеспечения, позволяют разработчикам сократить время на разработку программ, выявлять эффективность реализации тех или иных способов решения задач. Совершенствование процесса разработки производится по итогам тестирования режимов, описанных в стандарте, что в дальнейшем позволяет вносить изменения.
Глава 2. Характеристика стандартов языков программирования
2.1. Отечественные стандарты языков программирования
Проведем обзор отечественных стандартов языков программирования.
- ГОСТ 28397-89 (ИСО 2382-15-85) Языки программирования. Термины и определения
В данном стандарте проведена установка терминов и определений, используемых в традиционных языках программирования процедурного типа [17].
Термины, которые установлены в данном стандарте, являются обязательными для использования в документации и источниках всех видов, которые относятся к сфере работ в области стандартизации или используют результаты данных работ.
Данный стандарт должен использоваться совместно со стандартами ГОСТ 15971 и ГОСТ 20886.
- ГОСТ 20886-85
В данном стандарте устанавливаются требования, используемые в научных исследованиях, областях техники и производства. Описывается терминология и определения, основные понятия в области организации данных в системах обработки информации [14].