ai là tác giả của ngôn ngữ lập trình đầu tiên trên thế giới

Bách khoa toàn thư há Wikipedia

Bạn đang xem: ai là tác giả của ngôn ngữ lập trình đầu tiên trên thế giới

Phép tính lambda là một trong khối hệ thống mẫu mã nhằm khái niệm hàm, phần mềm hàm và đệ quy được Alonzo Church khuyến cáo nhập trong những năm 193x.

Lý thuyết ngữ điệu lập trình (thường được biết cho tới vày chữ viết lách tắt giờ đồng hồ Anh PLT (Programming language theory) là một trong nhánh của khoa học tập PC phân tích việc design, tiến hành, phân tách, tế bào miêu tả Đặc điểm, và phân loại những ngữ điệu lập trình sẵn và những đặc thù của bọn chúng. Lý thuyết ngữ điệu lập trình sẵn dựa vào và Chịu tác động của toán học tập, kĩ nghệ ứng dụng và ngữ điệu học tập. Nó là một trong nhánh của khoa học tập PC được thừa nhận và là một trong chống phân tích tích cực kỳ, với những thành quả được xuất bạn dạng trong vô số nhiều tập san nói riêng mang lại PLT, hao hao trong những xuất bạn dạng phẩm kinh nghiệm và khoa học tập PC công cộng. Hầu không còn những công tác huấn luyện và đào tạo CN khoa học tập PC đòi hỏi nên học tập những môn học tập nhập chủ thể này.

Lịch sử[sửa | sửa mã nguồn]

Trong một vài cơ hội, lịch sử dân tộc lý thuyết ngữ điệu lập trình sẵn sở hữu trước cả sự cải cách và phát triển của chủ yếu những ngữ điệu lập trình sẵn. Phép tính lambda, được cải cách và phát triển vày Alonzo Church và Stephen Cole Kleene trong mỗi năm 193x, được một vài người xem như là ngữ điệu lập trình sẵn trước tiên của toàn cầu, tuy vậy nó từng được ý định dùng để mô hình đo lường và tính toán rộng lớn là phương tiện đi lại cho những lập trình sẵn viên mô tả những giải thuật cho 1 khối hệ thống PC. đa phần ngữ điệu lập trình sẵn hàm được tế bào miêu tả như sự hỗ trợ một "lớp mộc dán mỏng" lên quy tắc tính lambda [1], và nhiều nhập số bại liệt đơn giản dễ dàng được tế bào miêu tả vày những thuật ngữ của quy tắc tính lambda.

Ngôn ngữ lập trình sẵn trước tiên được đề cử là Plankalkül, tự Konrad Zuse design nhập trong những năm 194x, tuy nhiên ko được công bọn chúng nghe biết mãi cho tới năm 1972 (và ko được tiến hành cho tới năm 1998). Ngôn ngữ lập trình sẵn trước tiên được nghe biết thoáng rộng và thành công xuất sắc là Fortran, được cải cách và phát triển từ thời điểm năm 1954 cho tới năm 1957 vày một group mái ấm phân tích IBM được dẫn dắt vày John Backus. Sự thành công xuất sắc của FORTRAN dẫn đến việc tạo hình của ủy ban những mái ấm khoa học tập nhằm mục tiêu cải cách và phát triển một ngữ điệu PC "thế giới"; thành quả mang lại những nỗ lực của mình là ALGOL 58. Một cơ hội song lập, John McCarthy của MIT vẫn cải cách và phát triển ngữ điệu lập trình sẵn Lisp (dựa bên trên quy tắc tính lambda), ngữ điệu trước tiên thành công xuất sắc với những khởi điểm kể từ giới học viện chuyên nghành. Với sự thành công xuất sắc của những nỗ lực khởi xướng này, những ngữ điệu lập trình sẵn PC đang trở thành một chủ thể tích cực kỳ của việc phân tích trong mỗi năm 196x và về sau.

Một số sự khiếu nại cốt tử nhập lịch sử dân tộc của lý thuyết ngữ điệu lập trình sẵn Tính từ lúc khi đó:

  • Trong trong những năm 195x, Noam Chomsky vẫn cải cách và phát triển khối hệ thống phân cấp cho Chomsky trong nghề ngữ điệu học; một mày mò hiệu quả thẳng lên lý thuyết ngữ điệu lập trình sẵn và nhiều nhánh không giống của khoa học tập PC.
  • Trong trong những năm 196x, ngữ điệu Simula đã và đang được cải cách và phát triển vày Ole Johan Dahl và Kristen Nygaard; nó được xem như là ví dụ trước tiên của một ngữ điệu lập trình sẵn phía đối tượng; Simula đã và đang reviews định nghĩa đồng công tác con (tiếng Anh: coroutine).
  • Trong trong những năm 197x:
    • Một group những mái ấm khoa học tập bên trên Xerox PARC được dẫn dắt vày Alan Kay vẫn cải cách và phát triển Smalltalk, một ngữ điệu phía đối tượng người tiêu dùng được nghe biết thoáng rộng nhờ môi trường xung quanh cải cách và phát triển tạo nên của chính nó.
    • Sussman và Steele vẫn cải cách và phát triển ngữ điệu lập trình sẵn Scheme, một phiên bạn dạng của Lisp thống nhất với phạm vi kể từ vựng (tiếng Anh: lexical scoping), một không khí thương hiệu thống nhất, và những nhân tố kể từ quy mô Actor bao hàm những continuation lớp nhất.
    • Lập trình logic và Prolog đã và đang được cải cách và phát triển được chấp nhận những công tác PC được thể hiện như thể logic toán học tập.
    • Backus, bên trên bài bác giảng ACM Turing Award năm 1977, vẫn tiến công thực trạng của những ngữ điệu công nghiệp và đề xuất một tấm mới mẻ những ngữ điệu lập trình sẵn nhưng mà lúc này được nghe biết như thể những ngữ điệu lập trình sẵn nút hàm.
    • Xuất hiện nay quy tắc tính tiến thủ trình, ví như Phép tính của những Hệ thống Giao tiếp (Calculus of Communicating Systems) của Robin Milner, và quy mô Các tiến thủ trình tiếp xúc liên tiếp (Communicating sequential processes) của C. A. R. Hoare, cũng giống như những quy mô tuy nhiên song tương tự động ví như quy mô Actor của Carl Hewitt.
    • Lý thuyết loại chính thức được vận dụng như là một trong ngành học tập (tiếng Anh:discipline) so với những ngữ điệu lập trình sẵn, được dẫn dắt vày Milner; phần mềm này kéo theo những tiến thủ cỗ đồ sộ rộng lớn nhập lý thuyết loại xuyên suốt nhiều năm vừa qua.
  • Trong trong những năm 198x:
    • Bertrand Meyer vẫn tạo nên cách thức học tập Thiết kế tiếp bám theo ăn ý đồng (Design by contract) và thống nhất nó nhập vào ngữ điệu lập trình sẵn Eiffel.
  • Trong trong những năm 199x:
    • Gregor Kiczales, Jim Des Rivieres và Daniel G. Bobrow vẫn xuất bạn dạng cuốn sách Nghệ thuật của Giao thức Đối tượng meta (tựa giờ đồng hồ Anh: The Art of the Metaobject Protocol).
    • Philip Wadler khuyến cáo người sử dụng những monad mang lại việc cấu hình những công tác viết lách vày những ngữ điệu lập trình sẵn hàm.

Các môn con cái và những nghành liên quan[sửa | sửa mã nguồn]

Có nhiều nghành phân tích hoặc trực thuộc lý thuyết ngữ điệu lập trình sẵn, hoặc sở hữu tác động thâm thúy lên nó; nhiều nghành nhập số này còn có sự ck chéo cánh đáng chú ý. Thêm nhập bại liệt, PLT dùng nhiều nhánh không giống của toán học tập, bao hàm lý thuyết đo lường và tính toán, lý thuyết chuyên mục, và lý thuyết hội tụ.

Ngữ nghĩa học tập hình thức[sửa | sửa mã nguồn]

Ngữ nghĩa học tập mẫu mã là Đặc điểm mẫu mã của hành động của những công tác PC và những ngữ điệu lập trình sẵn, nhắc đến việc phân tích ngữ điệu mẫu mã.

Lý thuyết kiểu[sửa | sửa mã nguồn]

Lý thuyết loại là việc phân tích những khối hệ thống loại, "là những cách thức cú pháp dễ dàng trấn áp nhằm mục tiêu minh chứng sự vắng vẻ mặt mũi của những hành động công tác này bại liệt bằng phương pháp phân loại những ngữ tuân bám theo những loại độ quý hiếm nhưng mà bọn chúng tính được." (theo Các loại và những Ngôn ngữ lập trình, giờ đồng hồ Anh: Types and Programming Languages, MIT Press, 2002). đa phần ngữ điệu lập trình sẵn được phân biệt vày những Đặc điểm của những khối hệ thống loại.

Phân tích công tác và gửi đổi[sửa | sửa mã nguồn]

Chuyển thay đổi công tác là quy trình quy đổi một công tác kể từ dạng (ngôn ngữ) này quý phái dạng khác; phân tách công tác là yếu tố toàn viên của việc tham khảo một công tác và xác lập những Đặc điểm cốt lõi (như sự vắng vẻ mặt mũi những lớp lỗi chương trình).

Phân tích ngữ điệu lập trình sẵn ví sánh[sửa | sửa mã nguồn]

Phân tích ngữ điệu lập trình sẵn ví sánh dò thám cơ hội phân loại những ngữ điệu lập trình sẵn trở nên những loại không giống nhau dựa vào những Đặc điểm của chúng; những chuyên mục rộng lớn của những ngữ điệu lập trình sẵn thông thường được nghe biết như thể những quy mô lập trình sẵn.

Xem thêm: doctor fate là ai

Lập trình meta[sửa | sửa mã nguồn]

Lập trình meta là việc đột biến công tác bậc cao hơn nữa, nhưng mà thành quả sinh đi ra Khi tiến hành công tác bại liệt là một trong công tác không giống (có thể nhập ngữ điệu không giống, hoặc nhập một hội tụ con cái của ngữ điệu gốc).

Ngôn ngữ đặc thù miền[sửa | sửa mã nguồn]

Ngôn ngữ đặc thù miền là ngữ điệu được thi công nhằm giải quyết và xử lý những yếu tố một cơ hội hiệu suất cao nhập một miền yếu tố riêng biệt.

Xây dựng trình biên dịch[sửa | sửa mã nguồn]

Lý thuyết Trình biên dịch là lý thuyết viết lách những trình biên dịch (compiler) (hoặc tổng quát mắng rộng lớn, máy dịch (translator)) công tác dịch công tác được viết lách nhập một ngữ điệu quý phái dạng không giống. Các hành vi của một trình biên dịch bám theo truyền thống cuội nguồn được phân tách nhỏ trở nên phân tích cú pháp (quét (scan) và phân tách kể từ loại (parse)), phân tích ngữ nghĩa (xác ấn định công tác nên thực hiện gì), tối ưu hóa (cải tiến thủ hiệu suất của công tác bám theo những chỉ số, nổi bật là vận tốc thực hiện) và Phát sinh mã (Phát sinh và xuất một công tác tương tự nhập ngữ điệu đích này đó; thông thường là hội tụ mệnh lệnh của một CPU).

Hệ thống thời hạn chạy[sửa | sửa mã nguồn]

Hệ thống thời hạn chạy nhắc đến việc cải cách và phát triển những môi trường xung quanh thời hạn chạy ngữ điệu lập trình sẵn và những bộ phận của bọn chúng, bao hàm những máy ảo, tích lũy tài liệu rác rến, và những hình mẫu nước ngoài hàm.

Tạp chí chuyên nghiệp ngành, xuất bạn dạng phẩm và hội thảo chiến lược PLT[sửa | sửa mã nguồn]

Các tập san xuất bạn dạng phân tích nguyên vẹn bạn dạng nhập lý thuyết ngữ điệu lập trình sẵn gồm:

  • ACM Transactions on Programming Languages and Systems [2] Lưu trữ 2006-04-24 bên trên Wayback Machine (Giao dịch ACM bên trên những Ngôn ngữ Lập trình và những Hệ thống)
  • Computer Languages, Systems, and Structures [3] (Các ngữ điệu PC, Các khối hệ thống, và những Cấu trúc)
  • Journal of Functional Programming (Tạp chí Lập trình hàm)
  • Journal of Functional and Logic Programming (Tạp chí Lập trình Logic và Hàm)
  • Journal of Symbolic Computation (Tạp chí Tính toán ký hiệu)

Các bài bác báo PLT về những cú hích cần thiết hoặc về việc quan hoài tổng quát mắng rộng lớn hoàn toàn có thể xuất hiện nay trong những tập san bách khoa hơn như là Tạp chí của ACM (Journal of the ACM), Thông tin cậy và Tính toán (Information and Computation), hoặc Khoa học tập Máy tính Lý thuyết, (Theoretical Computer Science). Xem tăng list những xuất bạn dạng phẩm nhập khoa học tập PC.

Cũng như trong vô số nhiều nghành của Khoa học tập Máy tính, những cuộc hội thảo chiến lược vào vai trò cần thiết, nhiều khi là điều khiển. Có lẽ những cuộc hội thảo chiến lược có tiếng nhất nhập PLT là Hội nghị đề chính về những Nguyên lý của những Ngôn ngữ Lập trình (tiếng Anh: Symposium on Principles of Programming Languages) (POPL)) và Hội thảo Quốc tế về Lập trình Hàm (tiếng Anh: International Conference on Functional Programming (ICFP)). Các cuộc hội thảo chiến lược không giống sở hữu tác động tương quan PLT bao gồm Hội thảo về Thiết kế tiếp và Thực hiện nay Ngôn ngữ Lập trình (Conference on Programming Language Design and Implementation (PLDI)) và Hội nghị Quốc tế về Lập trình Hướng đối tượng người tiêu dùng, những Hệ thống, những Ngôn ngữ và những Ứng dụng (tiếng Anh: International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA)).

