Ngôn ngữ lập trình Racket
- Racket là một ngôn ngữ lập trình trưởng thành, thực tiễn, có khả năng mở rộng, vững chắc và tinh tế
- Racket là một ngôn ngữ lập trình hướng ngôn ngữ (Language-Oriented Programming), với các đặc điểm như sau:
- Hỗ trợ higher-order occurrence typing
- Tích hợp sẵn ngôn ngữ Scribble để tạo tài liệu
- Hỗ trợ lập trình logic như Datalog
- Hệ thống macro rất mạnh, từ macro nhỏ đến macro lớn, dễ viết DSL, hỗ trợ mọi cú pháp, v.v.
- Hệ sinh thái Racket bao gồm phần mềm, hướng dẫn và tài liệu, cộng đồng, sách, giáo dục, swag, v.v.
- Racket đã nhận được tài trợ từ nhiều tổ chức và cá nhân như NSF, DARPA, FIPSE, Quỹ Exxon, Microsoft, Mozilla, Google, v.v.
Ý kiến của GN⁺
- Một trong những ưu điểm lớn nhất của Racket là hỗ trợ lập trình hướng ngôn ngữ. Nhờ đó có thể dễ dàng tạo ra các ngôn ngữ đặc thù miền (DSL), giúp nâng cao năng suất
- Tuy nhiên, do đặc trưng của họ ngôn ngữ Lisp là dùng rất nhiều dấu ngoặc, nên với người mới tiếp cận thì khả năng đọc có thể kém hơn. Sẽ hay hơn nếu đưa vào cú pháp khác thay cho dấu ngoặc như Clojure
- Hướng dẫn và tài liệu được xây dựng rất tốt nên việc học khá dễ dàng. Nó cũng được sử dụng nhiều trong giáo dục
- Có thể dùng như một ngôn ngữ lập trình đa dụng, nhưng có vẻ nó vẫn thiên về việc tạo DSL hoặc dùng cho giáo dục như SICP. Để dùng trong môi trường production thực tế thì có vẻ hệ sinh thái thư viện vẫn còn thiếu
- Khuyến nghị cho những ai muốn bắt đầu học ngôn ngữ hàm. Tuy nhiên, trong công việc thực tế nên cân nhắc Haskell, OCaml, F#,...
1 bình luận
Ý kiến trên Hacker News
Tóm tắt:
typed/racket,racket/gui,scribble/basevào cùng một ứng dụng. Các chương hướng dẫn giải thích từng ngôn ngữ lại được trình bày rời rạc, không liên hệ với nhau, gây bối rối.#langcho Lua.