Ngôn ngữ đầu tiên có hỗ trợ lập trình chung


15

Đó là ngôn ngữ đầu tiên có hỗ trợ lập trình chung và đâu là ngôn ngữ gõ chính đầu tiên (được sử dụng rộng rãi) với sự hỗ trợ chung.

Generics thực hiện khái niệm các loại tham số để cho phép nhiều loại. Thuật ngữ chung có nghĩa là "liên quan đến hoặc phù hợp với các nhóm lớn các lớp."

Tôi đã thấy những đề cập sau đây về "đầu tiên":

Đa hình tham số bậc nhất bây giờ là một yếu tố tiêu chuẩn của các ngôn ngữ lập trình được gõ tĩnh. Bắt đầu với Hệ thống F [20,42] và các hướng dẫn lập trình chức năng, các cấu trúc đã tìm được đường vào các ngôn ngữ chính như Java và C #. Trong các ngôn ngữ này, đa hình tham số bậc nhất thường được gọi là tổng quát.

Từ " Generics of a Kind Kind" , Adriaan Moors, Frank Piessens và Martin Oderky

Lập trình chung là một kiểu lập trình máy tính trong đó các thuật toán được viết theo các kiểu sẽ được chỉ định-sau đó được khởi tạo khi cần cho các loại cụ thể được cung cấp dưới dạng tham số. Cách tiếp cận này, được tiên phong bởi Ada vào năm 1983

Từ Wikipedia Generic Lập trình

Câu trả lời:



4

Có lẽ là Lisp. Nó đã ít nhiều làm điều đó trong những năm 1960. Trong thực tế nếu câu hỏi là ngôn ngữ đầu tiên làm được gì nhiều thì có lẽ bạn sẽ thấy nó là ngôn ngữ không thể thiếu. Thật đáng sợ khi nhận ra rằng tính năng mới thú vị trong ngôn ngữ X trên thực tế là tính năng mới tuyệt vời của lisp vào năm 1960!


7
Lisp không được gõ tĩnh nên "generic" thậm chí không có ý nghĩa trong bối cảnh đó.
Rufflewind

Vâng "Generics" chỉ có ý nghĩa đối với một số loại gõ tĩnh. Có nhiều loại hệ thống có các thuộc tính khác nhau.
Zachary K

@ZacharyK Tính năng hệ thống loại cụ thể có nghĩa là "tổng quát" là đa hình paramteric , không có ý nghĩa trong các ngôn ngữ chưa được kiểm tra.
Jack

3

Trước khái quát đã có mẫu, và trước đó thay thế vĩ mô.


Mẫu không phải là đa hình tham số, đó là những gì hầu hết mọi người có nghĩa là khi họ nói "khái quát" trong bối cảnh của các loại. Các mẫu và macro thậm chí không được gắn với các hệ thống loại, chúng là một tính năng trực giao hoàn toàn.
Jack

Câu trả lời này nhầm lẫn "khái quát Java" với "lập trình chung".
Kaz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.