Статья 2314

В приведенном примере программы на Форте предполагается, что массив чисел и его размер в момент вызова функции находятся на верху стека. Все вычисления выполняются на стеке, а значения, результаты функций возвращаются на верх стека. Никакие переменные в программе не описываются. В языке АПЛ синтаксис еще более сжатый, чем у Форта. Название языка - сокращение от слов, язык программирования. В 1961 г., когда впервые была опубликована книга по АПЛ, К. Айверсон, язык представлял собой только способ записи для описания задач прикладной математики. На ЭВМ язык был реализован позже. Отличительной чертой АПЛ является то, что в нем одинаково просто работать как с одиночными величинами, так и с массивами чисел. Так, команду, которая складывает два числа, без всяких изменений можно применить для сложения массивов с тысячей элементов. В примере программы на АПЛ сложение нечетных чисел, хранящихся в массиве, задается одной инструкцией. Ненулевое значение числа по модулю 2 идентифицирует нечетные числа-элементы массива, которые таким образом выделяются из массива и суммируются.
Язык Лисп в некоторых отношениях самый простой из тех, что здесь рассмотрены. В нем есть только один вид инструкций, а именно вызов функции. Главным источником силы языка служит то, что значением функции может быть другая функция. Язык Лисп был разработан в конце 50-х годов Дж. Маккарти, в то время работавшим в МТИ. С тех пор Лисп является самым популярным всюду, где ведутся работы по искусственному интеллекту. Название языка происходит от слов - обработка списков - и программы, и данные в нем представлены в виде списков.
Программу для нашего примера можно было бы написать на Лиспе как итеративный цикл, однако программист, привыкший к стилю Лиспа, скорее всего выбрал бы технику рекурсии, когда процедура вызывает саму себя, затем вызванная процедура вызывает еще раз саму себя.