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

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

Содержание:

Введение.

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

Стандарты языков программирования:
1. Частный стандарт
Определяется командой разработчиков языков программирования и имеет авторские права.

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

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

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

Международные стандарты языка являются результатом совместной деятельности экспертов многих стран. Ответственным за стандартизацию языков программирования на международном уровне является подкомитет 22 (SC22), входящий в состав Объединенного технического комитета (JTC1), Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC).

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

Международная организация по стандартизации (International Organization for Standardization – ISO) является всемирным объединением национальных органов по стандартизации(организаций– членов ISO). Подготовка международных стандартов обычно ведется в соответствующих технических комитетах ISO. Каждая организация– член ISO имеет право быть представленной в тех технических комитетах, тематика которых соответствует ее интересам. В этой работе также принимают участие международные организации– как правительственные, так и неправительственные. ISO, например, тесно сотрудничает с Международной электротехнической комиссией (International Electrotechnical Commission, IEC) по всем вопросам стандартизации в области электротехники. Одобренные техническими комитетами проекты стандартов рассылаются организациям– членам ISO, и проводится голосование. Для публикации в качестве международного стандарта проект должен быть одобрен не менее чем75% организаций– членов ISO, принявших участие в голосовании.

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

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

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

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

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

Глава 1. Международные и отечественные стандарты языков программирования.

1.1 Международная стандартизация.

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

Цели международной стандартизации:

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

-обеспечение взаимозаменяемости элементов сложной продукции;

-содействие международной торговле;

-содействие взаимному обмену научно-технической информацией и ускорение научно-технического прогресса.

В области программирования общепризнанной ведущей организацией по разработке стандартов является институт ANSI (Американский национальный институт стандартов), IEEE (международная некоммерческая ассоциация специалистов в области техники), ISO (Организация международных стандартов (International Organization for Standardization)).

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

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

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

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

1.2. Международные организации по стандартизации.

Международная организация стандартизации (ISO).

Международная организация ISO начала функционировать 23 февраля 1947 г. как добровольная, неправительственная организация. Она была учреждена на основе достигнутого на совещании в Лондоне в 1946 г. соглашения между представителями 25-ти индустриально развитых стран о создании организации, обладающей полномочиями координировать на международном уровне разработку различных промышленных стандартов и осуществлять процедуру принятия их в качестве международных стандартов.

Международная организация по стандартизации создана в 1946 году двадцатью пятью национальными организациями по стандартизации, на основе двух организаций: ISA (International Federation of the National Standardizing Associations), учреждённой в Нью-Йорке в 1926 году (расформирована в 1942) и UNSCC (United Nations Standards Coordinating Committee), учреждённой в1944 году. Фактически её работа началась с1947 года в СССР был одним из основателей организации, постоянным членом руководящих органов, дважды представитель Госстандарта избирался председателем организации. Россия стала членом ИСО как правопреемник СССР. 23 сентября 2005 года Россия вошла в Совет ИСО.

При создании организации и выборе её названия учитывалась необходимость того, чтобы аббревиатура наименования звучала одинаково на всех языках. Для этого было решено использовать греческое слово ισος — равный, вот почему на всех языках мира Международная организация по стандартизации имеет краткое название «ИСО».

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

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

Официальными языками являются: английский, французский и русский.

Международная электротехническая комиссия (IEC).

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

Язык оригинала стандартов МЭК - английский.

Международный Союз Электросвязи (ITU)

ITU — международная межправительственная организация в области стандартизации электросвязи. Организация объединяет более 500 правительственных и неправительственных организаций. В ее состав входят телефонные, телекоммуникационные и почтовые министерства, ведомства и агентства разных стран, а также организации-поставщики оборудования для обеспечения телекоммуникационного сервиса. Основная задача ITU состоит в координации разработки гармонизированных на международном уровне правил и рекомендаций, предназначенных для построения и использования глобальных телесетей и их сервисов. В 1947 г. ITU получила статус специализированного агентства Организации Объединенных Наций (ООН).

Европейская экон

ГОСТ 28397-89

Языки программирования. Термины и определения.

омическая комиссия ООН (ЕЭК ООН)

Европейская экономическая комиссия ООН (ЕЭК ООН) — орган Экономического и социального совета ООН (ЭКОСОС), создана в 1947 г.

Всемирная торговая организация (ВТО)

