Tập 04: Cái tên DUY

Đặt tên một ngôn ngữ lập trình theo tên mình có một nhược điểm chí mạng: nếu dự án thất bại, bạn không thể đổ lỗi cho phòng marketing.

Tôi gọi nó là DUY không phải để tự dựng một tượng đài cá nhân. Cái tên này thực chất làm cho lời cam kết trở nên khó trốn chạy hơn. Khi một dự án chỉ mang một mã hiệu vô danh, ta có thể dễ dàng cất nó vào kho lưu trữ cùng hàng chục thử nghiệm thất bại khác. Nhưng khi nó mang tên chính mình, mỗi lần mở terminal gõ lệnh đều mang lại cảm giác như ai đó vừa gọi tên điểm danh trước lớp.

Tên DUY dần gắn liền với một lời hứa ngắn gọn:

Viết ý định đơn giản. Biên dịch thành sức mạnh chính xác.

"Đơn giản" ở đây không đồng nghĩa với "dễ dãi". Một cây cầu dễ đi qua không có nghĩa là kỹ sư thiết kế được phép tính toán tải trọng bằng trực giác mơ hồ. Mã nguồn DUY nên ít các nghi lễ rườm rà ở bề mặt, nhưng trình biên dịch phía dưới phải làm việc nhiều hơn: theo dõi kiểu dữ liệu, quyền sở hữu, vùng sống của biến, hiệu ứng phụ và tính hợp lệ của IR.

Đó là một sự chuyển dịch lao động có chủ ý. Thay vì bắt hàng nghìn lập trình viên lặp đi lặp lại cùng một kỷ luật bằng trí nhớ ngắn hạn của con người, ta cố gắng mã hóa kỷ luật ấy một lần duy nhất trong trình biên dịch. Trình biên dịch không biết mệt, không biết quên và cũng không ngại làm mất lòng người viết code. Nó là đồng nghiệp duy nhất có thể nói "không" mười nghìn lần mỗi giây mà vẫn được xem là đang hoàn thành xuất sắc nhiệm vụ.

Cái tên cũng nhắc nhở tôi về phạm vi trách nhiệm. DUY không thể chỉ là một cú pháp đẹp mắt được dịch tạm sang C rồi tuyên bố hoàn thành. Nó phải có parser, checker, IR, verifier, backend, runtime độc lập và bằng chứng kỹ thuật rõ ràng. Cầu tạm được phép tồn tại trong lúc thi công, nhưng điều cấm kỵ là gọi cây cầu tạm ấy thành lục địa vững chắc.

Sau khi đã có tên, câu hỏi tiếp theo trở nên thực tế và bớt lãng mạn hơn: DUY đang thật sự chiến đấu chống lại điều gì?


Bình luận (0)

Đang tải bình luận...