Советский Рефал: на чём программировали военные и космонавты в 60-х

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

Чтобы понять, чем Рефал был так интересен, сначала следует вспомнить, что есть разные парадигмы программирования. Например, HTML работает в декларативной парадигме — нам не нужно детально прописывать все элементы, чтобы получить результат. А вот в Java придётся прописывать каждый шаг и действие, иначе код не будет работать — это императивная парадигма. Ничто не мешает прописать готовые библиотеки и добавить к императивной парадигме декларативную — так работает тот же C#.

Пример из жизни. В императивном языке приготовление кофе выглядит условно так:

  • включи кофемашину;
  • добавь зерно в кофемашину;
  • поставь кружку;
  • включи режим «Эспрессо».

В декларативном всё ограничивается одной командой «Приготовь кофе» — и дальше язык самостоятельно ищет решение. Именно так и работал Рефал, который в конце шестидесятых разработал советский математик, физик и кибернетик Валентин Турчин.

Валентин Турчин. Фото: skif.pereslavl.ru

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

Идеи эволюционности легли в основу Рефала, который задумывался как метаязык для описания семантики других языков. Мысль простая: сначала у человека был огонь, потом он придумал колесо, освоил плавку металлов, одно цеплялось за другое — и вот уже у нас есть компьютеры, космические ракеты, интернет и виртуальные пространства. То же самое ждёт и языки программирования — они будут эволюционировать и превратятся в единую систему.

Рефал был языком высокого уровня, который даёт команды другим языкам или создаёт новые.

Обратите внимание: Тест: Что за советский актер изображен на фото? С этим тестом справились единицы. Проверь себя.

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

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

Рефал всё ещё существует — вокруг него даже сложилось свое комьюнити. Самый продвинутый диалект Рефал+ можно использовать для анализа и преобразования текста, в работе над абстрактными системами в ИИ и для суперкомпиляции — оптимизации преобразования программ.

***

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

#люди_и_код #язык программирования #it #история it #программирование

Еще по теме здесь: История.

Источник: Советский Рефал: на чём программировали военные и космонавты в 60-х.