Рапира (язык программирования)

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск
РАПИРА
Парадигма:
Процедурный
Тип исполнения:
интерпретируемый
Типизация:
слабая динамическая
Дата появления:
1970-е
Разработчики:
Г.А. Звенигородский и др.






Создан под влиянием:
ПОПЛАН, Сетл

РАПИРА — Расширенный Адаптированный Поплан-Интерпретатор, Редактор, Архив — процедурный язык программирования. Разработан в конце 70-х годов в СССР в качестве средства перехода от более простых языков (в частности, учебного языка Робик) к языкам высокого уровня. Синтаксис построен на основе русской лексики. Язык использовался в школах для изучения информатики.

Язык Рапира был реализован для первого советского персонального компьютера (ПЭВМ) «Агат» в конце 70-х годов силами нескольких выпускников Новосибирского государственного университета под началом Г. А. Звенигородского. По своим возможностям язык не уступал другим известным на то время учебным языкам. Однако спустя несколько лет в стране появились импортные машины, более мощные и совершенные чем «Агат». В результате постепенно было прекращено использование и «Агата» и, вместе с ним, Рапиры.

Существовала также реализация языка Рапира для компьютера УКНЦ.

Взгляд на язык[править]

Идентификаторы могут использовать буквы как латиницы так и кириллицы, цифры и символ подчеркивания. Язык является регистро-независимым.

Ключевые (зарезервированные) слова:

возврат   иначе     проц
всё       кц        фун
до        от        шаг
если      повтор

Пример программы «Здравствуй, мир!»:

Проц Старт()
    Вывод 'Здравствуй, мир !!!'
Кон Проц

В первоначальной версии языка оператор присваивания обозначался сочетанием символов ->, и порядок операндов в нём был противоположен привычному для большинства языков: слева записывалось вычисляемое выражение, а справа — имя переменной, которой результат вычисления присваивался. Такая форма оператора присваивания была сочтена более логичной, поскольку она лучше соответствует семантике операции: сначала вычисляется выражение, и лишь затем результат записывается в переменную. Однако впоследствии присваивание заменили на «классическое» :=, заимствованное из Алгола и принятое во многих ЯВУ, в том числе и в РАЯ, и вычисляемое справа налево — сначала вычисляется выражение, записанное справа от знака присваивания, а затем оно присваивается переменной, имя которой записано слева от этого знака.

Язык Рапира предвосхитил некоторые особенности интерпретируемых языков программирования, созданных на полтора-два десятилетия позже, таких как Python или Ruby — в нём используются необъявляемые бестиповые переменные (переменная считается объявленной при первом использовании, тип переменной определяется типом присвоенного выражения, инициализированной переменной можно присваивать значения типов, отличающихся от первоначально присвоенного), поддерживаются высокоуровневые составные типы данных — кортежи и множества (последние являются частным случаем кортежа). Кортеж в Рапире, фактически — гетерогенный динамический массив, для него на уровне языка поддерживаются операции объединения, сравнения, получения размера и извлечения части.

Предшественники[править]

Как видно из расшифровки названия языка, концепция языка РАПИРА опиралась на опыт разработки системы ПОПЛАН — интерпретатора языка POP-2 для БЭСМ-6.

Некоторые синтаксические конструкции были перенесены из языка Сетл.

Ссылки[править]