Dylan (ngôn ngữ lập trình)

Dylan
Tập tin:Dylan logo.png
Mẫu hìnhđa mẫu hình: hàm, hướng đối tượng
Nhà phát triểnApple Computer, Harlequin, Carnegie Mellon University
Xuất hiện lần đầu1992; 32 năm trước (1992)
Phiên bản ổn định
2014.1 / 1 tháng 1 năm 2015; 9 năm trước (2015-01-01)
Kiểm tra kiểuMạnh, động
Nền tảngIA-32, x86-64
Hệ điều hànhĐa nền tảng
Trang mạngopendylan.org
Các bản triển khai lớn
Open Dylan, Gwydion Dylan
Ảnh hưởng từ
CLOS, ALGOL, Scheme, EuLisp
Ảnh hưởng tới
Lasso, Python, Ruby

Dylan là một ngôn ngữ lập trình đa mẫu hình có hỗ trợ hàm, lập trình hướng đối tượng (OOP), độngphục hồi trong khi cung cấp một mô hình lập trình được thiết kế để hỗ trợ sinh mã máy hiệu quả, bao gồm kiểm soát chi tiết các hành vi động và tĩnh. Nó được tạo ra vào đầu những năm 1990 bởi một nhóm do Apple Computer lãnh đạo.

Một tổng quan ngắn gọn và kĩ lưỡng về ngôn ngữ này có thể tìm thấy được trong Hướng dẫn Tham khảo Dylan.[1]

Dylan xuất phát từ SchemeCommon Lisp, và thêm vào một hệ thống đối tượng tích hợp có nguồn gốc từ Common Lisp Object System (CLOS). Trong Dylan, tất cả các giá trị (bao gồm số, ký tự, hàm và lớp) là các đối tượng hạng nhất (first-class object). Dylan hỗ trợ đa kế thừa, đa hình, đa điều phối (multiple dispatch), đối số từ khóa (keyword argument), nội quan đối tượng (object introspection), macro mở rộng cú pháp dựa trên mẫu, và nhiều tính năng nâng cao khác. Các chương trình có thể thể hiện sự kiểm soát chi tiết đối với tính năng động, thừa nhận các chương trình chiếm sự liên tục giữa các chương trình động và tĩnh, và hỗ sự phát triển tiến hóa (cho phép tạo nguyên mẫu nhanh thông qua quá trình tinh chỉnh và tối ưu hóa tăng dần).

Mục tiêu thiết kế chính của Dylan là trở thành một ngôn ngữ động, phù hợp để phát triển phần mềm thương mại. Dylan cố gắng chỉ ra vấn vấn đề hiệu suất tiềm ẩn bằng cách giới thiệu giới hạn "tự nhiên" cho các tính năng linh hoạt hoàn toàn của hệ thống Lisp, cho phép trình biên dịch hiểu rõ các đơn vị có thể biên dịch, ví dụ như thư viện.

Dylan vay mượn phần lớn ngữ nghĩa từ Scheme và các ngôn ngữ Lisps khác; một vài hiện thực Dylan ban đầu được xây dựng trong các hệ thống Lisp còn tồn tại. Tuy nhiên, Dylan có cú pháp giống với ALGOL thay vì cú pháp tiền tố giống Lisp.

Lịch sử

[sửa | sửa mã nguồn]

Dylan được tạo ra vào dầu những năm 1990 bởi một nhóm do Apple Computer lãnh đạo.

Dylan dùng cú pháp giống với ALGOL và được thiết kế bởi Michael Kahl. Nó được mô tả rất chi tiết trong Hướng dẫn Tham khảo Dylan.[1] Trang này hiển thị các ví dụ về một số tính năng cú pháp ít dùng. Nhiều phần trong đó đến từ di sản Lisp của Dylan.

Một lớp đơn giản với nhiều điểm:

define class <point> (<object>)
  slot point-x:: <integer>,
    required-init-keyword: x:;
  slot point-y:: <integer>,
    required-init-keyword: y:;
end class <point>;

Cũng lớp trên, nhưng được viết lại theo cách tối giản nhất có thể:

define class <point> (<object>)
  slot point-x;
  slot point-y;
end;

Apple Dylan

[sửa | sửa mã nguồn]

Apple Dylan là hiện thực của Dylan bởi Apple Computer. Nó ban đầu được phát triển cho sản phẩm Apple Newton.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ a b Andrew Shalit; David Moon; Orca Starbuck (ngày 11 tháng 9 năm 1996). The Dylan Reference Manual. Apple Press. Addison-Wesley. ISBN 9780201442113.

Liên kết ngoài

[sửa | sửa mã nguồn]

Bản mẫu:Ngôn ngữ lập trình Lisp

Chúng tôi bán
Bài viết liên quan
Nhân vật Xích Luyện / 赤练 - Tần Thời Minh Nguyệt
Nhân vật Xích Luyện / 赤练 - Tần Thời Minh Nguyệt
Xích Luyện xuất thân là công chúa nước Hàn, phong hiệu: Hồng Liên. Là con của Hàn Vương, em gái của Hàn Phi
[Eula] Giải nghĩa cung mệnh - Aphros Delos
[Eula] Giải nghĩa cung mệnh - Aphros Delos
Nhưng những con sóng lại đại diện cho lý tưởng mà bản thân Eula yêu quý và chiến đấu.
Nhân vật Tenka Izumo - Mato Seihei no Slave
Nhân vật Tenka Izumo - Mato Seihei no Slave
Tenka Izumo (出いず雲も 天てん花か, Izumo Tenka) là Đội trưởng Đội Chống Quỷ Quân đoàn thứ 6 và là nhân vật phụ chính của bộ manga Mato Seihei no Slave.
Danh sách những vật dụng cần chuẩn bị khi đi leo núi (phần 1)
Danh sách những vật dụng cần chuẩn bị khi đi leo núi (phần 1)
Tôi sẽ đưa ra danh mục những nhóm đồ dùng lớn, sau đó tùy vào từng tình huống mà tôi sẽ đưa ra tùy chọn tương ứng với tình huống đó