Файл: Международные и отечественные стандарты языков программирования. Сходство и отличия стандартов (Основные международные стандарты и их сопоставление с ГОСТ РФ).pdf
Добавлен: 12.03.2024
Просмотров: 15
Скачиваний: 0
2.3. Некоторые особенности развития языков программирования
Стандарты в сфере языков программирования непрерывно и значительно чаще чем 1 раз в 5 лет, например стандарт Java, меняются из-за необходимости постоянного внесения в них патчей и усовершенствований и появления новых языков, основанных на предыдущих. Стандарты, в первую очередь, призваны обеспечить кроссплатформенность языка программирования.
К одной из трендов развития стандартизации языков программирования стоит отнести обозначение особенностей, общих для всех языков и их последующую стандартизацию.
Рис. Схема возможного объединения языков программирования
Чтобы показать различия в синтаксисе нескольких языков высокого уровня, далее приведены несколько примеров:
Dart
Простое приложение, выводящее надпись Hello, world!:
main() {
print('Hello World!');
}
Функция для расчета n-го числа Фибоначчи:
int fib(int n) {
return (n <= 2) ? 1 : (fib(n - 1) + fib(n - 2));
}
main() {
print('fib(20) = ${fib(20)}');
}
Java Script
<body>
<p>Перед скриптом...</p>
<script>
alert( 'Привет, мир!' );
</script>
<p>...После скрипта.</p>
числа Фибоначчи:
function fib(n) {
let a = 1;
let b = 1;
for (let i = 3; i <= n; i++) {
let c = a + b;
a = b;
b = c;
}
return b;
}
alert( fib(3) ); // 2
alert( fib(7) ); // 13
alert( fib(77) ); // 5527939700884757
«Область пересечения», цикл с параметром
Цикл с параметром присутствует в любом языке программирования. Исторически это наиболее «старый» из операторов цикла — он существовал уже в ранних версиях Фортрана. Несмотря на огромное количество вариантов, он до сих пор сохранил свои основные черты. В нем имеется переменная-параметр (как правило, целого типа; в Паскале, Модуле 2 и современных версиях Си допустимо использовать переменную скалярного типа), которая пробегает значения от начального до конечного с шагом 1 или более.
В языках, созданных под влиянием Паскаля (Модула 2, Ада), параметр цикла может изменяться только с шагом 1. В Си-подобных языках семантика цикла с параметром допускает не только любой шаг переменной, но и вообще любой оператор, произвольно изменяющий значение параметра. Кроме того, условие окончания цикла в Си может быть любым логическим выражением (а не только достижением переменной порогового значения). Иными словами, цикл с параметром в Си может вообще не содержать параметра (в этом случае он становится аналогом цикла while). Ниже приведены примеры одного и того же цикла:
Паскаль: for i:=0 to max do inc(j);
Си, Си++, Java: for(i=0; i<=max; i++) j++;
Модула 2: for i:=0 to max do inc(j) end;
В данном случае граница между «областью пересечения» и «областью объединения» языка программирования может проходить внутри самой конструкции. Так, циклы с параметром из Си, имеющие целочисленный параметр и шаг 1, принадлежат к «области пересечения», а все другие варианты — к «области объединения».
Заключение
Рассмотрев основные стандарты, относящиеся к языкам программирования, их сходства и различия можно сделать следующие выводы:
- Разработка стандартов программирования, как в СССР, так и за рубежом активно началась через 10-15 лет после создания первых языков программирования, т. е. в конце 60х годов.
- Часть языков разрабатывалась без составления каких-либо стандартов, которые были разработаны примерно через 10 лет после создания таких программ.
- В настоящее время в системе российских и международных стандартов прослеживается тенденция к унификации, при этом в стандартах РФ отмечается следование структуре разделов, которая была разработана Госстандартом и применялась несколько десятилетий. При этом международные спецификации часто рассматриваются в РФ как ГОСТ/стандарты.
- Как одно из направлений развития стандартизации ПО можно отметить унификацию/поиск общих особенностей языков программирования с их последующей стандартизацией.
Список использованной литературы
1. C ++,TurboPasckal,QBasik:Эволюция языков программирования http://langprog.far.ru/historylangprog.html. -27.05.10.
2. Информатика/Курносов А.П., Кулев С.А., Улезько А.В. и др.; Под ред. А.П. Курносова.-М.: КолосС, 2005.-272 с
3. Макарова Н.В. Информатика /под ред. Проф. Н.В. Макаровой. — М.: Финансы и статистика, 1997. — 768 с.: ил.
4. Малышев Р.А. Локальные вычислительные сети: Учебное пособие/ РГАТА. – Рыбинск, 2005. – 83 с.
5. Островский В.А. Информатика: учеб. для вузов. М.: Высшая школа, 2000. —511 с.: ил.
6. Семакин И.А., Информатика: Базовый курс /Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. – 105с.
7. Симонович С.В.Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил.
ГОСТы и справочники:
- ГОСТ Р ИСО/МЭК 12207:2000. Информационная технология. Процессы жизненного цикла программного обеспечения.
- Базовые российские стандарты в области информационных технологий
- ГОСТ Р ИСО/МЭК 12207:2000. Информационная технология. Процессы жизненного цикла программного обеспечения.
- ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств).
- ГОСТ Р ИСО/МЭК 9126:1993. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению.
- ГОСТ Р ИСО/МЭК 12119-2000. Информационная технология. Пакеты программ. Требование к качеству и тестирование.
- ГОСТ Р ИСО/МЭК ТО 9294:1993. Информационная технология. Руководство по управлению документированием программного обеспечения.
- ГОСТ Р ИСО 9127:1994. Системы обработки информации. Документация пользователя и информация на упаковке для потребительских программных пакетов.
- ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации пользователя программного средства.
- ГОСТ Р ИСО/МЭК 15408-1-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 1. Введение и общая модель.
- ГОСТ Р ИСО/МЭК 15408-3-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 3. Требования доверия к безопасности.
- ГОСТ Р ИСО/МЭК 14764-2002. Информационная технология. Сопровождение программных средств.
- ГОСТ Р ИСО/МЭК 15026-2002. Информационная технология. Уровни целостности систем и программных средств.
- ГОСТ Р ИСО/МЭК ТО 12182-2002. Информационная технология. Классификация программных средств.
- ГОСТ 28195:1989. Оценка качества программных средств. Общие положения
- ISO/IEC TR 24733:2011
Information Technology - Programming Languages, Their Environments And System Software Interfaces - Extensions For The Programming Language C++ To Support Decimal Vulnerabilities nm &Floating-Point Arithmetic
- ISO/IEC TR 10176:2003 Information Technology - Guidelines For The Preparation Of Programming Language Standards.
- Газета Ведомости 2017/05/19/ URL: [https://www.vedomosti.ru/technology/articles/2017/05/19/690559-rossiyanami-yazik-programmirovaniya]