Лямбда-исчисление является интересным, элегантным и значительно облегчает понимание функциональных языков программирования. Тем не менее, вы не столкнетесь с LC в типичном курсе бакалавриата по CS, поэтому вам не нужно изучать его прямо сейчас - я бы рекомендовал сначала поэкспериментировать с функциональными языками, прежде чем пересматривать Lambda Calculus. Я считаю, что OCaml является хорошей отправной точкой в функциональном программировании для программиста на C, и что Scheme является хорошей отправной точкой для погружения в Lambda Calculus.
Лямбда-исчисление не связано с исчислением (которое вместо этого следует называть анализом). В общем, исчисление - это «формальная система», то есть набор правил, чтобы что-то делать. В то время как дифференциальное исчисление предоставляет правила, касающиеся изменения значений, правила лямбда-исчисления описывают само вычисление. Из этого набора базовых правил мы можем строить произвольные вычисления, представления данных, такие как логические значения, целые числа или списки, и даже конструкции потока управления, такие как условные выражения или циклы. LC эквивалентен машинам Тьюринга, но у любой модели есть свои сильные стороны.
Лямбда-исчисление оказало огромное влияние на языки программирования. Вторым языком высокого уровня, который должен быть реализован, был Lisp, который можно понимать как прямое кодирование LC в язык программирования. Это «функциональное программирование» оказывает огромное влияние на развитие языков программирования. Такие функции, как анонимные функции, указатели на функции, замыкания (вложенные функции), сборка мусора, область видимости переменных, метапрограммирование, усовершенствования в системах типов, вывод типов, интерпретируемые языки, языки с динамической типизацией, объектно-ориентированное программирование - все это во многом обусловлено к функциональной ветви программирования языков программирования. Есть шутка, что любой новый (не академический) язык программирования добавляет только те функции, которые Lisp уже имел в течение десятилетий.
Кроме того, лямбда-исчисление и другие связанные исчисления являются незаменимыми инструментами в теории языка программирования и в некоторых методах построения компилятора.
Любой язык, который имеет анонимные функции, которые ведут себя как замыкания и могут свободно передаваться, немедленно содержит кодировку лямбда-исчисления. Анонимные функции соответствуют лямбда-выражениям, за исключением того, что в функциях LC всегда есть ровно один аргумент. Однако любой язык, полный по Тьюрингу, эквивалентен LC, поэтому LC всегда можно реализовать поверх таких языков. Это обычно происходит в системах сопоставления правил или чрезмерно интеллектуальных форматах конфигурации, приводя к «десятому правилу Гринспуна» (в шутку - в основном): « Любая достаточно сложная программа на C или Fortran содержит специальную, неофициально заданную, подверженную ошибкам , медленная реализация половины Common Lisp. »