Файл: Международные и отечественные стандарты языков программирования. Сходство и отличие стандартов..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 03.04.2023

Просмотров: 975

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В 1995 году ISO опубликовала расширение, названное Поправкой 1, для стандарта ANSI-C. Его полное имя было ISO/IEC 9899/AMD1: 1995 или коротко - C95. Помимо исправления ошибок были внесены изменения в языковые возможности, такие как: добавление диграфов, спецификация стандартных макросов, улучшена многобайтная и широкосимвольная поддержка символов в стандартной библиотеке.

В марте 2000 года ANSI принял стандарт ISO/IEC 9899:1999. Этот стандарт обычно называют C99. Включает некоторые примечательные дополнения к предыдущему стандарту: несколько новых заголовков библиотек, включая stdint.h, <tgmath.h>fenv.h, <complex,h> ,улучшена совместимость с несколькими функциями С++, удалены несколько опасных языковых функций C89, таких как неявные объявления функций и неявный int. ISO для C99 опубликовали три технических исправления: ISO/IEC 9899:1999/Cor.1:2001(E), ISO/IEC 9899:1999/Cor.2:2004(E), ISO/IEC 9899:1999/Cor.3:2007(E).

Текущий стандарт языка С11, принятый в 2011 году как ISO/IEC 9899:2011. Функции включают в себя улучшенную поддержку Unicode, с использованием нового ключевого слова Generic, межплатформенный API и поддержку атомных типов на основном языке. ANSI C теперь поддерживается почти всеми широко используемыми компиляторами. Большая часть кода C, написанного в настоящее время, основана на ANSI C. Любая программа, написанная только на стандартном C и без каких-либо зависимых от аппаратного обеспечения предположений, практически гарантированно правильно компилируется на любой платформе с соответствующей реализацией C. Без таких предосторожностей большинство программ могут компилироваться только на определенной платформе или с конкретным компилятором.[15]

Международное сотрудничество в области стандартизации осуществляется по линии соответствующих международных, региональных и национальных официальных организаций. Принятые ими стандарты имеют соответственно статус международных или национальных. Среди международных официальных организаций главной является Международная организация по стандартизации (ISO), одним из важнейших направлений является разработка стандартов ISO на жизненный цикл программного обеспечения, оценка безопасности информационных технологий. Наиболее тесно ISO сотрудничает с IEC, МЭК. Среди национальных организаций наибольший вклад вносит ANSI, переименованный в настоящее время в NIST – неправительственная некоммерческая организация занимающаяся утверждение стандартов, но не разработкой.[16]

Просто и одновременно точно Джулиан Бакнелл определил, что стандартных алгоритмов разработаны и обкатаны учеными в области компьютерных наук с целью использования их «рабочими лошадками. Профессиональное использование базовых алгоритмов – это то, что дает заявлять о знании того или иного языка программирования. [28, c. 12]


Стандарты кодирования должны отражать лучший опыт проб и ошибок всего сообщества программистов. В них должны содержаться проверенные идиомы, основанные на опыте и твердом понимании языка. В частности, стандарт кодирования должен основываться на исчерпывающем анализе литературы по разработке программного обеспечения, и объединять воедино правила, рекомендации и наилучшие практические решения, которые в противном случае они оказываются разбросанными по многочисленным источникам. [25, с. 12]

Вывод:

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

Можно говорить об информационном «взрыве», о повсеместной информатизации общества либо о качественном этапе развития информационных технологий, но без процесса разработки стандартов программирования и четкого следования им, языковое программирование было бы обречено на информационный беспорядок.

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

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

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


Глава 2. Отечественный и международный подход к изучению конструкции языков программирования

Последнее десятилетие XX века стало периодом интенсивной деятельности по стандартизации различных аспектов информационных технологий. Эта деятельность осуществляется силами не только официальных органов стандартизации, но и многочисленными индустриальными консорциумами. Благодаря созданию стандартов обеспечивается переносимость приложений и информационных ресурсов между различными программно-аппаратными платформами. [12, c. 56]

Создано немалое количество международных, национальных и индустриальных стандартов разного назначения, много из которых стали уже стандартами де-факто. Деятельность по созданию и развитию стандартов активно продолжается.[17]

Категория стандартов де-факто широко применяются на практике. Создаются различными организациями, как NIST и ISO, так и индустриальными консорциумами, и отдельными компаниями. ANSI/ISO/IEC SQL-92 – пример стандарта де-факто (версия реляционного языка SQL), принятый Международным индустриальным консорциумом (W3Consortium) стандарт XML. [15, с. 20]

Герберт Шилд (Herbert Schildt), признанный авторитет в области программирования на языках С, С++, член комитетов ANSI/ISO, принимавших стандарт для языков С, С++ полагал, что концепция языка программирования неотрывно связана с его реализацией. Стандарт языкового программирования обеспечивает одинаковый результат компиляции одной и той же программы различными компиляторами. Как правило, при создании языка выпускается частный стандарт, определяемый разработчиками языка. При расширении сферы применения языка, появляются различные версии компиляторов, которые следуют не точно частному стандарту. В большинстве случаев идет расширение зафиксированных первоначально возможностей языка. ANSI, ISO, IEEE разрабатывают согласительный стандарт приводя наиболее популярные реализации языка в соответствие друг с другом. Очень важным фактором стандартизации языка программирования является своевременное появление стандарта, до широкого распространения языка. [26, с. 56]

