APL: Khi ngôn ngữ lập trình mang tính nghệ thuật hơn là kỹ thuật

26 tháng 4, 2026·5 phút đọc

Giáo sư Alan J. Perlis chia sẻ góc nhìn độc đáo về ngôn ngữ lập trình APL, so sánh sự thanh lịch và tính biểu đạt của nó với các ngôn ngữ như FORTRAN hay ALGOL. Ông lập luận rằng APL mang lại niềm vui và chất văn học cho lập trình, đồng thời đề xuất hướng đi phần cứng mới để khai thác tối đa tiềm năng của ngôn ngữ này.

Giáo sư Alan J. Perlis từ Đại học Yale từng tự nhận mình là một "người phản bội" của ALGOL. Được lớn lên với các ngôn ngữ thuộc họ ALGOL, ông mới tiếp cận với APL khi đã ở độ tuổi khá muộn. Tuy nhiên, giống như những người bước vào một lĩnh vực thú vị khi đã trưởng thành, ông đã nhanh chóng bị cuốn hút bởi nó.

Câu chuyện bắt đầu tại một cuộc họp ở Newcastle, Anh, nơi Perlis ngồi giữa hai nhân vật lớn trong ngành khoa học máy tính: Fritz Bauer và Edsger Dijkstra. Khi Ken Iverson (cha đẻ của APL) trình chiếu một slide chứa một đoạn mã APL "one-liner" (chỉ gồm một dòng duy nhất) để giải quyết một bài toán toán học phức tạp, Perlis đã bị choáng ngợp. Ông nhận ra ngay rằng: "Chúa ơi, chắc chắn trong ngôn ngữ này có điều gì đó đặc biệt".

Trong khi đó, Bauer và Dijkstra lại tỏ ra khinh miệt. Bauer thì thầm: "Chừng nào tôi còn sống, APL sẽ không bao giờ được dùng ở Munich". Dijkstra thì đồng tình: "Cũng như ở Hà Lan". Cả ba cùng nghe một bài giảng nhưng mỗi người lại rút ra một bài học khác nhau.

APL: Ngôn ngữ của sự thanh lịch và nghệ thuật

Điều thu hút Perlis ở APL không phải là tính ứng dụng thương mại ngay lập tức, mà là cảm giác rằng thông qua APL, con người có thể đạt được những chiều kích trong lập trình mà chúng ta tôn sùng trong ngôn ngữ tự nhiên: niềm vui của việc sáng tác, sự thanh lịch, sự ngắn gọn, tính thơ mộng và nghệ thuật.

Với các ngôn ngữ như FORTRAN hay ALGOL, lập trình thực chất là một bài tập "thợ ống nước". Bạn xây dựng một đối tượng phức tạp và vấn đề lớn nhất là làm sao để không bị chìm đắm trong sự rối rắm. Nhưng với APL, Perlis tìm thấy sự "lãng mạn" (lyrical). Lập trình bằng APL thú vị, quyến rũ và dễ chịu. Nó không còn là một công việc nhàm chán.

Một đặc điểm quý giá khác của APL là tính "văn học". Nếu bạn đưa một bài toán đơn giản cho 50 người lập trình bằng APL, khả năng cao bạn sẽ nhận được 35 đến 40 giải pháp khác nhau. Một số người coi đó là sự hỗn loạn, nhưng với Perlis, đó là minh chứng cho sức mạnh và giá trị của ngôn ngữ này. Nó cho phép sự sáng tạo và tư duy độc đáo, giống như cách tiếng Anh cho phép các nhà văn diễn đạt ý tưởng theo phong cách riêng của họ.

Phê phán FORTRAN và BASIC

Perlis không ngần ngại chỉ trích FORTRAN, dù thừa nhận nó là "lingua franca" (ngôn ngữ chung) của thế giới máy tính. Ông cho rằng FORTRAN tồn tại và phát triển không phải vì nó là một ngôn ngữ tốt, mà vì nó phổ biến và quen thuộc. Tuy nhiên, nó làm mất đi niềm vui, sự thất vọng và thử thách của việc viết một chương trình thanh lịch và thông minh.

Đặc biệt, Perlis cảnh báo mạnh mẽ về việc sử dụng BASIC trong hệ thống trường công. Ông cho rằng BASIC thực sự có hại cho giới trẻ. Nó tạo ra những người "bán mù chữ" về lập trình, những người sau này rất khó để đào tạo lại tư duy theo cách của APL. Ông tin rằng nếu học APL trước, sinh viên sẽ có thể nắm bắt bất kỳ ngôn ngữ nào khác sau đó nhờ tư duy tổng quát hóa.

"Chúng ta đang tạo ra một nhóm người bán mù chữ, những người mà các bạn tại IBM, thật không may, sẽ phải cố gắng đào tạo lại. Rất khó, tin tôi đi, để lấy một người đã tiếp xúc với BASIC — và do đó tin rằng mình nắm giữ chìa khóa — và dạy họ cách tư duy theo thuật ngữ của APL."

Tương lai của phần cứng và APL

Perlis cũng bàn về phần cứng. Ông cho rằng APL đang chạy trên các máy tính được thiết kế cho FORTRAN (kiến trúc Von Neumann với một bộ tích lũy, một vài thanh ghi chỉ số). APL là một "loại cá khác", nó là ngôn ngữ xử lý luồng (stream processing language).

Ông và các sinh viên của mình đã nghiên cứu cách xây dựng một "máy APL" tối ưu hơn, xử lý các luồng dữ liệu hiệu quả mà không phụ thuộc vào bộ nhớ ảo theo cách truyền thống. Họ tin rằng với sự phát triển của mạch tích hợp quy mô lớn (VLSI) trong tương lai, APL sẽ là ứng cử viên lý tưởng để tận dụng lượng tài nguyên phần cứng khổng lồ sẵn có trên các con chip silicon.

Kết luận

Perlis kết luận bằng việc khẳng định rằng phần cứng thúc đẩy ngành công nghiệp phần mềm. Khi phần cứng cung cấp nhiều tài nguyên hơn, chúng ta cần những ngôn ngữ như APL để lấp đầy khoảng cách giữa nhu cầu phần mềm và khả năng phần cứng. Đối với ông, APL không chỉ là một công cụ để ra lệnh cho máy tính, mà là một phương tiện để tư duy và thể hiện tư duy đó một cách nghệ thuật.

"Nếu Shakespeare còn sống ngày nay, ông ấy sẽ là một lập trình viên, và ông ấy sẽ viết những dòng one-liner trong APL."

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