Scheme

Scheme
Mẫu hìnhđa khuôn mẫu
Thiết kế bởiGuy L. Steele
G. J. Sussman
Xuất hiện lần đầuthập niên 1970
Kiểm tra kiểumạnh, động
Trang mạngwww.scheme-reports.org
Các bản triển khai lớn
PLT Scheme,
MIT/GNU Scheme,
Scheme 48, Chicken, Gambit,
Guile, Bigloo,
Chez Scheme, STk,
STklos, Larceny,
SCM, Kawa
Ảnh hưởng từ
Lisp, ALGOL
Ảnh hưởng tới
Common Lisp, JavaScript,
Ruby, Dylan, Lua

Scheme là một ngôn ngữ lập trình hỗ trợ nhiều khuôn mẫu lập trình (multi-paradigm), nhưng được biết đến nhiều nhất với khả năng hỗ trợ lập trình hàm. Đây là một trong hai biến thể chính của Lisp, do Guy L. SteeleGerald J. Sussman xây dựng vào những năm 1970.

Hiện nay phiên bản phổ biến của Scheme được phát triển theo chuẩn R5RS. Một phiên bản chính của nó là MzScheme.

Khác biệt

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

Scheme được thiết kế với mục đích gọn và rõ ràng hơn Lisp, thể hiện ở một số khác biệt sau:

  • Định nghĩa hàm bởi define thay vì defun
  • Các hằng số logic đúng và sai được viết là #t#f thay vì TNIL
  • Một số quy ước: các hàm predicate (trả lại giá trị đúng/sai) kết thúc bằng dấu chấm hỏi, chẳng hạn zero?, even?. Các hàm stateful (làm thay đổi giá trị của biến) kết thúc bằng dấu chấm than, chẳng hạn set!
  • Lược bỏ các hàm rườm rà, chẳng hạn nhóm các hàm caar, cddr, cadr...

Phiên bản hiện thực

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

Một phiên bản hiện thực khá nổi tiếng là PLT Scheme[1] Lưu trữ 2008-12-17 tại Wayback Machine. Bản này dựa trên nền của MzScheme nhưng tích hợp một môi trường phát triển thân thiện (DrScheme). Trong đó có chia sẵn các chủ đề lập trình (theme) khác nhau; chẳng hạn chủ đề đầy đủ với lập trình theo chuẩn R5RS, hay chủ đề dành cho sinh viên (chỉ có một số tính năng cơ bản nhất trong Scheme, nhưng dễ học hơn). Đặc biệt trong PLTScheme, các nguyên tố (atom) còn bao gồm cả dạng ảnh. Đặc điểm này giúp cho việc lập trình trở nên trực quan và lý thú.

R5RS, hay Revised(5) Report on the Algorithmic Language Scheme—báo cáo chỉnh sửa (5) về ngôn ngữ lập trình Scheme, là tài liệu do nhiều tác giả viết, được Richard Kesley, William Clinger, và Jonathan Rees tập hợp (20 tháng 2 năm 1998). Tài liệu R5RS trình bày những đặc điểm trong ngôn ngữ lập trình Scheme.

Giáo dục

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

Scheme được dùng nhiều trong các trường học tại Hoa Kỳ. Tại MIT, Scheme được giảng dạy như môn học bắt buộc trong ngành điện toán, sử dụng giáo trình là cuốn Structure and Interpretation of Computer Programs (SICP) [2] Lưu trữ 2017-12-26 tại Wayback Machine.

Các phần mềm

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

Một số phần mềm ứng dụng được viết bằng Scheme, chẳng hạn:

Tham khảo

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Đại cương về sát thương trong Genshin Impact
Đại cương về sát thương trong Genshin Impact
Các bạn có bao giờ đặt câu hỏi tại sao Xiangling 4 sao với 1300 damg có thể gây tới 7k4 damg lửa từ gấu Gouba
[Giả thuyết] Paimon là ai?
[Giả thuyết] Paimon là ai?
Trước tiên là về tên của cô ấy, tên các vị thần trong lục địa Teyvat điều được đặt theo tên các con quỷ trong Ars Goetia
Ngày đầu tiên đi học ở Đức diễn ra như thế nào?
Ngày đầu tiên đi học ở Đức diễn ra như thế nào?
Ngay cả những cha mẹ không được tặng túi quà khi còn nhỏ cũng sẽ tặng lại túi quà cho con cái của họ.
Ethereum, Cosmos, Polkadot và Solana, hệ sinh thái nhà phát triển của ai là hoạt động tích cực nhất?
Ethereum, Cosmos, Polkadot và Solana, hệ sinh thái nhà phát triển của ai là hoạt động tích cực nhất?
Làm thế nào các nền tảng công nghệ có thể đạt được và tăng giá trị của nó trong dài hạn?