Đạt được native compiler dịch được code ra binary rất đẹp, nhưng kỷ luật kỹ thuật bắt chúng tôi phải trả lời một câu hỏi khó chịu:
Liệu chúng tôi đã có thể xóa bỏ hoàn toàn JavaScript (Node.js) khỏi dự án chưa?
Sprint 132 và 133 buộc tôi phải nhìn thẳng vào sự thật và ghi nhận caveat đó vào báo cáo tiến độ.
Trình biên dịch native hiện tại (duyc native binary) mới chỉ tự dịch được subset của chính nó. Khi người dùng gõ lệnh bin/duy, wrapper đó vẫn là 100% code Node.js chịu trách nhiệm parse tham số dòng lệnh và điều phối bootstrap. Stage 0 khởi động vẫn đi qua JS oracle.
Tôi đã đề xuất xóa bỏ JS ngay lập tức bằng cách viết một shell script thô để điều phối. Nhưng sau khi phân tích kỹ các rủi ro về đa nền tảng và quản lý tham số dòng lệnh phức tạp, tôi nhận ra đó là một giải pháp cẩu thả. Tôn trọng sự thật kỹ thuật có nghĩa là thừa nhận giới hạn hiện tại.
Chúng tôi công bố điều này rõ ràng trong BOOTSTRAP_MATRIX.md và compiler/README.md. Việc cố tình tuyên bố "đã self-host hoàn toàn" để lấy tiếng vang trong khi vẫn âm thầm spawn Node.js dưới nền là một sự gian lận semantic nguy hiểm. JS oracle chưa thể nghỉ hưu; nó vẫn là cái phao cứu sinh bảo đảm baseline cho đến khi native compiler tự gánh được full language mà không cần bất kỳ sự hỗ trợ nào của JavaScript.
Bình luận (0)
Đang tải bình luận...