Drama từ 2008 bị đào lại trên HN: Đâu là bí kíp thực sự để viết một Compiler mà đ*o cần cày cuốn sách rồng ngàn trang cắn RAM não?

Anh em dev lúc rảnh rỗi thường làm gì? Kẻ thì cày game, người thì rải CV dạo, nhưng có một hội pháp sư rảnh háng lại rủ nhau đi... viết Compiler (trình biên dịch).
Dạo một vòng Hacker News, tự nhiên thấy anh em đào mộ lại một bài viết từ tận năm 2008 với cái title ngạo nghễ vcl: "Want to Write a Compiler? Just Read These Two Papers" (Muốn viết Compiler à? Đọc 2 bài báo này là xong).
Nói thật với các đồng đạo, nhắc đến viết Compiler thì 99% anh em coder đều rén. Nó giống như kiểu tự chế tạo động cơ tên lửa vậy. Dân tình đồn nhau muốn tu luyện môn này là phải ôm cuốn "Dragon Book" (Sách Rồng) dày hơn ngàn trang, đọc xong chắc chắn cắn RAM tẩu hỏa nhập ma, trầm cảm mẹ luôn.
Nhưng vị huynh đài tác giả của bài blog này lại vỗ vai bảo: "Dẹp mẹ đi. Đ*o cần rồng phượng gì hết. Chỉ cần đọc đúng 2 cái papers khoa học là bú luôn được một cái compiler mượt mà". Ảo ma chưa? Thay vì nhồi sọ mớ lý thuyết parsing phức tạp như chữ tượng hình, tác giả hướng dẫn anh em đi thẳng vào thực hành, build từ từ từng bước một.
Tuy bài gốc không có comment, nhưng dạo quanh các diễn đàn tech hóng hớt, vụ này chia phe rõ ràng lắm:
Tóm cái váy lại, viết compiler có giúp anh em deal lương gấp đôi hay ra tiền ngay không? Chắc chắn là KHÔNG. Trừ khi bạn đang build một ngôn ngữ mới định cạnh tranh với Rust (chúc may mắn với điều đó).
Nhưng, nó là bài tập gym cho não bá đạo nhất. Anh em không cần thành giáo chủ, nhưng một khi đã hiểu cách code của mình bị xé nhỏ, biên dịch và chạy dưới đáy xã hội (machine code) như thế nào, thì level debug của các ông sẽ lên một tầm cao mới. Mấy cái bug dị giáo, bộ nhớ leak từa lưa sẽ không còn dọa được anh em nữa.
Cuối tuần rảnh, thay vì lướt top top, thử code một cái toy compiler xem sao. Bể thì thôi, xóa repo, coi như chưa có chuyện gì xảy ra.
Nguồn hóng hớt: Want to Write a Compiler? Just Read These Two Papers (2008)