Всемирная торговая организация (ВТО) образована в 1995 г. на базе генерального соглашения по тарифам и торговле.

1.3. Отечественные стандарты языков программирования.

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

ГОСТ 27831-88
Язык программирования АДА.

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

ГОСТ 21551-76
Язык программирования АЛГАМС.

Устанавливает описание языка программирования АЛГАМС, предназначенного для автоматизации программирования при решении научных и инженерно-технических задач, а также для обмена алгоритмами.

ГОСТ 27975-88
Язык программирования АЛГОЛ 68 расширенный.

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

ГОСТ 23056-78
Язык программирования Фортран.

Распространяется на язык программирования ФОРТРАН.

ГОСТ 23057-78
Язык программирования Базисный Фортран.

Распространяется на язык программирования Базисный Фортран.

ГОСТ 27974-88
Язык программирования АЛГОЛ 68.

Распространяется на язык программирования Алгол 68 и его варианты и устанавливает требования:
к программе на языке программирования Алгол 68, представленной на машинном носителе или в комплекте программной документации;
к реализациям языка программирования Алгол 68 и его вариантов, используемым при создании или эксплуатации программных средств, в части выполнения программ на языке Алгол 68.

ГОСТ 27787-88
Язык программирования БЕЙСИК.

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

1.4. Пять языков программирования стандарта МЭК 6-1131/3.

TRACE MODE® 6 предоставляет широкий набор средств программирования задач

АСУТП и бизнес-приложений (АСУП), ориентированный на специалистов разной квалификации и профессиональной подготовки. В систему TRACE MODE® 6 включены 5 языков программирования – Techno SFC, Techno LD, Techno FBD, Techno ST, и Techno IL. Данные языки являются расширением языков

-SFC (Sequential Function Chart),

-LD (Ladder Diagram),

-FBD (Function Block Diagram),

-ST (Structured Text) и

-IL (Instruction List)

Международного стандарта МЭК 6-1131/3. Данный стандарт разрабатывается с 1993 года Международной Электротехнической Комиссией (IEC) и давно признан как в Европе и в США, так и во всем мире ведущими производителями средств автоматизации.

Языки программирования TRACE MODE® 6 стандарта МЭК 6-1131/3 включают в себя 3 визуальных языка (FBD, SFC, LD), ориентированных на инженеров и бизнес-аналитиков и 2 текстовых (ST, IL), ориентированных на программистов. С помощью языков IEC 61131-3 TRACE MODE® 6 одинаково комфортно программируются и контроллеры, и алгоритмы человеко-машинного интерфейса (HMI) и задачи EAM и MES.

Языки МЭК 6-1131/3 TRACE MODE® 6 сочетают в себе достаточную функциональность, простоту и предохраняют пользователя TRACE MODE® 6 от большинства ошибок, которые нередко возникают при использовании обычных языков программирования. Реализация МЭК 6-1131/3 в интегрированной SCADA/SOFLOGIC/MES/EAM/HRM системе TRACE MODE® 6 не только полностью удовлетворяет требованиям стандарта, но и предоставляет пользователю дополнительный сервис в виде расширенного набора библиотек функциональных блоков, реализующих типовые алгоритмы управления.

Для всех 5 языков существует единый механизм связи с базой данных реального времени TRACE MODE® 6. Каждая программа обладает набором аргументов, исходные данные передаются в программу через входные аргументы, а результаты вычислений возвращаются в выходных аргументах. Аргументы связываются с атрибутами каналов TRACE MODE 6, т.е. с реальными входами и выходами контроллеров и УСО, ячейками корпоративных баз данных, либо с внутренними переменными. Таким образом, одна и та же программа может вызываться несколько раз за цикл для обработки разных потоков данных.

Программирование и отладка программ на языках МЭК 6-1131/3 в TRACE MODE 6 производится в интегрированной среде разработки, включающей в себя несколько различных редакторов. Программы на языках Techno FBD, Techno LD и Techno SFC создаются и отлаживаются в специальных визуальных редакторах, а Techno ST и Techno IL представляют собой более традиционные языки, программирование на которых осуществляется в текстовом редакторе. Несмотря на различия, программы на разных языках стандарта МЭК 6-1131/3 в TRACE MODE® 6 могут взаимодействовать между собой. Например, программа на Techno FBD может вызывать функциональный блок, написанный на языке Techno ST, а внутри этого блока может вызываться подпрограмма на Techno LD и т.д. Такая гибкость в выборе средств описания алгоритмов позволяет эффективно работать над одной задачей и программисту, и технологу, и инженеру-наладчику и бизнес-консультанту, когда каждый из них выполняет свою часть работы удобным ему способом.

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

