Hacker News
Ngôn ngữ lập trình Goose
Phần mềmLần đầu xuất hiện 146 điểm52 bình luận
Goose là một ngôn ngữ lập trình mới, được thiết kế để an toàn về bộ nhớ mà không cần bộ cấp phát heap, bộ thu gom rác hay chú thích thời gian sống. Theo các bài kiểm tra trong kho mã của dự án, Goose chạy nhanh hơn C++ và Rust, đồng thời dùng ít bộ nhớ hơn.
Goose là gì?
Goose là một ngôn ngữ lập trình có cú pháp quen thuộc với người dùng C và Rust. Khác với hai ngôn ngữ đó, Goose không có heap. Mọi giá trị động nằm trực tiếp trên một ngăn xếp dữ liệu do trình biên dịch quản lý. Khi hết phạm vi, bộ nhớ được giải phóng. Các quy tắc về kiểu và thời gian sống của ngôn ngữ giúp cách quản lý bộ nhớ này an toàn.
Các con số chính
- Trong 16 bài kiểm tra, Goose chạy nhanh gấp 3,3 lần C++ thông thường.
- So với C++ được tối ưu tay, Goose nhanh gấp 1,16 lần.
- So với Rust an toàn tốt nhất, Goose nhanh gấp 1,12 lần.
- Goose dùng ít bộ nhớ hơn: ít hơn 1,9 lần so với C++ thông thường, 1,3 lần so với C++ tối ưu, và 1,2 lần so với Rust.
Vì sao điều này đáng chú ý
Goose cho thấy có thể vừa nhanh, vừa an toàn, mà không cần cấp phát bộ nhớ thủ công hay bộ thu gom rác. Các lập trình viên viết phần mềm cần hiệu năng cao có thêm một lựa chọn. Tuy nhiên, các con số đến từ bộ benchmark của chính dự án, nên nên tự kiểm tra trước khi kết luận.
Cần theo dõi điều gì
- Xem Goose có được nhiều người dùng và thư viện chuẩn đầy đủ hơn không.
- Xem các bài benchmark có được người khác kiểm chứng độc lập không.
- Xem cách Goose xử lý nhiều luồng, vì mỗi luồng chạy như một chương trình riêng với bộ nhớ riêng.
Chú giải
- Goose
- Ngôn ngữ lập trình mới, an toàn về bộ nhớ và chạy nhanh.
- heap
- Vùng nhớ dùng để cấp phát và giải phóng dữ liệu trong lúc chương trình chạy.
- benchmark
- Bài kiểm tra đo tốc độ và mức dùng bộ nhớ của một chương trình.