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ư phanh Wikipedia

Phép tính lambda là 1 trong khối hệ thống kiểu dáng nhằm khái niệm hàm, phần mềm hàm và đệ quy được Alonzo Church khuyến nghị vô trong năm 193x.

Lý thuyết ngôn từ lập trình (thường được biết cho tới tự chữ viết lách tắt giờ đồng hồ Anh PLT (Programming language theory) là 1 trong nhánh của khoa học tập PC phân tích việc kiến thiết, triển khai, phân tách, tế bào miêu tả Điểm sáng, và phân loại những ngôn từ lập trình sẵn và những đặc thù của bọn chúng. Lý thuyết ngôn từ 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ôn từ học tập. Nó là 1 trong nhánh của khoa học tập PC được thừa nhận và là 1 trong điểm phân tích tích rất rất, với những thành quả được xuất phiên bản trong vô số nhiều tập san nói riêng mang lại PLT, na ná trong những xuất phiên bản phẩm kỹ năng và khoa học tập PC công cộng. Hầu không còn những lịch trình huấn luyện và đào tạo CN khoa học tập PC đòi hỏi cần học tập những môn học tập vô chủ thể này.

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

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

Trong một số trong những cơ hội, lịch sử vẻ vang lý thuyết ngôn từ lập trình sẵn sở hữu trước cả sự trở nên tân tiến của chủ yếu những ngôn từ lập trình sẵn. Phép tính lambda, được trở nên tân tiến tự Alonzo Church và Stephen Cole Kleene trong mỗi năm 193x, được một số trong những người xem như là ngôn từ lập trình sẵn trước tiên của trái đất, 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. hầu hết ngôn từ 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 phép tắc tính lambda [1], và nhiều vô số tê liệt đơn giản và dễ dàng được tế bào miêu tả tự những thuật ngữ của phép 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 kiến thiết vô trong 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 triển khai 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 trở nên tân tiến từ thời điểm năm 1954 cho tới năm 1957 tự một group ngôi nhà phân tích IBM được dẫn dắt tự 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 ngôi nhà khoa học tập nhằm mục đích trở nên tân tiến một ngôn từ 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 đang được trở nên tân tiến ngôn từ lập trình sẵn Lisp (dựa bên trên phép tắc tính lambda), ngôn từ 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ôn từ lập trình sẵn PC đang trở thành một chủ thể tích rất rất 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 chủ công vô lịch sử vẻ vang của lý thuyết ngôn từ lập trình sẵn Tính từ lúc khi đó:

  • Trong trong năm 195x, Noam Chomsky đang được trở nên tân tiến khối hệ thống phân cấp cho Chomsky trong nghề ngôn từ học; một mày mò hiệu quả thẳng lên lý thuyết ngôn từ 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 năm 196x, ngôn từ Simula đã và đang được trở nên tân tiến tự Ole Johan Dahl và Kristen Nygaard; nó được xem như là ví dụ trước tiên của một ngôn từ lập trình sẵn phía đối tượng; Simula đã và đang reviews định nghĩa đồng lịch trình con (tiếng Anh: coroutine).
  • Trong trong năm 197x:
    • Một group những ngôi nhà khoa học tập bên trên Xerox PARC được dẫn dắt tự Alan Kay đang được trở nên tân tiến Smalltalk, một ngôn từ phía đối tượng người dùng được nghe biết thoáng rộng nhờ môi trường xung quanh trở nên tân tiến tạo ra của chính nó.
    • Sussman và Steele đang được trở nên tân tiến ngôn từ lập trình sẵn Scheme, một phiên phiên bản 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 nguyê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 trở nên tân tiến được chấp nhận những lịch trình PC được biểu lộ 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, đang được tiến công thực trạng của những ngôn từ công nghiệp và đề xuất một tấm mới nhất những ngôn từ lập trình sẵn nhưng mà giờ đây được nghe biết như thể những ngôn từ lập trình sẵn nút hàm.
    • Xuất hiện nay phép tắc tính tiến bộ 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 bộ trình tiếp xúc liên tiếp (Communicating sequential processes) của C. A. R. Hoare, cũng giống như các 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à 1 trong ngành học tập (tiếng Anh:discipline) so với những ngôn từ lập trình sẵn, được dẫn dắt tự Milner; phần mềm này dẫn theo những tiến bộ cỗ to tướng rộng lớn vô lý thuyết loại xuyên suốt nhiều năm vừa qua.
  • Trong trong năm 198x:
    • Bertrand Meyer đang được dẫn đến cách thức học tập Thiết nối tiếp bám theo thích hợp đồng (Design by contract) và thống nhất nó vô vào ngôn từ lập trình sẵn Eiffel.
  • Trong trong năm 199x:
    • Gregor Kiczales, Jim Des Rivieres và Daniel G. Bobrow đang được xuất phiên bản 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 nghị người sử dụng những monad mang lại việc cấu tạo những lịch trình viết lách tự những ngôn từ 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 nằm trong lý thuyết ngôn từ 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 vô số này còn có sự ông xã chéo cánh đáng chú ý. Thêm vô tê 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 tụ họp.

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 kiểu dáng là Điểm sáng kiểu dáng của hành động của những lịch trình PC và những ngôn từ lập trình sẵn, nhắc đến việc phân tích ngôn từ kiểu dáng.

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 đích minh chứng sự vắng ngắt mặt mũi của những hành động lịch trình này tê 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). hầu hết ngôn từ lập trình sẵn được phân biệt tự những Điểm sáng của những khối hệ thống loại.

