Article:
null nil
1285
ngocdaothanh.myopenid.com 172Updated over 3 years ago |
Ai học lập trình cũng đều phải chạm trán null và nil. Chúng xuất phát từ ý tưởng con trỏ. Có ngôn ngữ gọi con trỏ không trỏ vào đâu hết là null (NULL), cũng có ngôn ngữ lại gọi nó là nil. Biết vậy, nhưng đã bao giờ bạn tự hỏi null và nil khác nhau thế nào?

null khác nil thế nào?
Câu trả lời ngắn: null là tính từ, nil là danh từ.
Câu trả lời dài: Cả 2 đều xuất phát từ tiếng Latinh. null là nullus, nil là nihil. Tiếng Việt dịch là "không có gì cả". Tiếng Anh dịch là "no" và "nothing".
Tại sao ngôn ngữ động cần nil?
Thường ngôn ngữ tĩnh (cần biên dịch trước khi chạy) dùng null, còn ngôn ngữ động (vừa thông dịch vừa chạy) dùng nil. Thế nhưng ngôn ngữ động (hoặc chạy trên máy ảo) không phải tự quản lí (cấp phát và giải phóng) bộ nhớ, không cần dùng con trỏ, tại sao lại vẫn có nil?
Câu trả lời ngắn: nil dùng để chỉ việc biến chưa có giá trị, chưa được khởi tạo, chưa được gán giá.
Câu trả lời thêm: Xem mã nguồn của các implementation của các ngôn ngữ động, để ý sẽ thấy các biến có cấu trúc hơi phức tạp trở lên đều được gói bằng con trỏ, chỉ khác là con trỏ này được tự động quản lí. Do đó khái niệm con trỏ thực ra chỉ bị dấu đi để lập trình viên đỡ điên đầu, tránh mắc lỗi liên quan đến bộ nhớ.
Phật pháp vô biên
Truyện Lập trình sư có đoạn:
Ông già lại tiếp: “Con người vốn đã quen lập trình từ rất lâu trước khi có computer. Bác thợ săn lập trình cho đường tên mũi đạn, anh nông dân lập trình cho mùa vụ bội thu, đám thương gia lập trình cho đầu tư sinh lãi, các tình nhân lập trình để chăn gối giao hoan, bà nội trợ lập trình cho gạo cơm bếp núc, ông văn sĩ lập trình cho con chữ câu thơ. Thoảng hoặc có nhà tư tưởng vĩ đại lập trình cho phát triển của toàn xã hội, có vị hoàng đế hùng mạnh lập trình cho số phận của cả quốc gia… Chung qui lại cũng không thoát khỏi cái Chương trình lớn đã được lập trình sẵn bởi Tạo Hoá”. Văn bắt đầu ngộ ra, thưa: "Vậy lập trình không máy tính là thế nào?". Ông già cười ha hả, đáp: "Người là máy, máy là người, khi không có máy thì mọi vật đều là máy, khi có máy thì máy cũng không còn là máy nữa. Làm sao tự lập trình được cho bản ngã mới là công quả vậy".
Phật giáo ra đời từ lâu. Bộ trưởng y tế Nguyễn Quốc Triệu từng trả lời chất vấn quốc hội về việc buôn bán hoa quả nhiễm chất độc hại như sau
:
"Ông Thích Ca hơn 2.500 năm trước kêu gọi từ bi đến bây giờ vẫn kêu gọi đấu tranh giữa thiện và ác...", câu ví von của ông Triệu khiến đại biểu ở dưới hội trường rộ lên cười.

Triết lí Phật giáo nhấn mạnh chữ KHÔNG (hoặc VÔ). Theo kinh văn Bát-nhã, Bát-nhã-ba-la-mật-đa, "Sự toàn hảo của trí huệ" chính là nhận thức các pháp đều trống không, chỉ là những tên gọi, không có tự ngã và nhìn theo chân lí tuyệt đối (sa. paramārthataḥ) thì không một vật nào tồn tại. Đã không vật nào tồn tại thì tất nhiên là vô sắc, vô tửu, vô thịt chó
172