Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Международные и отечественные стандарты языков программирования. Сходство и отличия стандартов (Организация ANSI)

Содержание:

ВВЕДЕНИЕ

Стандартизация – неотъемлемый процесс, позволяющий привести общие наработки к единому стилю исполнения, качеству, технологическому процессу и сведению к единому образу изготовляемых продукций. Процесс стандартизации позволяет приводить процесс производства и изготовления к пошаговым действиям и играет курирующую роль на всех этапах. Стандартизация применяется повсеместно и во всех отраслях, так, к примеру, стандарт 2014 года от организации USB-IF, позволил привести контактные разъёмы всех мобильных устройств к единому стилю, благодаря чему, на сегодняшний день любой USB кабель способен беспрепятственно использоваться для передачи информации любого гаджета, а также его зарядке.

Язык программирования [1] — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.

Со времени создания первых программируемых машин увеличивалось и число самих языков программирования. На сегодняшний день их насчитывают более двух с половиной тысяч. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования. Создатели языков по-разному толкуют понятие язык программирования, однако сами языки программирования могут быть представлены в виде набора спецификаций, определяющих его синтаксис и семантику. Однако даже при наличии десятков тысяч программ для PC [2], пользователям зачастую требуется иные возможности программного обеспечения имеющихся программ. В этих случаях следует использовать системы программирования [3], т.е. системы для разработки новых программ. Эти системы обычно включают компилятор, осуществляющий преобразование программ на языке программирования в программу в машинных кодах, или интерпретатор, осуществляющий непосредственное выполнение программы на языке программирования, редактор текстов программ, библиотеки полезных подпрограмм, отладчики, а иногда и различные вспомогательные программы. Для популярных языков программирования (Си, Си++, Паскаль, Бейсик, Фортран и др.) имеется множество систем программирования, позволяющих создавать программы, работающие в среде DOS, Windows и др. В последнее время стали появляться системы программирования на языке Java, они позволяют создавать программы, вызываемые при просмотре Web-страниц в глобальной электронной сети Internet. Особым классом систем программирования являются системы для создания приложений типа клиент-сервер. Эти системы позволяют быстро создавать информационные системы для подразделений и даже крупных предприятий. В них содержатся средства для создания пользовательского интерфейса, описания процедур обработки данных, заготовки для выполнения типовых действий по обработке данных и т.д. Эти системы, как правило, позволяют работать с самыми различными СУБД — Oracle, MS SQL Server и др.

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

1. Разработка языков программирования и компиляторов

Идеальный язык программирования — это такая же недостижимая мечта, как и идеальная жизнь. Но стремление к совершенству приводит к появлению вещей, которые делают нашу жизнь лучше. Скептики могут увидеть в этом изобретение очередного велосипеда. Но и это не бывает напрасным: если очередной велосипед не стал лучше прежнего, то сам процесс улучшает изобретателей. Велосипед может быть забыт и выкинут, а вот изобретатели приобретут инженерный опыт. 

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

Для каждой команды был какой-то код, для удобства записываемый как 16-ричное число. Например, (условно), код: "A3 DD 05 00" мог загружать в регистр A число 5, а код "DD" - складывать регистр A с регистром B, помещая результат в B.

 К великому сожалению, отечественный след в истории кибернетики значительно скромнее, чем бы он мог быть. Особенно это касается языков программирования. Единственный отечественный язык программирования, получивший общемировую известность, это язык Рефал [4]. Однако распространённость этого языка весьма и весьма мала.