2.1. Международные стандарты языка Фортран.

С момента создания первой системы Fortran было принято три стандарта ANSI/ISO языка — FORTRAN 66, FORTRAN 77 и Fortran 90.

Большинство российских программистов со стажем знакомо именно со стандартом FORTRAN 77. Однако после его принятия вышло довольно много редакций Fortran, каждая из которых обладала собственным набором расширений языка. В 1992 г. был принят новый стандарт — Fortran 90, в который вошли многие расширения спецификации FORTRAN 77, реализованные в наиболее распространенных сегодня системах разработки. За счет этого обеспечивается более высокий уровень совместимости между различными платформами.

По устоявшейся традиции новый стандарт гарантирует полную совместимость с предыдущими. Вместе с тем он включает практически все атрибуты современного языка программирования; многие из его новых конструкций имеют прямые аналоги в других языках (C/C++, Pascal, Basic). Одновременно нужно отметить, что Fortran именно "догоняет" своих более современных собратьев, реализуя уже довольно известные языковые возможности. В качестве оригинальных возможностей Fortran можно отметить только матричные операции.

Следует подчеркнуть, что современные компиляторы Fortran 90 не гарантируют получения более быстрого исполняемого кода по сравнению с компиляторами стандарта FORTRAN 77 (противоречие между сложностью языковых конструкции и оптимизацией результирующего кода уже отмечалось ранее). Наверное, именно поэтому в некоторых системах, например Microsoft PowerStation, фактически реализованы два варианта компилятора для обоих стандартов.

С внешней стороны наиболее заметным новшеством является "свободная форма" исходного текста, дополненная другими полезными элементами оформления программы. В логических операторах можно использовать привычные математические знаки вместо неудобных символьных обозначений (например, ">" вместо ".gt."). Появление целого ряда операторов, управляющих логикой работы программы (DO, SELECT CASE, CYCLE, EXIT), упрощает процесс разработки и делает исходный текст более понятным. Кроме того, в новый стандарт языка вошла возможность устанавливать режим обязательного описания переменных (оператор implicit).

Значительную часть новшеств Fortran 90 составляют расширенные возможности операций с матрицами (массивами), которые теперь могут использоваться в выражениях как простые переменные. Так, чтобы умножить все элементы матрицы a(3,2) на 2, достаточно написать: a = a*2. Кроме обычных арифметических функций, реализованы также и специальные операции над матрицами, в частности умножения и транспонирования, а также выборки подмножества матрицы. Наличие подобных операций не только упрощает код программы, но и повышает скорость ее выполнения. Здесь наряду с привычной оптимизацией машинного кода возможен дополнительный выигрыш за счет распараллеливания матричных операций еще на уровне компилятора.

Новый вариант описания типа (например, integer(4) вместо INTEGER*4) позволяет использовать переменную для указания числа резервируемых байтов. Наряду с поддержкой специальных функций идентификации чисел (Numeric Inquiry Functions), это упрощает проблему совместимости компьютеров различных архитектур, в частности машин Cray и PC, использующих разные принципы хранения данных.

В Fortran 90 наконец-то стали поддерживаться структуры данных, получивших название Derived Type (производный тип), который является аналогом структур C или записей Pascal.

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

Предыдущие стандарты Fortran допускали использование только статических данных, так что, например, при решении двумерных задач моделирования конечно-разностными методами приходилось описывать размеры массивов (в программе их могло быть до нескольких десятков) непосредственно в коде программы: DD(50,50). В результате для определенных размеров модели (скажем, 60 на 30 узлов) задача оказывалась неразрешимой, при том что реальные требования к объему памяти были ниже.

В новом стандарте реализован также механизм специальных указателей (pointers), которые можно динамически связывать с простыми переменными и элементами массивов (только статических).

Большое развитие получил аппарат управления межпроцедурным взаимодействием внутри программы. Благодаря ему теперь можно управлять процедурным интерфейсом (конструкция INTERFACE), что решает многие проблемы при смешанном программировании. Эта конструкция, среди прочих возможностей, позволяет заменить имя функции (например, когда имя вызываемой внешней функции является недопустимым с точки зрения синтаксиса Fortran), а также создать так называемый "обобщенный интерфейс", когда имя вызываемой функции выбирается компилятором автоматически на основе типов передаваемых параметров.

