Một phần mềm cổ điển của UNIX đã thu hút sự quan tâm mới từ cộng đồng lập trình viên, khi công cụ liệt kê tập tin 'lc' từ Coherent UNIX được đưa vào các hệ thống hiện đại. Ban đầu được phát triển bởi Mark Williams Company, công cụ đơn giản nhưng hiệu quả này đã tạo ra nhiều cuộc thảo luận về tính đơn giản của mã nguồn, khả năng tiếp cận và các cải tiến hiện đại.
Sự quyến rũ của mã nguồn UNIX cổ điển
Sự hồi sinh của 'lc' đã nhận được sự đồng cảm đặc biệt từ các lập trình viên, những người đánh giá cao sự tinh tế của các công cụ UNIX cổ điển. Cách tiếp cận đơn giản của chương trình trong việc phân loại và hiển thị tập tin theo cột đã nhận được nhiều lời khen ngợi về tính rõ ràng và đơn giản, bất chấp - hoặc có lẽ chính vì - tuổi đời của nó.
Thật tuyệt khi được đọc một đoạn mã C sạch sẽ từ thời xưa. Nó mang lại cho tôi cảm giác hoài cổ ấm áp và những kỷ niệm đẹp thời thơ ấu.
Cải tiến hiện đại và các giải pháp thay thế
Trong khi 'lc' nguyên bản chủ yếu tập trung vào việc phân loại tập tin và thư mục, cộng đồng đã thảo luận về nhiều cải tiến và giải pháp thay thế khác nhau. Một điểm đáng chú ý là phiên bản hiện đại được viết bằng ngôn ngữ lập trình Nim, mở rộng khái niệm với các tính năng như sắp xếp nhiều cấp độ, tùy chỉnh thứ tự loại tập tin và tô màu tùy theo giá trị. Điều này cho thấy cách các tiện ích UNIX cổ điển tiếp tục truyền cảm hứng cho sự phát triển hiện đại trong khi vẫn duy trì chức năng cốt lõi của chúng.
Các tính năng nguyên bản của lc:
- Hiển thị phân tách thư mục/tệp tin
- Tùy chọn định dạng một cột (-1)
- Liệt kê chỉ thư mục (-d)
- Liệt kê chỉ tệp tin (-f)
Các cải tiến hiện đại của lc bao gồm:
- Hỗ trợ liên kết tượng trưng
- Hỗ trợ đầu ra định dạng JSON (đóng góp từ cộng đồng)
- Các danh mục loại tệp tin bổ sung:
- Tệp tin đặc biệt ký tự
- Tệp tin đặc biệt khối
- Đường ống (pipes)
- Tệp tin đa kênh
Kho lưu trữ ' GitHub ' trưng bày những cải tiến hiện đại và dự án cộng tác liên quan đến tiện ích ' lc ', phản ánh sự phát triển liên tục của các công cụ ' UNIX ' cổ điển |
Cải thiện khả năng tiếp cận
Cộng đồng đã tích cực thúc đẩy khả năng tiếp cận tốt hơn, với các lập trình viên cộng tác để chuyển đổi trang hướng dẫn gốc từ định dạng hình ảnh sang văn bản. Cải tiến này giúp tài liệu dễ tiếp cận hơn với các trình đọc màn hình và cải thiện khả năng tìm kiếm, thể hiện cam kết về thực hành phát triển phần mềm toàn diện.
Đơn giản về mặt kỹ thuật so với kỳ vọng hiện đại
Một cuộc tranh luận thú vị đã nổi lên liên quan đến cấu trúc của chương trình. Trong khi một số lập trình viên đánh giá cao cách tiếp cận đơn nhất và đơn giản của mã nguồn gốc, những người khác đã chỉ ra các lĩnh vực cần cải thiện tiềm năng, chẳng hạn như giảm biến toàn cục và tách biệt chức năng khỏi các hoạt động nhập/xuất. Điều này nêu bật cuộc thảo luận đang diễn ra trong cộng đồng phát triển về việc cân bằng giữa tính đơn giản cổ điển với các thực hành kỹ thuật phần mềm hiện đại.
Sự hồi sinh của 'lc' như một lời nhắc nhở về ảnh hưởng lâu dài của UNIX đối với điện toán hiện đại, đồng thời cho thấy cách các lập trình viên đương đại có thể cải tiến các công cụ cổ điển mà không làm mất đi tính đơn giản và hiệu quả cốt lõi của chúng.
Tham khảo: List files in categories and columns - from Coherent UNIX