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

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), động và phụ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.

Dylan xuất phát từ Scheme và Common 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ử

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.

Cú pháp
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.  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

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

Liên kết ngoài
, Open Dylan – hosts open source, optimizing Dylan compiler targeting Unix/Linux, macOS, Microsoft Windows
Overview of the language
An Introduction to Dylan
Apple Dylan TR1
The Marlais Dylan Interpreter – An implementation of a subset of Dylan, suitable for bootstrapping a compiler

Phần mềm đa nền tảng
 
Họ ngôn ngữ lập trình Lisp
Họ ngôn ngữ lập trình Smalltalk