По мнению Шилда Г. Языки программирования С, С++ - фундамент, на котором строится современное программирование. В 1989 году Американским национальным институтом стандартов принят стандарт для языка С. Эта версия известна как С89. Этот же стандарт принят Международной организацией по стандартизации. В 1995 году стандарт был усовершенствован. В 1998 году ANSI/ISO принят стандарт для языка С++ на основе C89, включая усовершенствования от 1995 года. В 1999 году был принят новый стандарт для языка – С99, включающая ряд усовершенствованных и новых средств, частично заимствованных у языка С++. Добавление новых возможностей на практике оказались несовместимы с языком С++.[18]


Взаимосвязь между версиями С89, С90 и С++ продемонстрирована в таблице 2.

В докладе Татаринцева А.А. на Всероссийской конференции в 2013 году, посвященной теме преподавания информационных технологий в Российской Федерации говорится о стандартизированном процедурном языке программирования Си, разработанного в начале 1970-х годов сотрудниками Bell Labs Томсоном К. и Ритчи Д., как развитие языка Би. Си был создан для использования в операционной системе Unix и был перенесен на многие операционные системы, став одним из самых популярных языков программирования. Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.[19]

Язык Fortran первоначально был стандартизирован в 1966 году (Fortran66). Позже был пересмотрен в 1977 году (Fortran77, Fortran90).

Язык Java, получив широкое распространение, постепенно был расширен и модифицирован (Java2). Таким образом, очевидно, что у языка программирования могут появиться новые стандарты, отражающие современные нововведения.[20]

Чмирева Е.В., кандидат экономических наук, преподаватель Белгородского государственного университета считает, что практически все современные языки программирования являются типизированными, за исключением JavaScript и его диалектов.[21]

Строгая типизация обеспечивает безопасность. Программа, прошедшая проверку типов просто не может выпасть в операционную систему с сообщением, подобным «access violation», особенно это касается таких языков как С, С++ и Object Pascal, где применение показателей является типичным способом использования языка. В функциональных языках большая часть ошибок может быть исправлена на стадии компиляции, поэтому стадия отладки и общее время разработки программ сокращаются. Строгая типизация позволяет компилятору генерировать более эффективный код и тем самым ускорять выполнение программ. [13, c. 9]

Для задания команд процессору было необходимо создать специальный язык. Вначале команды кодировали с помощью чисел, например, цифра 1 могла означать сложение, 2 – умножение, 3 – деление и так далее. Кроме этого процессору нужно было передать и данные, над которыми следовало совершить те или иные операции. В результате самая простая программа представляла сложный шифр. Программистам приходилось помнить коды и форматы всех операций либо постоянно пользоваться специальными таблицами, поэтому они стремились создать более эффективный инструмент написания программ. [14, c. 157]


Первым шагом стала разработка символьного обозначения, в виде сокращения обычных слов, обозначающих операции (мнемоническая система). Требовалось создать способ автоматического перевода мнемонической записи в машинный код. Первый мнемонический язык программирования – Ассемблер – создала американка Г. М. Хоппер в1952 г. Ассемблер стал первым языком понятным и электронной машине и человеку, но был доступен узкому кругу специалистов из-за сложности изучения.[22]

Языки программирования используют символические обозначения (имена, идентификаторы) для данных (чисел, строк, структур) и элементов программ (блоков, функций, процедур). {22, с. 22]

Язык PL/1 (NPL) широкого применения был разработан в 1960-70-х годах как объединение лучших черт универсального языка Fortran, позволяющего записывать математические формулы в понятном для человека виде, и специализированного языка Cobol, ориентированного на решение экономических задач. [6, с. 56]

В 1964 году создан язык Basic, облегчающий написание простых программ, распространен для работы на микрокомпьютерах.[16, с. 160]

Basic считается базовым средством программирования для персональных компьютеров IBM PС, созданные фирмой Microsoft. На персональных версиях имеется несколько версий языка: традиционный Basic (без ОС); структурный Basic (MS DOS); графический Basic (Windows). Традиционно Basic – это язык диалогового программирования. После появления компьютеров IBM PС полностью пропала потребность в устаревших моделях ЭВМ и традиционном Basic. Для первых моделей IBM PС была создана новая версия Quick Basic PC как базовое средство программирования в операционной системе MS DOS, это диалоговый язык структурного программирования родственный языку Паскаль. [23]

В настоящее время на его основе фирма Microsoft создала Visual Basic, язык широкого назначения, как базовое средство программирования для новейших компьютеров оперативной системы Windows. [24, с. 28]

В конце ХХ века стандарты языков Fortran и Basic были внедрены в народное хозяйство СССР. Выражалось в написании и использовании учебников по стандарту языка, реализации адаптации и переноса мобильных программных продуктов, разработкой и эксплуатацией трансляторов и систем [8, с. 128]

В 1970 –х годах швейцарский математик Н. Вирт создал язык программирования Pascal, с целью обучения студентов прикладной математике с помощью персонального компьютера. Язык Pascal заинтересовал производителей [1, с. 18]

Профессор Вирт стремился избавиться от недостатков алгоритмического языка Algol, ставшего фактически стандартом для описания компьютерных алгоритмов, но оставил в Pascal строгость описания, богатство управляющих структур, при этом сделав его более легким для восприятия. [14, c. 158]