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
Paimon từng là Công chúa Đảo Thiên Không
Paimon từng là Công chúa Đảo Thiên Không
Vương miện Trí thức - mảnh ghép còn thiếu trong giả thuyết Paimon từng là Công chúa Đảo Thiên Không
Công thức làm bánh bao cam
Công thức làm bánh bao cam
Ở post này e muốn chia sẻ cụ thể cách làm bánh bao cam và quýt được rất nhiều người iu thích
Thay đổi lối sống với buổi sáng chuẩn khoa học
Thay đổi lối sống với buổi sáng chuẩn khoa học
Mình thuộc tuýp người làm việc tập trung vào ban đêm. Mình cũng thích được nhâm nhi một thứ thức uống ngọt lành mỗi khi làm việc hay học tập
Tìm hiểu cơ chế tính điểm phim của IMDb
Tìm hiểu cơ chế tính điểm phim của IMDb
Ratings trên IMDb được tính toán dựa trên số điểm của users theo thang từ 1-10