В новом стандарте появилась конструкция "модуль" (Module), почти такая же, как в MS Basic. Основной ее смысл заключается в объединении в рамках одного модуля процедур, имеющих общие внутренние переменные. Помимо этого, реализована возможность использования внутренних процедур (Internal Procedure) подобно тому, как это делается в Pascal.

Для удобства работы с процедурами модуля из других частей программы можно использовать оператор USE, который делает все описания данных и процедур модуля доступными данной программе. Но при написании модуля программист может определить, какие из процедур будут доступны извне (Public), а какие — нет (Private).

Это, конечно же, далеко не все новшества стандарта Fortran 90. Но главный вывод очевиден: современный Fortran — совсем не то, что помнят многие из нас.

Возвращаясь к вопросу об особом интересе, который может представлять Fortran для российских разработчиков, следует вспомнить, что еще недавно это был один из самых популярных языков программирования в нашей стране. В России имеется огромное число наработок с его применением, причем именно в области математических расчетов, где отечественные ученые всегда занимали передовые позиции. Вот почему шансы российских программистов в этом секторе разработок могут быть достаточно высоки. Так что некоторым специалистам, вероятно, стоит призадуматься над лозунгом: "Назад к Fortran!".

Стандартизацией языка Фортран занимаются Американский технический комитет NCITS/J3 и эксперты рабочей группы WG5 (указанного подкомитета). Членами WG5 являются специалисты многих стран, в т.ч. и нашей страны. В их числе представители компьютерных фирм, крупных университетов. Многие из тех, кто ответствен за разработку коммерческих Фортран-компиляторов, являются членами J3 и/или WG5.

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

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

Кроме того, разрабатываются Технические отчеты (TR), которые позволяют стандартизировать некоторые новые черты, не дожидаясь завершения разработки будущего стандарта. Так, TR 15880и TR 15881 рассматривались как расширения Фортрана 95, затем описанные в них средства вошли в Фортран 2003. В настоящее время рассматриваются два Технических отчета:

  • Technical Report (Type 2) on Enhanced Module Facilities, ISO/IEC 19767: 2005(E) - расширение Фортрана 2003;
  • Technical Report (Type 2) on Further Interoperability of Fortran with C, work in progress.

Фортран — жёстко стандартизированный язык, именно поэтому он легко
переносится на различные платформы. Существует несколько международных
стандартов языка:
-FORTRAN IV (позже положенный в основу FORTRAN 66 (1966))
-FORTRAN 77 (1978) -множество улучшений: строковый тип данных и функции для его обработки, блочные операторы IF, ELSE IF, ELSE, END IF, оператор включения
фрагмента программы INCLUDE и т. д.
-Fortran 90 (1991) -значительно переработан стандарт языка. Введён свободный формат
написания кода. Появились дополнительные описания IMPLICIT NONE, TYPE,
ALLOCATABLE, POINTER, TARGET, NAMELIST; управляющие конструкции DO …
END DO, DO WHILE, CYCLE, SELECT CASE, WHERE; работа с динамической
памятью (ALLOCATE, DEALLOCATE, NULLIFY); программные компоненты MODULE,
PRIVATE, PUBLIC, CONTAINS, INTERFACE, USE, INTENT. Появились новые
встроенные функции, в первую очередь, для работы с массивами

-в языке появились элементы ООП
-отдельно объявлен список устаревших черт языка, предназначенных для удаления в будущем

-Fortran 95 (1997) коррекция предыдущего стандарта
-Fortran 2003 (2004)-дальнейшее развитие поддержки ООП в языке. Взаимодействие с операционной системой

Фортран в СССР появился позже, чем на Западе, поскольку поначалу у нас более перспективным языком считался Алгол.
Во внедрении Фортрана большую роль сыграло общение советских физиков со
своими коллегами из CERN, где в 1960-х годах почти все расчёты велись с
использованием программ на Фортране.

Первый советский компилятор с Фортрана был создан в 1967 г. для
машины «Минск-2», однако он не получил большой известности. Широкое
внедрение Фортрана началось после создания в 1968 г. компилятора
ФОРТРАН-ДУБНА для машины БЭСМ-6. Машины ЕС ЭВМ, появившиеся в 1972 г.,
уже изначально имели транслятор Фортрана («позаимствованный» с IBM/360
вместе с другим программным обеспечением).

