Tôi chỉ đọc lên tính toán lambda để "làm quen". Tôi thấy nó là một hình thức tính toán thay thế trái ngược với Turing Machine. Đó là một cách thú vị để làm mọi thứ với các chức năng / giảm (nói một cách thô lỗ). Một số câu hỏi tiếp tục cằn nhằn tôi:
- Điểm của lambda tính toán là gì? Tại sao đi qua tất cả các chức năng / giảm? Mục đích là gì?
- Kết quả là tôi còn lại để tự hỏi: Chính xác thì lambda đã làm gì để thúc đẩy lý thuyết về CS? Những đóng góp của nó sẽ cho phép tôi có một khoảnh khắc "aha" để hiểu sự cần thiết cho sự tồn tại của nó là gì?
- Tại sao tính toán lambda không được đề cập trong các văn bản về lý thuyết automata? Con đường phổ biến là đi qua nhiều máy tự động, ngữ pháp, máy Turing và các lớp phức tạp. Tính toán Lambda chỉ được bao gồm trong giáo trình cho các khóa học theo phong cách SICP (có lẽ không?). Nhưng tôi hiếm khi thấy nó là một phần của chương trình giảng dạy cốt lõi của CS. Điều này có nghĩa là nó không có giá trị? Có lẽ không và tôi có thể thiếu một cái gì đó ở đây?
Tôi biết rằng các ngôn ngữ lập trình chức năng dựa trên tính toán lambda nhưng tôi không coi đó là một đóng góp hợp lệ, vì nó được tạo ra nhiều trước khi chúng ta có ngôn ngữ lập trình. Vì vậy, thực sự quan điểm của việc biết / hiểu tính toán lambda là gì, viết các ứng dụng / đóng góp của nó cho lý thuyết là gì?
Functional Programming
thảo luận về Haskell và một chút Lisp. Kế tiếp đó là Principles of Programming Languages
, sử dụng ML và giới thiệu phép tính lambda. Như một số câu trả lời cho thấy, đó thực sự là nơi tính toán lambda: trong một lớp học về ngôn ngữ lập trình, đánh máy, v.v.