Первым в мире транслятором языка высокого уровня является ПП «Программирующая Программа», он же ПП-1, успешно испытанный в 1954 году. Транслятор ПП-2 (1955 год, 4 в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур. Первыми программами, принадлежащими системному программному обеспечению, были трансляторы — ассемблеры и автокоды на Западе, программирующие программы (ПП) у нас.

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

Основоположником информатики в СССР, в частности раздела автоматизации программирования, является Алексей Андреевич Ляпунов, первым предложивший рассматривать программу как последовательность чередующихся этапов, на которых выполняется некая обработка данных. Этап Ляпунов предложил назвать оператором, а схемой счета — совокупность операторов и логических условий. Схема и совокупность спецификаций каждого оператора — это программа. Взгляд на программу в таком ключе стал революционным и сразу лег в основу первых трансляторов (компиляторов) или программирующих программ, как их тогда называли.

В США Программирование появилось задолго до 50-х годов XX века. Первые идеи высказал ещё Чарльз Бэббидж, которого по праву считают отцом компьютера. Он не знал о транзисторах, микросхемах и мониторах, но достаточно точно описал основные принципы, на которых будут строится все вычислительные машины. Развила идею графиня Ада Лавлейс. Её место в истории до сих вызывает немало споров, но одно абсолютно точно – именно Ада фактически стала первым известным программистом. Благодаря её трудам стало понятно, что путь к эффективному использованию машин – алгоритмы, описанные в коде.

 В 1950-х всё было иначе – приходилось работать с элементарными машинными кодами, а это практически всё равно что программировать при помощи паяльника.

Ещё одной проблемой было то, что за разработку языков отвечали люди, непосредственно связанные с созданием компьютеров – в первую очередь инженеры и лишь вынужденно программисты. Потому они и представляли язык в виде последовательности номеров операций и ячеек памяти.

Программистам приходилось долго учиться машинным командам, потом внимательно писать код, а после завершения ещё несколько раз его перепроверять – риск ошибки был велик. Проблемы возникла, когда развитие машин стало тормозиться нехваткой кадров для написания программ. Требовалось срочное решение.

2. Стандартизация языков программирования

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

В процессе развития языка некоторые его конструкции и функции устаревают. Однако с целью обратной совместимости новые версии должны поддерживать и все устаревающие возможности. Это ведет к "разбуханию" компиляторов. В последнее время в реализациях введено понятие «не рекомендуемой» и «устаревшей» возможности. В первом случае следующий стандарт еще будет поддерживать не рекомендуемую возможность, но может перевести ее в категорию устаревшей. Во втором случае стандарт может исключить поддержку возможности, объявленной ранее как устаревшая. Введение не рекомендуемых и устаревших возможностей предоставляет разработчикам временной интервал, в течение которого они могут модифицировать код в соответствии с новыми требованиями стандарта.

Эволюцию стандартизацию языков программирования можно разделить на три этапа:

а. Наличие для конкретного языка частного стандарта. Такой подход подразумевает, что разработчики компиляторов сами определяют семантику и синтаксис являются стандартными для языка. Это приводит к хаосу и не соответствию разных компиляторов.

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

в. Появление организаций, предназначенных сугубо для установки различных стандартов.

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

Трансляторы делятся на:

компиляторы — превращают текст программы в машинный код, который можно сохранить и после этого использовать уже без компилятора (примером является исполняемые файлы с расширением *.exe).

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

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

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

Ассемблер — язык низкого уровня, широко применяется до сих пор.

В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие языков программирования. Компьютеры, стоившие в то время значительно дороже, чем разработка любой программы, требовали высокоэффективного кода. Такой код разрабатывался вручную на языке Ассемблер. В середине 50-х годов под руководством Джона Бэкуса для фирмы «IBM» был разработан алгоритмический язык программирования «FORTRAN». Несмотря на то, что уже существовали разработки языков, выполняющие преобразование арифметических выражений в машинный код, создание языка FORTRAN (FORmula TRANslator), предоставляющего возможность записи алгоритма вычислений с использованием условных операторов и операторов ввода/вывода, стало точкой отсчета эры алгоритмических языков программирования.

К языку «FORTRAN» предъявлялись требования создании высокоэффективного кода. Поэтому многие конструкции языка первоначально разрабатывались с учетом архитектуры IBM 407. Успех разработки этого языка привел к тому, что производители других вычислительных систем стали создавать свои версии трансляторов. С целью некоторой возможной на тот момент унификации языка язык FORTRAN IV, разработанный в 1966 году, стал первым стандартом, именуемым «FORTRAN 66».

Как альтернатива языку FORTRAN, первоначально ориентированному на архитектуру IBM, под руководством Питера Наура в конце 50-х годов был разработан язык «ALGOL» (ALGOrithmic Language). Основной целью, преследуемой разработчиками этого языка, была независимость от конкретной архитектуры вычислительной системы. Кроме того, создатели языка ALGOL стремились разработать язык, удобный для описания алгоритмов и применяющий систему обозначений, близкую к той, что принята в математике.

В 50-ых годах, решение оказалось настолько очевидным, что доподлинно неизвестно, кто первым изобрёл язык Ассемблера. Вероятнее всего, он появился одновременно сразу в нескольких местах, что способствовало развитию сразу нескольких версий данного языка. Данная структура команд, предоставлялась к отдельно взятой ламповой вычислительной машине, реализация структуры на различно иной ЭВМ могла произвести совершенно иной результат.

Тем не менее, за название и популяризацию ответственными принято считать авторов книги «The preparation of programs for a digital computer» Уилкса, Уилера и Гилла. Нетрудно догадаться, что название Ассемблер происходит от английского слова assemble – собирать, монтировать, что вполне точно описывает процесс.

Сегодня, «стандартизация» кажется элементарным решением, но в 50-ых годах, реализация была сложным процессом, требующим созданий таблиц соответствия, присвоения обозначения каждой ячейке памяти, что привело к трём фундаментальным вещам:

- Появлению понятия символьная переменная или просто переменная.

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

- Пониманию, что программирование может стать искусством.

Это стало катализатором языкового прорыва.

3. IEС стандарты языков программирования

Международная электротехническая комиссия [5] (МЭК; англ. International Electrotechnical Commission, IEC) – это международная некоммерческая организация по стандартизации в области электрических, электронных и смежных технологий. Некоторые из стандартов МЭК разрабатываются совместно с Международной организацией по стандартизации (ISO).

МЭК составлена из представителей национальных служб стандартов. МЭК была основана в 1906 году. Первоначально комиссия располагалась в Лондоне, первым президентом был английский физик лорд Кельвин. С 1948 года штаб-квартира находится в Женеве, Швейцария. В настоящее время в состав МЭК на правах полноправных и ассоциированных членов входят 83 страны, имеет региональные центры в Юго-восточной Азии (Сингапур), Латинской Америке (Сан-Пауло, Бразилия) и Северной Америке (Бостон, США).

МЭК способствовала развитию и распространению стандартов для единиц измерения, особенно гаусса, герца, и вебера. Также МЭК предложила систему стандартов, которая, в конечном счёте, вошла в систему единиц СИ. В 1938 году был издан международный словарь с целью унифицировать терминологию в области электротехники. Эти усилия продолжаются и в подготовке Международного электротехнического словаря [6] (известного также как «Electropedia»), способствующего совместной работе в электротехнических областях промышленности.

Стандарты МЭК имеют номера в диапазоне 60 000 — 79 999, и их названия имеют вид типа МЭК 60411 Графические символы. Номера старых стандартов МЭК были преобразованы в 1997 году путём добавления числа 60 000, например, стандарт МЭК 27 получил номер МЭК 60027. Стандарты, развитые совместно с Международной организацией по стандартизации, имеют названия вида ISO/IEC 7498-1:1994 Open Systems Interconnection: Basic Reference Model.

Международная электротехническая комиссия – это международный орган стандартизации, создающий базовые стандарты для последующей адаптации в национальных комитетах. Интересный факт, которым могут гордиться граждане России. В становлении и работе этой комиссии принимал активное участие СССР, поэтому русский – это один из трех официальных языков МЭК. Что касается стандартизации языков, используемых для программирования ПЛК, то эта проблема назрела давно. К концу 80-х десяток базовых концепций на практике был представлен более сотней вариаций. Их унификация сулила ощутимый экономический эффект. Для решения этой проблемы была создана рабочая группа, состоящая из представителей ведущих игроков на рынке автоматизации, которая начала работу. В силу того, что общепринятого подхода к программированию ПЛК не существовало (и не существует до сих пор), членам комиссии не удалось договориться о едином языке. Поэтому было принято компромиссное решение – включить в стандарт языки, используемые в фирмах, представителям которых посчастливилось оказаться в членах группы.

В 60-ых годах, именно IEС принимало участие в стандартизации языков программирования, уровня машинных кодов. Первый стандарт касательно программирования выходит под номером 646, имеющим название «ISO/IEC 646 encoding family», применяемый для таких языков как FORTRAN и ASEMBLER.

4. Стандартизация языков программирования сегодня

Основной задачей сегодняшнего дня в области информационных технологий является совершенствование качества программных средств. Чрезвычайно актуальными стали проблемы:

· аппаратная сложность опережает наше умение конструировать программное обеспечение, не используются полностью потенциальные возможности компьютерной техники;

· наше умение строить программы отстает от требований к новым программам.

Ключом к решению этих проблем является грамотная организация процесса создания программного обеспечения. Знакомство с основными принципами, моделями и методами при разработке сложных программных продуктов, основанных на разработанных международных стандартах, способствует созданию качественных программных продуктов, конкурентоспособных на рынке программных средств.

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

В области программирования общепризнанной ведущей организацией по разработке стандартов является институт ANSI [7] (Американский национальный институт стандартов). Данный институт является лидером по установке стандартов языков программирования, кодовых таблиц клавиш и символов, выводимых на экран, и еще многих других. Необходимо также отметить стандарты, разрабатываемые «Организацией Международных Стандартов» ISO [8] (International Organization for Standardization), а также «Институт инженеров по электротехнике и электронике» IEEE [9] (Institute of Electrical and Electronic Engineers). Стандартизации на сегодня подвержены так же и языки WEB-разработки, набравшие особенную популярность с начала 1990-х годов. Разработка отдельных принципов и стандартов для web языков программирования, производит «Консорциум Всемирной Паутины» W3C [10] (World Wide Web Consortium), а также с 2004 года, стандартизацией и развитием HTML и API необходимых для web-приложений занимается «Рабочая группа по вебу, гипертексту, приложениям и технологиям» WHATWG [11] (Web Hypertext Application Technology Working Group).

С развитием информационных технологий приобрели актуальное значение методы классификации и кодирования информации. В РФ принято госпрограмма перехода страны на принятую в международной практике систему учёта и статистики соответствия с требованиями развития рыночной экономики. Без общероссийской классификации невозможно решение проблемы согласованности вневедомственных потоков информации. Кроме того, необходимо обеспечить сопоставимость классификаторов в различных федеральных органах управления и международных организационных, а также информационную совместимость международных и национальных информационных систем. В РФ создаётся единая система классификации и кодирования технико-экономической и социальной информации (ЕСКК). Её составляющие – общероссийские классификаторы технико-экономической и социальной информации, средств их введения, нормативных и методических документов по их разработке, ведению и применению объектами классификации и кодирования ЕСКК выступают: статистическая информация, финансовая информация, правоохранительная деятельность, макроэкономическая деятельность, банковское дело, бухгалтерский учёт, стандартизация, сертификация, производство продукции, предоставление услуг, таможенное дело, торговля, внешняя экономическая деятельность. Общее руководство и координацию работ по созданию ЕСКК осуществляют Госстандарт РФ и Госкомстандарт. Ведение информационных форм, федерального фонда стандартов, а также классификаторов подразумевает прежде всего поддержание соответствующего объекта в актуальном состоянии; прежде всего требуется своевременное внесение изменение классификаций и доведение этой новой информации до пользователя. Основная информация об изменении публикуется издательством стандартов в информационном указателе стандартов. В РФ в настоящее время действует следующая классификация:

1. Общероссийский классификатор организаций и предприятий (ОКПО)

2. ОК органов госвласти и управления (ОКОГУ)

3. ОК экономический районов (ОКЭР)

4. ОК видов экономической деятельности, продукции и услуг (ОКВДЭП)

5. ОК специальностей и оборудования (ОКСО)

6. ОК занятий (ОКЗ)

7. ОК управленческой документации (ОКУД)

8. ОК продукции (ОКП)

9. ОК информации по социальной защите населения (ОКИСЗН)

10. ОК услуг населению (ОКУН)

11. ОК стандартов (ОКФ)

12. ОК профессий рабочих, должностей служащих, тарифных разрядов (ОКПДТР)

13. ОК основных фондов (ОКОФ)

14. ОК валют (ОКВ)

15. ОК изделий и конструкторских документов в машиностроении и приборостроении (ЕСКД)

16. ОК единиц измерения (ОКЕИ)

17. ОК специальностей высшей научной классификации (ОКСВНК)

На сегодняшний день на стадии внедрения находится более 25 взаимосвязанных между собой классификаторов. В составе Госстандарта РФ имеются информационные фонд, который составляет ядро федерального фонда стандартов. В нём хранятся стандарты гос и др категорий (около 22 000) действующих в РФ и СНГ и более 30 000 международных стандартов, а также более 250 000 национальных стандартов зарубежных стран, общероссийские классификаторы, документы по ММС. Передача информации возможно по Российским и международным телекоммуникационным сетям ROSPAS, RELCOM, SPRINT и Интернет.

4.1 Организация ANSI

Изначально ANSI была образована в 1918 году, когда пять инженерных обществ и три правительственных учреждения основали «Американский комитет по инженерным стандартам» (AESC - англ. American Engineering Standards Committee). В 1928 году комитет стал называться «Американской ассоциацией стандартов (ASA - англ. American Standards Association). В 1966 году ASA была реорганизована и стала «Институтом стандартов Соединенных Штатов Америки» (USASI - англ. United States of America Standards Institute). Нынешнее название было принято в 1969 году.

До 1918 года существовало пять инженерных обществ, участвовавших в разработке технических стандартов:

  1. Американский институт инженеров-электриков (American Institute of Electrical Engineers - AIEE, сейчас IEEE)
  2. Американское общество инженеров-механиков (American Society of Mechanical Engineers - ASME)
  3. Американское общество гражданских инженеров (American Society of Civil Engineers - ASCE)
  4. Американский институт горных инженеров (American Institute of Mining Engineers - AIME, в настоящее время Американский институт горных, металлургических и нефтяных инженеров)
  5. Американское общество по испытаниям и материалам (сейчас ASTM)

В 1916 году Американский институт инженеров-электриков (ныне IEEE) выступил с инициативой объединения усилий этих организаций для создания независимого национального органа для координации разработки стандартов, согласования и утверждения национальных стандартов. Вышеуказанные пять организаций стали основными членами Объединенного инженерного общества (United Engineering Society - UES), впоследствии для участия в нём в качестве учредителей были приглашены военное министерство США, военно-морской флот (объединенный в 1947 году, чтобы стать министерством обороны США) и коммерции.

В 1931 году организация (переименованная в ASA в 1928 году) вошла в состав Национального комитета США в Международной электротехнической комиссии (МЭК), которая был образован в 1904 году для разработки стандартов в области электротехники и электроники.

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

ANSI также определяет конкретные стандарты как Американские национальные стандарты, или ANS, когда Институт определяет, что стандарты были разработаны в справедливой, доступной и отвечающей требованиям различных заинтересованных сторон среде.

Помимо деятельности в области стандартизации в США, ANSI способствует международному использованию стандартов США, отстаивает политическую и техническую позицию США в международных и региональных организациях по стандартизации и поощряет принятие международных стандартов в качестве национальных стандартов.

Институт является официальным представителем США в двух основных международных организациях по стандартизации, Международная организация по стандартизации [8] (ИСО), в качестве одного из основателей и Международная электротехническая комиссия [5] (IEC) через Национальный комитет США (USNC). ANSI участвует почти во всей технической программе ISO и IEC и управляет многими ключевыми комитетами и подгруппами. Во многих случаях стандарты США передаются в ИСО и МЭК через ANSI или USNC, где они полностью или частично принимаются в качестве международных стандартов.

Принятие стандартов ISO и IEC в качестве американских стандартов возросло с 0,2% в 1986 году до 15,5% в мае 2012 года.

На сегодняшний день, институт управляет девятью группами по стандартизации:

  1. Сотрудничество по стандартизации национальной безопасности и безопасности ANSI (HDSSC - Homeland Defense and Security Standardization Collaborative)
  2. Группа по стандартам нано технологий ANSI (ANSI-NSP - ANSI Nanotechnology Standards Panel)
  3. Панель стандартов защиты от кражи ID (IDSP - ID Theft Prevention and ID Management Standards Panel)
  4. ANSI Координационное сотрудничество по стандартизации энергоэффективности (EESCC - Energy Efficiency Standardization Coordination Collaborative)
  5. Сотрудничество по координации стандартов в области ядерной энергии (NESCC- Nuclear Energy Standards Coordination Collaborative)
  6. Группа по стандартам электромобилей (EVSP - Electric Vehicles Standards Panel)
  7. Сеть ANSI-NAM по химическому регулированию (ANSI-NAM Network on Chemical Regulation)
  8. Координационная группа по стандартам на биотопливо (ANSI Biofuels Standards Coordination Panel)
  9. Панель стандартов медицинской информации в области здравоохранения (HITSP - Healthcare Information Technology Standards Panel)

Каждая из групп занимается выявлением, координацией и согласованием добровольных стандартов, относящихся к этим областям. В 2009 году ANSI и Национальный институт стандартов и технологий (NIST) создали Координационное сотрудничество по стандартам в области ядерной энергии (NESCC).

4.2 Организация ISO

Международная организация по стандартизации создана в 1946 г. двадцатью пятью национальными организациями по стандартизации. Фактически работа ее началась с 1947 г. СССР был одним из основателей организации, постоянным членом руководящих органов, дважды представитель Госстандарта избирался председателем организации. Россия стала членом ИСО как правопреемник распавшегося государства.

При создании организации и выборе ее названия учитывалась необходимость того, чтобы аббревиатура наименования звучала одинаково на всех языках. Для этого было решено использовать греческое слово isos – равный, вот почему на всех языках мира Международная организация по стандартизации имеет краткое название ISO (ИСО).

Сфера деятельности ИСО касается стандартизации во всех областях, кроме электротехники и электроники, относящихся к компетенции Международной электротехнической комиссии (МЭК). Некоторые виды работ выполняются совместными усилиями этих организаций. Кроме стандартизации ИСО занимается проблемами сертификации.

Основные объекты стандартизации и количество стандартов (в % от общего числа) характеризуют обширный диапазон интересов организации табл. 4.2.1.

Машиностроение

29%

Химия

13%

Неметаллические материалы

12%

Руды и металлы

9%

Информационная техника

8%

Сельское хозяйство

8%

Строительство

4%

Специальная техника

3%

Охрана здоровья и медицина

3%

Основополагающие стандарты

3%

Окружающая среда

3%

Упаковка и транспортировка товаров

2%

Таблица 4.2.1 - % общих интересов организации по отраслям.

Остальные стандарты относятся к здравоохранению и медицине, охране окружающей среды, другим техническим областям. Вопросы информационной технологии, микропроцессорной техники и т.п. - это объекты совместных разработок ИСО/МЭК. В последние годы ИСО уделяет много внимания стандартизации систем обеспечения качества. Практическим результатом усилий в этих направлениях являются разработка и издание международных стандартов. При их разработке ИСО учитывает ожидания всех заинтересованных сторон - производителей продукции (услуг), потребителей, правительственных кругов, научно-технических и общественных организаций.

На сегодняшний день в состав ИСО входят 120 стран своими национальными организациями по стандартизации. Россию представляет Госстандарт РФ в качестве комитета – члена ИСО. Всего в составе ИСО более 80 комитетов-членов. Кроме комитетов-членов членство в ИСО может иметь статус членов-корреспондентов, которыми являются организации по стандартизации развивающихся государств. Категория член-абонент введена для развивающихся стран. Комитеты-члены имеют право принимать участие в работе любого технического комитета ИСО, голосовать по проектам стандартов, избираться в состав Совета ИСО и быть представленными на заседаниях Генеральной ассамблеи. Члены-корреспонденты (их 25) не ведут активной работы в ИСО, но имеют право на получение информации о разрабатываемых стандартах. Члены-абоненты уплачивают льготные взносы, имеют возможность быть в курсе международной стандартизации.

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

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

Организационно в ИСО входят руководящие и рабочие органы (рис. 1). Руководящие органы: Генеральная ассамблея (высший орган), Совет, Техническое руководящее бюро. Рабочие органы — технические Комитеты (ТК), подкомитеты, технические консультативные группы (ТКГ).

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

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

Совету ИСО подчиняется семь комитетов: ПЛАКО (техническое бюро), СТАКО (комитет по изучению научных принципов стандартизации); КАСКО (комитет по оценке соответствия); ИНФКО (комитет по научно-технической информации); ДЕВКО (комитет по оказанию помощи развивающимся странам); КОПОЛКО (комитет по защите интересов потребителей); РЕМКО (комитет по стандартным образцам).

ИСО определяет свои задачи следующим образом:

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

ИСО определила свои задачи до конца столетия, и на начало нового тысячелетия, выделив наиболее актуальные стратегические направления работ:

  1. установление более тесных связей деятельности организации с рынком, что прежде всего должно отражаться на выборе приоритетных разработок;
  2. снижение общих и временных затрат в результате повышения эффективности работы административного аппарата, лучшего использования человеческих ресурсов, оптимизации рабочего процесса, развития информационных технологий и телекоммуникаций;
  3. оказание эффективного содействия Всемирной торговой организации путем внедрения программы, ориентированной на постепенную переработку технических условий на поставку товаров в стандарты ИСО;
  4. стимулирование "самоподдерживающих" элементов указанной выше программы: поощрение создания новых стандартов для промышленности, развитие взаимоотношений с ВТО на условиях оказания необходимой технической помощи. В частности, предполагается всячески способствовать включению требований к поставляемой продукции со стороны государств в международные стандарты ИСО, что должно положительно сказаться на признании оценки соответствия;
  5. забота о повышении качества деятельности по национальной стандартизации в развивающихся странах, где главное внимание уделяется выравниванию уровней стандартизации.

В области информационных технологий интересным новым направлением международной стандартизации является CALS-технология (Continuous Acquisition and Life Cycle Support). Концепция CALS возникла в военно-промышленном комплексе США, затем проникла в гражданскую промышленность и значительно расширилась географически. Идея CALS базировалась на двухуровневой интеграции:

  • процессов (интеграция в рамках согласованного процесса проектирования, разработки, производства, эксплуатации, обслуживания и утилизации);
  • данных (автоматизация и компьютеризация обмена коммерческими и административными данными между партнерами).

Значимость уровней со временем менялась, и к началу 90-х годов CALS стала называться "Поддержкой непрерывных поставок и жизненного цикла изделий". Это значит, что усиливалось внимание к методологии параллельного проектирования и интегрированной логистической поддержки. Позднее CALS превратилась в Commerce At Liqht Speed - "Бизнес в высоком темпе". Этот последний вариант и служит основой для разработки международных стандартов в области информационных технологий для электронной коммерции.

CALS-технологии обусловили возникновение нового понятия - "виртуальное предприятие". По существу, это не оформленное организационно объединение разных компаний, связанных разработкой или реализацией одного проекта. Для них нужны единые правила действий, единый язык, единые нормы. А это решается только путем стандартизации.

Наряду с другими организациями стандартизацией в области CALS-технологии занимается ИСО: приняты международные стандарты ИСО 10303 (STEP), ИСО 13584 и др.

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

4.2 Организация IEEE

Институт инженеров по электротехнике и электронике - IEEE (англ. Institute of Electrical and Electronics Engineers) - международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике и электротехнике.

Эта общественная некоммерческая ассоциация профессионалов появилась в 1963 году, в результате слияния Института радиотехников (англ. Institute of Radio Engineers, IRE) созданном в 1912 году и Американского института инженеров-электриков (англ. American Institute of Electrical Engineers, AIEE) созданном в 1884 году. IEEE объединяет более 400000 индивидуальных членов из 170 стран, в том числе более 100000 студентов, издаёт третью часть мировой технической литературы, касающейся применения радиоэлектроники, компьютеров, систем управления, электротехники, в том числе (январь 2011) 122 реферируемых научных журнала и 36 отраслевых журналов для специалистов, проводит в год более 300 крупных конференций, принимала участие в разработке около 900 действующих стандартов.

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

В России действует Сибирская, Северо-Западная (Санкт-Петербург) и Центральная Российская (Москва) секции. В составе Сибирской секции, занимающей самую большую в мире территорию, находится восемь научных групп различных обществ IEEE и семь студенческих отделений, в составе Российской секции — 15 групп и два студенческих отделения. Общее число членов IEEE по России — примерно 1800 чел., включая студентов. В Сибирской секции работает группа молодых инженеров (GOLD, Graduates of the Last Decade), группа "Женщины в инженерной деятельности" и ассоциация связи с промышленностью. Членство в IEEE очень престижно и доступно каждому. Подробнее об Институте на русском языке можно узнать из материалов сайтов Томской группы IEEE http://ieee.tusur.ru/ru/index.htm и http://chapters.comsoc.org/tomsk

Отдельные типы сетей в настоящее время стандартизованы Институтом Инженеров по Электротехнике и Радиоэлектронике (IEEE - Institute of Electrical and Electronics Engineers). Соответствующие стандарты определяют структуру сетей на физическом и канальном уровне модели OSI. Эти уровни в определенном смысле перекрываются друг с другом, поэтому стандарты описывают как физическую среду передачи данных, так и методы передачи пакетов. Другими словами, вы сможете узнать, как будет вести себя сеть, удовлетворяющая этим стандартам, и как эта сеть должна быть сконструирована для выполнения требуемых задач. Далее приводится обзор некоторых стандартов IEEE, ссылки на которые вы, вероятно, встретите, когда будете иметь дело с организацией сетей. Все эти стандарты начинаются с цифры 802, поскольку за поддержку стандартов в области локальной сети отвечает 802-й комитет IEEE. В 1980 году в институте IEEE был организован "Комитет 802 по стандартизации локальных сетей", в результате работы которого было принято семейство стандартов IEEE 802.х, которые содержат рекомендации для проектирования нижних уровней локальных сетей. Позже результаты его работы легли в основу комплекса международных стандартов ISO 8802-1...5. Эти стандарты были созданы на основе очень распространенных фирменных стандартов сетей Ethernet, ArcNet и Token Ring.

Стандарт 802.2 определяет правила передачи данных на канальном уровне для сетевых топологий, определенных в стандартах 802.3 - 802.5. Они применимы как к сетям Token Ring, так и к Ethernet, и описывают взаимодействие между сетевыми протоколами, например, TCP/IP, и сетями различных типов. Стандарт 802. 2 предусматривает функционирование сетей в режиме без соединения (для протоколов, которые не требуют установления явного соединения) или в режиме, ориентированном на соединение, (т. е. предназначенном для протоколов, требующих явного установления соединения).

В стандарте IEEE канальный уровень разделяется на два подуровня: подуровень связи логических каналов (LLC -- Logical Link Connection), называемый также уровнем соединения канала передачи данных (DLC - Data Link Connection), и на подуровень управления доступом к среде передачи (MAC - Media Access Control). На LLC-уровне обеспечивается управление интерфейсом между всеми сетевыми топологиями и их протоколами передачи данных (сетевого уровня). Для выполнения этой задачи средства LLC-уровня опираются на средства уровня MAC, предоставляющего определенные сведения об адресации информации. Используемый же метод адресации информации определяется типом сети.

Пытаясь разработать стандарт сети, менее склонной к конфликтам, чем не предусмотрено стандартом 802. 3, подкомитет IEEE 802. 4 разработал такое сочетание шинной и кольцевой топологий, которое обеспечивает передачу информации через кольцо, но использует для этого физическую шинную топологию. Стандарт 802. 4 разработан как результат учета того, что компьютеры склонны к тем же недостаткам, что и люди - стоит дать им хоть малейшую возможность, как они начинают перебивать друг друга при разговоре. Рассматривая эту проблему, комитет 802. 4 представил описание эстафеты, которое сеть может использовать для решения вопроса о том, какому компьютеру следует "говорить" в данный момент. Все это содержится в стандарте 802. 4.

Только та рабочая станция, которая владеет эстафетным маркером, может посылать определенную информацию, и после того, как эта рабочая станция получит уведомление о получении этой же информации, она должна передать маркер следующей на линии рабочей станции. Как же сеть определяет, кто находится следующим на линии? Согласно стандарту 802. 4 сеть специальным образом отслеживает, кто следующий должен получить маркер. Подобно тому, как управляющий фирмы имеет большее право голоса, чем лицо, ответственное за убранство офиса, некоторые рабочие станции, могут иметь более высокий приоритет при получении маркера.

Метод разрешения конфликтов не является единственным, тем самым стандарт 802. 4 отличается от стандарта 802. 3 тем, что:

Во-первых, несколько отличается среда передачи данных: в сети Token Bus используется либо коаксиальный кабель с волновым сопротивлением 70 Ом (в отличие от кабеля с волновым сопротивлением 50 Ом в сетях 10Base2), либо оптоволоконный кабель.

Во-вторых, кадр сети Ethernet стандарта 802. 4 отличается от кадра стандарта 802. 3. Он содержит преамбулу, начальный разделитель кадра, управление кадром, адрес назначения, исходный адрес, данные, контрольную последовательность кадра, конечный разделитель кадра.

4.3 Организация W3C

На сегодняшний день существует не малое количество стандартов, как и самих языков программирования. Сообщества стандартизации так же подразделяются по направленности своих действий, к примеру группа W3C (World Wide Web Consortium / Консорциум Всемирной паутины) относится к организации, осуществляющей свою деятельность, только касательно языков WEB-программирования, таких языков как: HTML5, CSS3, JavaScript (EcmaScript) и т.д. Так же, организация разрабатывает основные стандарты многих видов API. Большая часть того, что работает в браузерах или на сайтах, определяется консорциумом. Вступать в него могут и отдельные люди, и организации. В основном, участники и определяют работу W3C. W3C прежде всего выполняет свою миссию при помощи создания веб-стандартов и руководств. С 1994 года W3C опубликовала более девятнадцати таких стандартов, называемых рекомендациями W3C. W3C также занимается обучением и программами помощи нуждающимся, создает программное обеспечение и служит открытым форумом для обсуждения сети. Для того, чтобы сеть достигла своего полного потенциала, многие основные веб-технологии должны сочетаться друг с другом и позволять любому аппаратному и программному обеспечению, используемому для доступа к сети, работать одновременно. W3C обозначает свою цель, как “Возможность взаимодействия сетей.” Путем публикации открытых (не патентованных) стандартов для веб-языков и протоколов W3C старается избежать разделения рынка, и, таким образом, разделения сети.

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

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

Кроме этого, с помощью представительств W3C, а также благодаря усилиям в расширении партнерства, W3C ручается сделать Интернет доступным для большего количества людей по всему миру. Документ Мировое участие в Консорциуме WWW подытоживает усилия в расширении мирового участия в работе W3C и гарантирует, что результаты работы W3C принесут преимущества даже для большего сообщества.

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

Что означает стимулирование доверия для технологии? Платформа для личных прав (ПЛП) была первым важным шагом в построении доверия, позволяя людям все больше осознавать возможность выбора: делиться или не делиться личной информацией в Сети. На основе данного опыта с ПЛП W3C продолжает браться за вопросы, которые поднимаются поставщиками услуг о том, как осуществлять практики секретности, связанные с этими услугами. Организации хотят исполнять свои обещания. W3C таким образом исследует, как тайные метаданные могут использоваться для управления пользовательскими данными со стороны сервера.

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

4.4 Организация WHATAWG

WHATWG (англ. Web Hypertext Application Technology Working Group) — это быстрорастущее сообщество людей, заинтересованных в развитии Интернета. Оно было основано в 2004 году производителями браузеров: Apple, Mozilla Foundation и Opera Software. Основным направлением сообщества является развитие HTML и API, необходимого для веб-приложений. Причина создания подобного сообщества заключается в отсутствии заинтересованности в HTML и явном пренебрежении к реальным потребностям пользователей со стороны W3C, которое уже довольно давно отказалось от HTML в пользу XML. На данный момент идёт разработка HTML5. В январе 2011 года WHATWG приняла решение отказаться от упоминания версии HTML5, заменив её простым названием HTML, по которому стандарт определяется по мере его развития. Из-за перехода поддержки HTML от одной организации W3C к другой WHATWG, а потом обратно, возникла довольно необычайная ситуация. С технической точки зрения организация W3C отвечала за определение, что именно является официальным HTML5, а что наоборот. И в то же самое время группа WHATWG не прекращала свою работу, разрабатывая и придумывая всё новые возможности языка. На сегодняшний день она предпочитает называть его не HTML5, а просто HTML, объясняя это тем, что HTML будет продолжать и в будущем в качестве «живого» языка.

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

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

WHATAWG это яркий пример, когда целенаправленное изучение одного языка способно улучшить сам язык до максимально приближённого уровня к живому и совершенному.

ЗАКЛЮЧЕНИЕ

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

Так же к недостаткам можно присвоить работу над огромными базами информации, компиляторами, их огромное количество для отдельно взятого языка программирования, поддерживающих те или иные версии изменений. Это имело огромное значение в 50-60-ых годах, когда отдельно взятый язык необходимо было «подстраивать» под определённую конфигурацию ламповых компьютеров, и наоборот, при чём процесс подстройки был весьма затруднителен, по причине сложной схемы ЭВМ, состоящих из реле, ламп, и прочих радиодеталей, изменение которых производилось по принципу выпаивания. На сегодняшний день эта проблема исчерпала себя, в виду однородной и стандартной комплектации ПК.

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

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

- отделить семантику каждой языковой конструкции (т. е. то, что она делает) от синтаксиса и лексики (т. е. от того, как она выглядит).

- разработать единые правила описания семантики языка программирования (подобно тому, как с помощью БНФ описываются синтаксис и лексика языка).

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

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

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

В последние годы в области создания языков программирования наблюдается некоторый застой. Возможно, это затишье перед бурей. Стремительное развитие компьютерной индустрии не может не поставить перед создателями «средств производства» программ (компиляторов) новые задачи. Компиляторы должны стать «адекватны» эпохе визуального программирования и Internet. Унификация языков программирования и создание общепринятой семантической базы — необходимое условие продолжения прогресса в этой области ПО и в конечном итоге всей компьютерной индустрии в целом.

Электронные ресурсы

[1] Материал из энциклопедии «Академик» — свободной энциклопедии «Язык программирования» // Статьи и материалы. Статья-справочник: [Электронный ресурс]: текст в формате word// - url:

https://dic.academic.ru/dic.nsf/ruwiki/1465 (дата обращения: 12.03.2019).

[2] Материал из энциклопедии «Академик» — свободной энциклопедии «PC (Персональный Компьютер) – это…» // Статьи и материалы. Статья-справочник: [Электронный ресурс]: текст в формате word// - url:

https://dic.academic.ru/dic.nsf/es/28290/КОМПЬЮТЕР (дата обращения: 12.03.2019).

[3] Материал из энциклопедии «Академик» — свободной энциклопедии «система программирования» // Статьи и материалы. Статья-справочник: [Электронный ресурс]: текст в формате word// - url:

https://dic.academic.ru/dic.nsf/fin_enc/29208 (дата обращения: 12.03.2019).

[4] Материал из энциклопедии «Википедия» — свободной энциклопедии «Язык программирования Рефал» // Статья-справочник. Автор: Валентин Турчин: [Электронный ресурс]: текст в формате word// - url:

https://ru.wikipedia.org/wiki/рефал (дата обращения: 12.03.2019).

[5] Материал из энциклопедии «Википедия» — свободной энциклопедии. «Международная электротехническая комиссия» // Статьи и материалы. Статья-справочник: [Электронный ресурс]: текст в формате word // - url:

https://ru.wikipedia.org/wiki/Международная_электротехническая_комиссия (дата обращения: 12.03.2019).

[6] Материал из энциклопедии «Википедия» — свободной энциклопедии. «Международный электротехнический словарь» // Статьи и материалы. англ. Статья-справочник: [Электронный ресурс]: текст в формате word // - url:

https://en.wikipedia.org/wiki/International_Electrotechnical_Vocabulary (дата обращения: 12.03.2019).

[7] Официальный сайт «Американского Национального Института Стандартов» // Сайт-портал. пер. с англ.: [Электронный ресурс]: текст в формате word // - url:

https://www.ansi.org/about_ansi/introduction/introduction?menuid=1 (дата обращения: 12.03.2019).

[8] Материал из Национальной библиотеки им. Н. Э. Баумана — свободной энциклопедии. «ISO (International Organization for Standardization)» // Статьи и материалы. Статья-справочник: [Электронный ресурс]: текст в формате word // - url:

https://ru.bmstu.wiki/ISO_(International_Organization_for_Standardization) (дата обращения: 12.03.2019).

[9] Официальный сайт «Института инженеров по электротехнике и электронике» // Сайт-портал пер. с англ.: [Электронный ресурс]: текст в формате word // - url:

https://www.ieee.org/about/organization/index.html (дата обращения: 12.03.2019).

[10] Официальный сайт «Консорциума Всемирной Паутины» // Сайт-портал. Пер. с англ.: [Электронный ресурс]: текст в формате word // - url:

https://www.w3.org/ (дата обращения: 12.03.2019).

[11] Официальный сайт «Рабочей группе по вебу, гипертексту, приложениям и технологиям» // Сайт-портал. пер. с англ.: [Электронный ресурс]: текст в формате word // - url:

https://whatwg.org/ (дата обращения: 12.03.2019).