Его создатель предсказал цифровое бессмертие и придумал язык, который пригодился бы для создания искусственного интеллекта.
Чтобы понять, чем Рефал был так интересен, сначала следует вспомнить, что есть разные парадигмы программирования. Например, HTML работает в декларативной парадигме — нам не нужно детально прописывать все элементы, чтобы получить результат. А вот в Java придётся прописывать каждый шаг и действие, иначе код не будет работать — это императивная парадигма. Ничто не мешает прописать готовые библиотеки и добавить к императивной парадигме декларативную — так работает тот же C#.
Пример из жизни. В императивном языке приготовление кофе выглядит условно так:
- включи кофемашину;
- добавь зерно в кофемашину;
- поставь кружку;
- включи режим «Эспрессо».
В декларативном всё ограничивается одной командой «Приготовь кофе» — и дальше язык самостоятельно ищет решение. Именно так и работал Рефал, который в конце шестидесятых разработал советский математик, физик и кибернетик Валентин Турчин.
Валентин Турчин. Фото: skif.pereslavl.ruКажется, учёный уже тогда жил в далёком будущем: он считал, что эволюция человека рано или поздно приведёт его в цифровой мир, где сознание будет развиваться самостоятельно, без ограничений физического тела.
Идеи эволюционности легли в основу Рефала, который задумывался как метаязык для описания семантики других языков. Мысль простая: сначала у человека был огонь, потом он придумал колесо, освоил плавку металлов, одно цеплялось за другое — и вот уже у нас есть компьютеры, космические ракеты, интернет и виртуальные пространства. То же самое ждёт и языки программирования — они будут эволюционировать и превратятся в единую систему.
Рефал был языком высокого уровня, который даёт команды другим языкам или создаёт новые.
Обратите внимание: Тест: Что за советский актер изображен на фото? С этим тестом справились единицы. Проверь себя.
Он работал на нормальных алгорифмах Маркова — это функциональный язык, который решает неразрешимые алгебраические проблемы. Функции в нём определяются при помощи механизма сопоставления входных данных с образцом. По похожему принципу сейчас работает ИИ.Но в то время Тучин не думал о таком применении языка и больше был нацелен на перевод естественных языков и преобразования формул. Тучин с помощью Рефала создал транслятор с Algol 60 на язык ассемблера, а в СССР его язык использовали в космической промышленности и в специализированных военных компьютерах. Был даже разработан экспериментальный процессор, но в целом работа с Рефалом велась за закрытыми дверями — упоминания точного применения найти сложно.
Рефал всё ещё существует — вокруг него даже сложилось свое комьюнити. Самый продвинутый диалект Рефал+ можно использовать для анализа и преобразования текста, в работе над абстрактными системами в ИИ и для суперкомпиляции — оптимизации преобразования программ.
***
Рефал — не единственный «забытый» язык программирования из СССР. Чтобы не пропустить другие материалы о программировании, об истории IT и искусственном интеллекте, подпишитесь в раздел. Ставьте лайки, чтобы видеть больше таких статей у себя в ленте. Если вы хотите, чтобы мы написали о каком-то факте или технологии, предложите свою тему в комментариях к этой или другим статьям.
#люди_и_код #язык программирования #it #история it #программирование
Еще по теме здесь: История.
Источник: Советский Рефал: на чём программировали военные и космонавты в 60-х.