2022-12-30 16:50:10
План был надежный, как швейцарские часы. Почему в таком случае он не сработал?
Во-первых, предполагалось, что компьютеры будут работать на языке логического вывода Prolog. Это такой хитрый язык программирования, программы на котором пишутся в императивном стиле.
В классическом,
императивном программировании, программа для считывания массива - это серия операций:
- Создай массив и записывай туда числа, которые пользователь введет с клавиатуры
- Создай пустую переменную, и затем прибавь к ней каждое из чисел массива;
- Выведи то, что лежит в переменной.
Компьютер понимает, как выполнять каждую из них, и тупо выполняет эти действия одно за другим.
В свою очередь,
декларативный стиль предполагает, что программист говорит программе то, как должен выглядеть конечный результат, а уже потом она сама “выводит” решение. В случае языка Prolog, программа для суммирования выглядела бы примерно так:
-
Факт 1: массив состоит из “головы” и “хвоста”. Голова - это первый его элемент, а хвост - это все остальные
-
Факт 2: “сумма чисел массива М” - это такое число, которое будет равно сумме Г и «сумме чисел массива Х», если Г и Х - это голова и хвост массива М
- Теперь ответь на запрос, чему равна “сумма чисел массива, введенного с клавиатуры”
Последняя команда запускает программу логического вывода, которая проходится по всем фактам, которые загружены в программу, и пытается ответить на запрос пользователя.
Писать такие программы сильно сложнее - нужно особым образом сломать мозг, чтобы перестроить задачу с классического программирования на логическое, на это уходит много времени. Попробуйте сами, гарантирую, будете озадачены.
Короче, с софтом получилась беда, программы было дико сложно разрабатывать, так еще и не все из них удавалось переложить с классического подхода на логический.
Но может, с разработкой процессоров дела шли лучше?..
47 viewsedited 13:50