Vĩnh biệt Sir Tony Hoare: Cha đẻ của Quicksort và 'Cú lừa tỷ đô' Null Reference vừa nằm xuống
Huyền thoại lập trình Tony Hoare - người tạo ra Quicksort và khái niệm NULL vừa qua đời ở tuổi 92. Cùng nhìn lại di sản khổng lồ và bài học thực tế cho dân công nghệ.

Vừa check news thấy cụ Tony Hoare vừa chính thức "shutdown" hệ thống ở tuổi 92. Anh em dev dù có đang bận hotfix hay đang mải mê "lùa gà" dự án mới thì cũng nên dành một phút để tri ân người đàn ông này. Không có cụ, chắc giờ này anh em mình vẫn đang loay hoay sắp xếp mảng (array) bằng niềm tin và hy vọng.
Rốt cuộc thì cụ Tony Hoare đã để lại di sản gì cho hậu thế?
Nếu ông anh là dev mà chưa nghe tên Tony Hoare thì đúng là hơi... thiếu sót kiến thức nền tảng. Tóm tắt nhanh cho anh em lười đọc về những cú "hit" của cụ:
- Quicksort (1959): Thuật toán sắp xếp nhanh thần thánh mà đến tận bây giờ, sau hơn 60 năm, nó vẫn là "vua" trong các thư viện chuẩn của Java, C++, Python. Không có nó, ứng dụng của các ông load chắc mất cả thanh xuân.
- Giải Turing (1980): Giải thưởng tương đương Nobel của ngành IT. Cụ nhận giải vì những đóng góp định hình nên cách chúng ta viết code ngày nay.
- CSP (Communicating Sequential Processes): Nghe thì học thuật vcl nhưng đây chính là cụ tổ của khái niệm "concurrency" hiện đại. Nếu anh em nào đang code Go (Golang) và dùng Channel thì nên biết rằng concept đó bắt nguồn từ chính tư duy của cụ.
- Hoare Logic: Một hệ thống logic để chứng minh code chạy đúng. Cái này thì mấy ông dev thực dụng ít dùng, nhưng nó là nền tảng để máy tính tự động check bug sau này.
Dân mạng đang thi nhau nhắc về "Sai lầm tỷ đô"
Trên các diễn đàn công nghệ lớn như Hacker News, bên cạnh những lời chia buồn, anh em dev lại thi nhau nhắc về cụm từ kinh điển: "The Billion Dollar Mistake" (Sai lầm tỷ đô). Đó chính là việc cụ phát minh ra khái niệm Null Reference (con trỏ rỗng).
Cụ từng thừa nhận vào năm 2009 rằng việc cho phép con trỏ có giá trị Null là một sai lầm chết người, gây ra hàng tỷ tỷ lỗi runtime, sập server và tốn không biết bao nhiêu công sức debug của nhân loại trong suốt nửa thế kỷ qua. Anh em nào từng ăn cái vả NullPointerException lúc 2 giờ sáng thì chính là đang hưởng "di sản" này của cụ đấy.
Nhưng công tâm mà nói, ở thời đại những năm 60, khi tài nguyên máy tính còn quý như vàng, việc dùng Null là một giải pháp thực dụng nhất để tối ưu bộ nhớ. Cụ đã dám nhận lỗi về mình, đó mới là phong thái của một bậc đại sư.
Góc nhìn từ WorkCloud: Bài học sinh tồn cho SME và Dev
Nhìn vào câu chuyện của cụ Tony Hoare, WorkCloud rút ra được mấy điều thực tế cho anh em vận hành doanh nghiệp và dân tech:
- Sự đơn giản luôn thắng: Quicksort sống thọ vì nó đơn giản và hiệu quả. Trong kinh doanh cũng vậy, đừng ham hố những hệ thống quản trị cồng kềnh, vẽ vời. Một cái "Work OS" gọn nhẹ, đúng trọng tâm như WorkCloud sẽ giúp các ông tối ưu vận hành tốt hơn là ngồi vẽ sơ đồ trên giấy.
- Sai lầm là một phần của cuộc chơi: Ngay cả một bộ não thiên tài cũng có thể tạo ra "sai lầm tỷ đô". Vấn đề là chúng ta đối mặt với nó thế nào. Trong vận hành doanh nghiệp SME, việc chọn sai công nghệ hay sai quy trình là thường xuyên. Quan trọng là phải có khả năng "rollback" hoặc "hotfix" thật nhanh để không gây thiệt hại lớn.
- Tư duy thực dụng: Cụ Tony Hoare tạo ra Quicksort khi đang tìm cách dịch ngôn ngữ. Mọi thứ vĩ đại đều bắt đầu từ một nhu cầu giải quyết vấn đề thực tế, chứ không phải từ những lý thuyết suông.
Vĩnh biệt một huyền thoại. Thế giới mất đi một bộ não thiên tài, nhưng di sản của cụ sẽ còn chạy trong hàng tỷ dòng code trên khắp trái đất này (và cả những cái lỗi Null Pointer nữa, tất nhiên rồi!).
Nguồn: Hacker News