Ký hiệu Lambda[sửa | sửa mã nguồn]

Một hình tượng ko đầu tiên của nghành lý thuyết ngữ điệu lập trình sẵn là vần âm Hi Lạp viết lách thông thường λ (lambda). Cách người sử dụng này bắt mối cung cấp kể từ quy tắc tính lambda, một quy mô đo lường và tính toán được dùng thoáng rộng vày những mái ấm phân tích ngữ điệu lập trình sẵn. đa phần văn bạn dạng, bài bác báo về lập trình sẵn và những ngữ điệu lập trình sẵn dùng lambda bám theo kiểu mẫu này bại liệt. Nó thực hiện vinh quang trang bìa của văn bạn dạng cổ xưa Cấu trúc và Thuyết minh những Chương trình Máy tính (Structure and Interpretation of Computer Programs), và title của rất nhiều loại gọi là những bài bác báo Lambda (Lambda Papers), được viết lách vày Gerald Jay Sussman và Guy Steele, những mái ấm cải cách và phát triển của Ngôn ngữ lập trình sẵn Scheme. Một trang mạng có tiếng về lý thuyết ngữ điệu lập trình sẵn được gọi là Lambda the Ultimate nhằm mục tiêu vinh danh công trình xây dựng của Sussman và Steele.

Xem thêm: rao suzuran là ai

