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

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

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

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

Добавлен: 01.04.2023

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

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

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

С внешней стороны наиболее заметным новшеством является "свободная форма" исходного текста, дополненная другими полезными элементами оформления программы. В логических операторах можно использовать привычные математические знаки вместо неудобных символьных обозначений (например, ">" вместо ".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
вместе с другим программным обеспечением).


ЗАКЛЮЧЕНИЕ

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

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

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

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

В работе выполнены задачи:

– выполнен анализ литературных источников по теории языков программирования;

– дана характеристика классификации языков программирования;

– рассмотрены типы языков программирования;

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Аммерааль Л. Языки программирования: Пер. с англ. — М.: ДМК, 2016. — 240 с.
  2. Бочков С. О. Язык программирования Си для персонального компьютера. — М.: Радио и связь, 2016. — 384 с.
  3. Бобровский С. Программирование в среде Borland C++ Builder М.: ИНФРА-М, 2015.–251 c.
  4. Бруно Бабэ. Просто и ясно о программировании: Пер. с англ. - Москва: БИНОМ, 2014. – 400с.
  5. Джосьютис Н. М. Стандартная библиотека. Для профессионалов: Пер. с англ. — СПб.: Питер, 2014. — 730 с.
  6. Керниган Б. В. Технологии программирования: Пер. с англ. — 3-е изд. — СПб.: Невский Диалект, 2014. — 352 с.
  7. Липпман С. Б. Проектирование программных продуктов: Пер. с англ. — М.: Вильямс, 2012. — 256 с.
  8. Липпман С. Б. Качество ПО. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2014. — 1104 с.
  9. Лишнер Р. STL. Карманный справочник. Языки программирования: Пер. с англ. — СПб.: Питер, 2015. — 187 с.
  10. Мейерс С. Эффективное использование языков программирования: Пер. с англ. — СПб.: Питер, 2015. — 224 с.
  11. Оллисон Ч. Философия программирования. Практическое программирование. С.Петербург 2014. – 608 с.:ил.
  12. Послед Б.С. Разработка приложений. М.: 2015г. -360 г.