2.2. Развитие и стандартизация языка С++.

C++ — компилируемый, статически типизированный язык программирования общего назначения.

Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования[2].

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.

В 1985 году вышло первое издание «Языка программирования C++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 году состоялся выход C++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены. В 1990 году вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.

Стандартная библиотека C++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке C++ стали потоки ввода-вывода, обеспечивающие средства для замены традиционных функций C printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

В 1998 году был опубликован стандарт языка ISO/IEC 14882:1998 (известный как C++98), разработанный комитетом по стандартизации C++ (ISO/IEC JTC1/SC22/WG21 working group). Стандарт C++ не описывает способы именования объектов, некоторые детали обработки исключений и другие возможности, связанные с деталями реализации, что делает несовместимым объектный код, созданный различными компиляторами. Однако для этого третьими лицами создано множество стандартов для конкретных архитектур и операционных систем.

В 2003 году был опубликован стандарт языка ISO/IEC 14882:2003, где были исправлены выявленные ошибки и недочёты предыдущей версии стандарта.

В 2005 году был выпущен отчёт Library Technical Report 1 (кратко называемый TR1). Не являясь официально частью стандарта, отчёт описывает расширения стандартной библиотеки, которые, как ожидалось авторами, должны быть включены в следующую версию языка C++. Степень поддержки TR1 улучшается почти во всех поддерживаемых компиляторах языка C++.

С 2009 года велась работа по обновлению предыдущего стандарта, предварительной версией нового стандарта сперва был C++09, а спустя год C++0x, сегодня — C++11, куда были включены дополнения в ядро языка и расширение стандартной библиотеки, в том числе большую часть TR1.

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

Никто не обладает правами на язык C++, он является свободным. Однако сам документ стандарта языка (за исключением черновиков) не доступен бесплатно. В рамках процесса стандартизации, ISO выпускает несколько видов изданий. В частности, технические доклады и технические характеристики публикуются, когда "видно будущее, но нет немедленной возможности соглашения для публикации международного стандарта." До 2011 года не было опубликовано три технических отчета по C++: TR 19768: 2007 (также известный как C++, Технический отчет 1) для расширений библиотеки в основном интегрирован в C++11, TR 29124: 2010 для специальных математических функций, и TR 24733: 2011 для десятичной арифметики с плавающей точкой. Техническая спецификация DTS 18822:. 2 014 (по файловой системой) была утверждена в начале 2015 года, и остальные технические характеристики находятся в стадии разработки и ожидают одобрения [8]

Глава 3. Порядок применения международных и отечественных стандартов, сходства и отличия стандартов.

3.1. Общие нормы.

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

Стандартизацию проводят органы стандартизации, наделенные законным правом руководить разработкой и утверждать нормативные документы и другие правила, придавая им статус стандартов. В России компетентными органами в области стандартизации являются Госстандарт России и ГосСтрой. Основополагающим нормативным документом по стандартизации ГОССТАНДАРТа России установлена «Государственная система стандартизации» (ГСС).Комплекс стандартов ГСС РФ (ГОСТ Р1.0, ГОСТ Р1.1, ГОСТ Р1.2 и др.) представляют собой систему взаимосвязанных правил и положений, определяющих цели и задачи стандартизации, организацию и методику проведения работ по стандартизации во всех производственных отраслях России.

3.2. Общие нормы международных стандартов.

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

Руководство ИСО/МЭК 21:2004 предусматривает прямое и косвенное применение международного стандарта.

  1. Прямое применение - это применение международного стандарта независимо от его принятия в любом другом нормативном документе.
  2. Косвенное применение - применение международного стандарта посредством другого нормативного документа, в котором этот стандарт был принят.

Руководство ИСО/МЭК 21 устанавливает систему классификации для принятых и адаптированных международных стандартов

-Идентичные (IDT): Идентичные по техническим содержанию и структуре, но могут содержать минимальные редакционные изменения.

-Измененные (MOD): Принятые стандарты содержат технические отклонения, которые ясно идентифицированы и объяснены.

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

3.3. Нормы Государственной системы стандартизации России.

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

ГСС России допускает следующие варианты правил применения международных и региональных стандартов:

