Il Lambda Calculus è interessante, elegante e rende molto più semplice la comprensione dei linguaggi di programmazione funzionale. Tuttavia, non incontrerai la LC in un tipico corso di laurea in CS, quindi non devi impararla subito - consiglierei di sperimentare prima i linguaggi funzionali prima di rivisitare il Lambda Calculus. Credo che OCaml sia un buon punto di partenza nella programmazione funzionale per un programmatore C e che Scheme sia un buon punto di partenza per tuffarsi nel Lambda Calculus.
Il calcolo Lambda non è associato al calcolo (che invece dovrebbe essere chiamato Analisi). In generale, un calcolo è un "sistema formale", cioè un insieme di regole per fare qualcosa. Mentre il calcolo differenziale fornisce regole relative alla modifica dei valori, le regole del calcolo Lambda descrivono il calcolo stesso. Da questo insieme di regole molto basilari, possiamo costruire calcoli arbitrari, rappresentazioni di dati come booleani, numeri interi o liste e persino controllare costrutti di flusso come condizionali o loop. La LC è equivalente alle macchine di Turing, ma entrambi i modelli hanno diversi punti di forza.
Lambda Calculus ha avuto un impatto enorme sui linguaggi di programmazione. Il secondo linguaggio di alto livello da implementare era Lisp, che può essere inteso come una codifica diretta della LC in un linguaggio di programmazione. Questa "programmazione funzionale" ha un immenso effetto sull'evoluzione dei linguaggi di programmazione. Caratteristiche come funzioni anonime, puntatori a funzioni, chiusure (funzioni nidificate), garbage collection, ambito variabile, metaprogrammazione, progressi nei sistemi di tipo, inferenza di tipo, linguaggi interpretati, linguaggi tipizzati dinamicamente, programmazione orientata agli oggetti sono dovuti in gran parte al ramo di programmazione funzionale dei linguaggi di programmazione. C'è una battuta che ogni nuovo linguaggio di programmazione (non accademico) aggiunge solo funzionalità che Lisp ha già avuto per decenni.
Oltre a ciò, il Lambda Calculus e altri calcoli correlati sono strumenti indispensabili nella teoria del linguaggio di programmazione e in alcune tecniche di costruzione del compilatore.
Qualsiasi linguaggio che ha funzioni anonime che si comportano come chiusure e che può essere passato in giro liberamente contiene immediatamente una codifica del calcolo lambda. Le funzioni anonime corrispondono a espressioni lambda, tranne per il fatto che nelle funzioni LC hanno sempre esattamente un argomento. Tuttavia, qualsiasi linguaggio completo di Turing equivale a LC, quindi LC può sempre essere implementato su tali lingue. Ciò tende ad accadere in sistemi di corrispondenza delle regole o in formati di configurazione eccessivamente intelligenti, dando origine alla "decima regola di Greenspun" (per scherzo - principalmente): " Qualsiasi programma C o Fortran sufficientemente complicato contiene un programma ad hoc, specificato in modo informale, pieno di bug , lenta implementazione di metà del Common Lisp. ”