Xem thêm[sửa | sửa mã nguồn]

  • SIGPLAN
  • Thời gian tham biểu của những ngữ điệu lập trình
  • Ngôn ngữ lập trình sẵn bậc cực kỳ cao

Đọc thêm[sửa | sửa mã nguồn]

  • Mitchell, John C.. Foundations for Programming Languages.
  • Pierce, Benjamin C. (2002). Types and Programming Languages. MIT Press.
  • Pierce, Benjamin C. Advanced Topics in Types and Programming Languages.
  • Pierce, Benjamin C. et al. (2010). Software Foundations.
  • Programming Language Pragmatics, 2nd Edition by Michael Scott (Morgan Kaufmann, 2006) [4]
  • Essentials of Programming Languages by Daniel Phường. Friedman, Mitchell Wand, and Christopher T. Haynes (MIT Press 2001) [5] Lưu trữ 2007-06-30 bên trên Wayback Machine

Tham khảo[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]

  • Lambda the Ultimate, một weblog xã hội giành cho thảo luận có trách nhiệm và kho tàng trữ tư liệu về lý thuyết ngữ điệu lập trình sẵn.
  • Lịch sử ngữ điệu máy tính
  • Các sách lý thuyết lập trình sẵn miễn phí
  • Lịch sử Haskell Lưu trữ 2009-04-29 bên trên Wayback Machine