-принятие аутентичного текста международного (регионального) стандарта в качестве государственного российского нормативного документа (ГОСТ Р) без каких-либо дополнений и изменений (метод обложки). Обозначается такой стандарт так, как это принято для отечественного стандарта;

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

При обозначении такого нормативного документа к шифру отечественного стандарта добавляется номер соответствующего международного (регионального).

Международные, региональные стандарты, документы ЕЭК ООН и других международных, региональных организаций и национальные стандарты других стран могут применяться в качестве стандартов отраслей, стандартов предприятий и стандартов научно-технических, инженерных обществ и других общественных объединений до их принятия в качестве государственных стандартов Российской Федерации.

Возможны и другие варианты: использование (заимствование) отдельных положений (норм) международного стандарта и введение их в российский нормативный документ. Это вполне допустимо правилами ГСС РФ, но в подобных случаях международный (региональный) стандарт рассматривается лишь как источник информации, учитываемой при создании отечественного стандарта. Последний не считается формой принятия международного (регионального) стандарта. Подобное толкование применимо и к ГОСТ Р, который содержит ссылку на международный (региональный) стандарт.

Заключение.


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

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

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

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

К сожалению, современные технологии преимущественно имеют англоязычное происхождение, что делает современный сектор программирования, зависим от зарубежных стандартов и моделей. Вместе с тем, следует уделить внимание немаловажному факту: языки программирования, основанные на русском языке, практически не распространены ни в России, ни за рубежом. Исключение составляет встроенный язык 1С: Предприятие, обслуживающий огромный сектор потребителей – множество компаний, которые ведут бухгалтерский учет в соответствии с нормами Российскими стандартами бухгалтерского учета. Подавляющее же большинство программного обеспечения, создаваемого сегодня в Российской Федерации, пишется на таких популярных языках программирования, как С++, Java, PHP и другие. Современная Платформа "1С: Предприятие" предоставляет разнообразные средства для обмена данными и интеграции прикладных решений. Она позволяет создавать, обрабатывать и обмениваться данными различных форматов. Важно, что данная система способна поддерживать различные протоколы обмена, поддерживать стандарты взаимодействия с другими подсистемами и разрабатывать собственные Интернет-решения. Что делает данную платформу не зависимой от конфигурации и модификации технической составляющей. Решения построены на основе российских и международных стандартов и протоколов электронного обмена данными.

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

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

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

Список литературы.

1. Апокин И.А. Развитие вычислительной техники и систем на ее основе // Ново-

сти искусственного интеллекта, №1, 2004.

2. Ваулин А.С.,“Языки программирования” кн.5, 1993 г.;

3.  Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфо Р, 2001. — 276 с. — ISBN 5-89158-079-9

4. Исаенко Л. С. «Метрология стандартизация и сертификация» Учебник-Москва,2005 2) Крылова Г.Д. Основы стандартизации, сертификации, метрологии: Учебник для вузов. – М.: Аудит, ЮНИТИ, 1998. – 479 с. 3) Г. Д. Крылова «Основы стандартизации, сертификации и метрологии» Учебник-Москва, 2003 4) В. А. Швандар «Стандартизация и управление качеством» Учебник– Санкт-Петербург,2000

5. Касвандс Э.Г.; “Введение в программирование на языке Ассемблер” ч.1,

6. Керниган Б.В., Д. Ритчи, А. Фьюэр “Язык программирования Си.”  Русский перевод: Москва: Финансы и Статистика. 1985 г.;

7.  Малютин Э.А., Малютина Л.В., 1982 г.;“Языки программирования”,

8. Нестеров И.А., Ефремов М.А. Использование языка программирования «1С» в

обучении и разработке. – М.: Московская финансово-промышленная академия, 2011.

9. Поспелов Д.А. Становление информатики в России. – Новосибирск: Научно-

издательский центр ОИГГМ СО РАН, 2008.

10.  Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с. — 5000 экз. — ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)
11. Терехов А. Российская индустрия программирования // «Открытые системы»,№ 03, 2002.

12. Официальный сайт Федеральной службы государственной статистики РФ

[электронный ресурс] // URL:

http://www.gks.ru/wps/wcm/connect/rosstat/rosstatsite/main/population/education/#.

13. Официальный сайт издательства «Открытые системы» [электронный ресурс]

// URL: http://www.osp.ru/os/#/home .