January 1st, 2010

Про Lisp

Совершенно естественно, что первым языком программирования высокого уровня стал императивный FORTRAN (созданный во второй половине 1950-х годов).

Когда перед вами стоят вычислительные задачи и есть только
  • однородная память, содержащая и входные данные, и результаты вычислений
  • команды, чтения, записи и выполнения действий (например арифметических)
простейшим способом построения программ является именно императивный
  • память отражает текущее состояние вычисления
  • каждая следующая команда его изменяет (делает ближе к искомому результату)
(императивность как следствие из определений классического вычислителя).

Совершенно не понятно почему, но примерно в тоже время создатели языка Lisp работали над проблемами динамической типизации, списками, ассоциативными массивами, функциями высоких порядков и автоматической сборкой мусора, взяв за основу лямбда исчисления Чёрча, а не машину Тьюринга.

Большое дело - талантливые люди во главе с настоящим ученым.

Литература:
  1. History of Lisp. John McCarthy. 1979
  2. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. John McCarthy. 1960
  3. LISP 1.5 Programmer's Manual. John McCarthy. 1962