Phân tích lịch trình và gửi đổi[sửa | sửa mã nguồn]

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

Xem thêm: năm 1862 ai là người được nhân dân và nghĩa quân suy tôn là bình tây đại nguyên soái

Phân tích ngôn từ lập trình sẵn ví sánh[sửa | sửa mã nguồn]

Phân tích ngôn từ lập trình sẵn ví sánh lần cơ hội phân loại những ngôn từ lập trình sẵn trở nên những loại không giống nhau dựa vào những Điểm sáng của chúng; những chuyên mục rộng lớn của những ngôn từ 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.

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

Lập trình meta là việc đột biến lịch trình bậc cao hơn nữa, nhưng mà thành quả sinh rời khỏi Lúc triển khai lịch trình tê liệt là 1 trong lịch trình không giống (có thể vô ngôn từ không giống, hoặc vô một tụ họp con cái của ngôn từ 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ôn từ được xây đắp nhằm xử lý những yếu tố một cơ hội hiệu suất cao vô một miền yếu tố riêng rẽ.

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)) lịch trình dịch lịch trình được viết lách vô một ngôn từ sang trọng 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 lịch sử được phân chia 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 lịch trình nên thực hiện gì), tối ưu hóa (cải tiến bộ hiệu suất của lịch trình 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 lịch trình tương tự vô ngôn từ đích này đó; thông thường là tụ họp 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 trở nên tân tiến những môi trường xung quanh thời hạn chạy ngôn từ 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ưởi, và những hình mẫu nước ngoài hàm.

Tạp chí thường xuyên ngành, xuất phiên bản 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 phiên bản phân tích vẹn toàn phiên bản vô lý thuyết ngôn từ lập trình sẵn gồm:

Xem thêm: be na la con ai

  • 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ôn từ 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ề sự 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 hoàn toàn như là Tạp chí của ACM (Journal of the ACM), Thông tin tưởng 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 thêm thắt list những xuất phiên bản phẩm vô 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 nhập vai trò cần thiết, nhiều lúc là hướng dẫn. Có lẽ những cuộc hội thảo chiến lược phổ biến nhất vô PLT là Hội nghị mục 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 nối 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 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ôn từ 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ừ phép tắc tính lambda, một quy mô đo lường và tính toán được dùng thoáng rộng tự những ngôi nhà phân tích ngôn từ lập trình sẵn. hầu hết văn phiên bản, bài bác báo về lập trình sẵn và những ngôn từ lập trình sẵn dùng lambda bám theo kiểu mẫu này tê liệt. Nó thực hiện vinh quang trang bìa của văn phiên bản 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 khá nhiều loại gọi là những bài bác báo Lambda (Lambda Papers), được viết lách tự Gerald Jay Sussman và Guy Steele, những ngôi nhà trở nên tân tiến của Ngôn ngữ lập trình sẵn Scheme. Một trang mạng phổ biến về lý thuyết ngôn từ lập trình sẵn được gọi là Lambda the Ultimate nhằm mục đích vinh danh dự án công trình của Sussman và Steele.

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

  • SIGPLAN
  • Thời gian giảo biểu của những ngôn từ lập trình
  • Ngôn ngữ lập trình sẵn bậc rất rất 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ó tính chuyên nghiệp và kho tàng trữ tư liệu về lý thuyết ngôn từ lập trình sẵn.
  • Lịch sử ngôn từ 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