Hurl, ngôn ngữ của ngoại lệ
Tổng quan
- Hurl là một ngôn ngữ được tạo ra để khám phá ý tưởng về một ngôn ngữ sử dụng xử lý ngoại lệ như luồng điều khiển duy nhất.
- Ngôn ngữ này bắt đầu từ các cuộc trò chuyện giữa Nicole Tietz-Sokolskaya và những người bạn tại Recurse Center.
- Trang web này cung cấp tài liệu, ví dụ, hướng dẫn gỡ lỗi và FAQ về cách sử dụng Hurl.
Cài đặt và cách sử dụng
- Mã nguồn của Hurl được cung cấp trong kho lưu trữ của Hurl.
- Nếu bạn phát hiện bug hay lỗi, các bản vá qua email đều được hoan nghênh, nhưng bạn phải chuyển nhượng mọi quyền đối với bản vá đó.
- Điều này nhằm duy trì khả năng tái cấp phép và cấp phép thương mại.
Cú pháp và triết lý của Hurl
- Hurl là một ngôn ngữ xoay quanh xử lý ngoại lệ.
- Luồng điều khiển chỉ được triển khai bằng xử lý ngoại lệ.
Các mẫu phổ biến
- Luồng điều khiển được quản lý thông qua xử lý ngoại lệ.
- Không sử dụng các cấu trúc điều khiển truyền thống (ví dụ: if, for).
Thư viện chuẩn
- Hurl cung cấp thư viện chuẩn.
- Bao gồm nhiều tính năng khác nhau dựa trên xử lý ngoại lệ.
Ví dụ
- Có nhiều đoạn mã ví dụ được cung cấp.
- Thông qua mã ví dụ, người dùng có thể dễ dàng hiểu cách sử dụng Hurl.
Gỡ lỗi và lỗi
- Có hướng dẫn gỡ lỗi.
- Giải thích cách xử lý lỗi một cách hiệu quả.
FAQ
- Cung cấp câu trả lời cho các câu hỏi thường gặp.
- Đề cập đến những vấn đề phổ biến có thể phát sinh khi sử dụng Hurl.
Những lời tán dương dành cho Hurl
- Erika Rowland: "Con quái vật này thật đẹp, và tôi tuyệt đối không muốn đụng vào nó. Tôi không muốn tên mình bị gắn với thứ này."
- Nicole Tietz-Sokolskaya: "Tôi đã quyết định biến ngôn ngữ này thành hiện thực. Xin lỗi."
- Mary McGrath: "🤮" (đây có phải là một câu trích dẫn dùng được không?)
- nate (@nmoo@mas.to): "Được chứng nhận là bất thường™!"
Mã nguồn
- Mã nguồn của Hurl và của trang web này được cung cấp trong kho lưu trữ của Hurl.
- Các bản vá qua email đều được hoan nghênh, nhưng bạn phải chuyển nhượng mọi quyền.
Giấy phép
- Dự án này có thể được sử dụng theo một trong ba giấy phép sau:
- AGPL-3.0
- GAL-1.0 (Gay Agenda License)
- giấy phép thương mại
- Bạn có thể chọn một trong ba giấy phép để sử dụng.
Ý kiến của GN⁺
- Ngôn ngữ lấy ngoại lệ làm trung tâm: Hurl áp dụng một cách tiếp cận độc đáo khi đặt xử lý ngoại lệ vào trung tâm của luồng điều khiển, thay thế các cấu trúc điều khiển truyền thống. Điều này đòi hỏi các lập trình viên phải có một cách tư duy mới.
- Giá trị giáo dục: Hurl có thể giúp hiểu sâu hơn về tầm quan trọng của xử lý ngoại lệ và cách vận dụng nó. Đặc biệt, nó cho thấy rõ những vấn đề có thể xảy ra khi xử lý ngoại lệ bị sử dụng sai cách.
- Vấn đề về tính thực dụng: Việc sử dụng Hurl trong công việc thực tế có thể là một thử thách. Với các nhà phát triển đã quen với cấu trúc điều khiển truyền thống, đây có thể là một rào cản lớn.
- Hợp tác với cộng đồng: Mã nguồn của Hurl được cung cấp dưới dạng mã nguồn mở và khuyến khích sự tham gia của cộng đồng. Điều này có thể tạo tác động tích cực đến sự phát triển của dự án và việc sửa lỗi.
- Lựa chọn giấy phép: Việc cung cấp nhiều giấy phép mang lại nhiều lựa chọn hơn cho người dùng. Điều này góp phần tăng tính linh hoạt của dự án.
1 bình luận
Ý kiến trên Hacker News
Tóm tắt các bình luận trên Hacker News
Khi thiết kế ngôn ngữ lập trình, việc bắt buộc namespace và import là rất quan trọng
Ý kiến về xử lý ngoại lệ
Ví dụ sử dụng
tosstosschủ yếu được dùng khi hàm trả về nhiều giá trị.Ngôn ngữ Hurl và hệ thống condition
Sử dụng tên miền .wtf
Ngôn ngữ tương tự hiệu ứng đại số
Cảm xúc lẫn lộn về ngôn ngữ Hurl
Sự khác biệt giữa
tossvàhurlhurlcó thể bị bắt, còntossthì không thể.tosser.Cấu trúc ngôn ngữ
tosstossduyệt ngăn xếp để tìm trình xử lý ngoại lệ rồi tiếp tục thực thi như thể chưa từng có gì xảy ra.tossthì dùngtoss handler.