Có ý kiến cho rằng trước khi viết trình biên dịch, cần hiểu kiến trúc máy tính và biết trình biên dịch phải tạo ra gì để sinh mã máy hiệu quả. Trường học và đại học ngày càng có xu hướng xem nhẹ kiến trúc máy tính và lập trình hệ thống, nhưng kiến thức này rất quan trọng để có được những công việc hàng đầu trong ngành.
Một người dùng nhắc đến một khóa học cụ thể đã giúp họ vượt qua vòng phỏng vấn với các nhóm kỹ thuật trình biên dịch tại MANGA (Meta, Apple, Nvidia, Google, Amazon). Chương trình giảng dạy về hệ thống tính toán cấp thấp của Đại học Waterloo vốn đã rất xuất sắc, và họ cũng đang đóng góp cho các dự án trình biên dịch mã nguồn mở, nhưng khóa học này đã giúp họ trả lời những câu hỏi khó nhất trong buổi phỏng vấn.
Có cảm giác rằng tài liệu học thuật chuyên sâu về tối ưu hóa trình biên dịch nâng cao còn thiếu. Nhiều khóa học chỉ ở mức nhập môn, và để thực sự học được những kỹ thuật thú vị thì phải đào rất sâu vào mã nguồn của các trình biên dịch mã nguồn mở phổ biến.
Lĩnh vực trình biên dịch dường như không phát triển quá nhiều trong khoảng 30 năm qua. Có người từng giảng dạy tại Đại học Perugia giai đoạn 2004-2006, và tài liệu dùng khi đó đã cũ từ 15-20-25 năm rồi. Gần đây có vẻ như đang có thay đổi.
Có người vui vì có một khóa học cho phép tự học các chủ đề nâng cao theo tốc độ của riêng mình. Họ muốn theo đuổi sự nghiệp kỹ sư trình biên dịch, nhưng nơi họ sống không có nhiều cơ hội học tập và việc làm. Thị trường việc làm ở Mỹ cạnh tranh rất khốc liệt, và họ không biết phải bắt đầu từ đâu. Khóa học đã học trong chương trình cử nhân là trải nghiệm duy nhất của họ.
Khóa học cũng bao gồm "lý thuyết thu gom rác thống nhất", giúp sinh viên có được hiểu biết đúng đắn về reference counting (RC) và tracing garbage collection (GC).
Nội dung về cơ bản giống với những gì được dạy trong một khóa xây dựng trình biên dịch tổng quát mà ai đó từng tham gia cách đây 20 năm. Có liên kết đến một vài bài báo mới nên đáng để xem qua. Sau 18 năm không nhìn vào mã nguồn trình biên dịch, họ cảm thấy mình đã tụt lại ở các chủ đề như profiling và tối ưu hóa dựa trên đường đi. Họ cũng đoán rằng với ML thì có lẽ sẽ có các kỹ thuật SIMD nâng cao hơn.
CS 6120 là một khóa học tiến sĩ về hiện thực hóa ngôn ngữ lập trình do Adrian Sampson của Đại học Cornell giảng dạy. Có người thắc mắc liệu khóa này có thực sự rất nâng cao hay không.
Có người chia sẻ rằng họ đã học khóa này online vào mùa hè vài năm trước và học được rất nhiều. Việc gửi một PR cho một vấn đề nhỏ trong Bril IR rồi cùng giáo sư chỉnh sửa là trải nghiệm rất thú vị.
Có người thắc mắc liệu có khóa học nào làm tiền đề cho khóa này không.
1 bình luận
Ý kiến Hacker News