Alfred Vaino Aho và Jeffrey David Ullman đã giành được Giải thưởng Turing 2020, tương đương với Giải Nobel về khoa học máy tính, cho công trình nghiên cứu ngôn ngữ lập trình của họ.
Qua hơn ba thập kỷ cộng tác, Aho và Ullman đồng tác giả một loạt sách giáo khoa chuyên sâu về ngôn ngữ lập trình, dữ liệu và thuật toán đã định hình tư duy của một thế hệ các nhà khoa học máy tính. Họ đặc biệt nổi tiếng với công trình nghiên cứu lý thuyết về trình biên dịch (theory of compilers), một loại phần mềm có thể chuyển đổi các lệnh từ một ngôn ngữ lập trình trừu tượng, chẳng hạn như ngôn ngữ cơ sở dữ liệu SQL, thành mã máy mà máy tính thực thi.
Nhờ các lý thuyết mà Aho, hiện 79 tuổi và Ullman, 78 tuổi, đã giúp phát triển, hầu hết các lập trình viên làm việc trên các chương trình ngày nay không cần phải lo lắng về cách các mạch của máy tính thực sự được định cấu hình hoặc chính xác cách thông tin được chuyển qua máy.
“Aho và Ullman đã thiết lập những ý tưởng nền tảng về thuật toán, ngôn ngữ chính thức, trình biên dịch và cơ sở dữ liệu, những công cụ trong sự phát triển của bối cảnh phần mềm và lập trình ngày nay,” Jeff Dean, một kỹ sư và giám đốc điều hành của Google, người hiện là thành viên cấp cao của công ty và phó chủ tịch cấp cao tại Google Research và Google Health.
Giải thưởng Turing (Turing Award) được trao hàng năm bởi Hiệp hội Máy tính (Association for Computing Machinery – ACM). Những người chiến thắng chia sẻ giải thưởng trị giá 1 triệu đô la mà Google sẽ tài trợ. Giải thưởng được đặt tên cho Alan Turing, nhà toán học người Anh, người đã phát triển nền tảng của máy tính hiện đại.
Những người chiến thắng giải thưởng Turing năm nay bắt đầu hợp tác tại Bell Labs vào cuối những năm 1960, sau khi cả hai đều nhận bằng Tiến sĩ từ Đại học Princeton. Ban đầu họ làm việc để phát triển các thuật toán hiệu quả hơn và dịch các ngôn ngữ lập trình. Mặc dù Ullman rời Bell Labs để trở lại học viện vào năm 1969, cuối cùng kết thúc tại Đại học Stanford, nơi ông hiện là giáo sư danh dự, hai người vẫn tiếp tục viết sách cùng nhau.
Năm 1974, họ xuất bản cuốn Thiết kế và phân tích thuật toán máy tính (The Design and Analysis of Computer Algorithms), cuốn sách này đã trở thành sách giáo khoa tiêu chuẩn cho các khóa học về thuật toán trong hơn một thập kỷ. Cuốn sách có ảnh hưởng lớn đối với việc nhóm các thuật toán riêng lẻ thành các danh mục thiết kế chung hơn và tiếp tục gây ảnh hưởng lớn đến lĩnh vực này.
Ba năm sau, Aho và Ullman xuất bản Nguyên tắc thiết kế trình biên dịch (Principles of Compiler Design), cuốn sách này cũng đã trở thành cuốn sách kinh điển, dạy cho nhiều thế hệ sinh viên cách tạo trình biên dịch và cách suy nghĩ về lý thuyết ngôn ngữ máy tính. Sách giáo khoa được gọi là “Sách Rồng” trong giới khoa học máy tính vì nó có hình một con rồng trên trang bìa, giống như một cuốn sách thần kỳ nào đó mà Harry Potter có thể chạy quanh trường Hogwarts, ngoại trừ thuật sĩ hư cấu chưa được phát minh. Ullman nói: “Tôi thường được cho biết rằng việc đưa trang bìa vui nhộn này lên Cuốn sách về Rồng đã thu hút sinh viên theo học ngành khoa học máy tính. “Rất nhiều sinh viên thích ý tưởng đi dạo quanh khuôn viên trường với cuốn sách kỳ lạ này dưới cánh tay của họ.”
Aho, người đã làm việc tại Bell Labs hơn 30 năm và hiện là giáo sư khoa học máy tính danh dự tại Đại học Columbia, nói rằng khi ở phòng thí nghiệm nổi tiếng của công ty, ông đã tận mắt chứng kiến tầm quan trọng của việc thiết kế các ngôn ngữ lập trình hoạt động tốt cho những người cần máy tính. để thực hiện công việc trong một lĩnh vực cụ thể, chẳng hạn như toán học hoặc hóa học hoặc sắp chữ, mà không cần phải là chuyên gia về cách máy tính hoạt động. Ullman mô tả nghệ thuật tạo ngôn ngữ lập trình là “cho phép lập trình viên nói ít nhất có thể và diễn ra càng nhiều càng tốt.”
Cả Aho và Ullman đều nói rằng khi nhìn lại sự nghiệp của mình, họ hài lòng nhất bởi tác động của họ đối với các sinh viên mà họ đã dạy và cố vấn, nhiều người trong số họ hiện đang giữ các vị trí cấp cao tại các công ty công nghệ lớn và đã phát minh ra nhiều ngôn ngữ lập trình. Trong số các Ph.D. sinh viên là đồng sáng lập Google Sergey Brin.
Aho nói rằng điều quan trọng là phải cung cấp cho sinh viên nền tảng về lý thuyết ngôn ngữ lập trình và thuật toán, một phần vì bản thân các ngôn ngữ có xu hướng thay đổi thời trang. “Nếu bạn nhìn vào các ngôn ngữ lập trình đầu tiên được dạy cho sinh viên trong học viện, nó sẽ thay đổi liên tục,” ông lưu ý. “Đó là C hoặc C ++, sau đó là Pascal phổ biến, và bây giờ Python dường như là ngôn ngữ lập trình đầu tiên. Ai biết được 10 năm nữa, 100 năm nữa, 1.000 năm nữa sẽ ra sao? ” Anh ấy nói thêm, “Cả hai chúng tôi đều cảm thấy những điều cơ bản và trừu tượng có nhiều sức mạnh lâu dài hơn so với công nghệ của thời điểm hiện tại”.
Theo Fortune