ซอฟต์แวร์คลาสสิกของ UNIX ได้จุดประกายความสนใจในชุมชนนักพัฒนาอีกครั้ง เมื่อโปรแกรมแสดงรายการไฟล์ 'lc' จาก Coherent UNIX ได้ถูกนำมาใช้ในระบบสมัยใหม่ โปรแกรมนี้พัฒนาโดย Mark Williams Company เป็นเครื่องมือที่เรียบง่ายแต่มีประสิทธิภาพ และได้สร้างการถกเถียงเกี่ยวกับความเรียบง่ายของโค้ด การเข้าถึง และการพัฒนาให้ทันสมัย
เสน่ห์ของโค้ด UNIX แบบคลาสสิก
การฟื้นคืนชีพของ 'lc' ได้รับการตอบรับเป็นอย่างดีโดยเฉพาะจากนักพัฒนาที่ชื่นชอบความสง่างามของเครื่องมือ UNIX ยุคเก่า วิธีการตรงไปตรงมาของโปรแกรมในการจัดหมวดหมู่และแสดงไฟล์ในรูปแบบคอลัมน์ได้รับคำชมเชยในด้านความชัดเจนและเรียบง่าย แม้ว่า—หรืออาจเป็นเพราะ—ความเก่าแก่ของมัน
รู้สึกดีที่ได้อ่านโค้ด C แบบเก่าที่สะอาดสะอ้านเป็นครั้งคราว ทำให้รู้สึกอบอุ่นแบบย้อนยุคและนึกถึงความทรงจำในวัยเด็ก
การพัฒนาและทางเลือกสมัยใหม่
ในขณะที่ 'lc' ต้นฉบับมุ่งเน้นไปที่การจัดหมวดหมู่ไฟล์และไดเรกทอรีเป็นหลัก ชุมชนได้มีการพูดคุยถึงการปรับปรุงและทางเลือกต่างๆ โดยมีการกล่าวถึงการพัฒนาใหม่ด้วยภาษา Nim ที่เพิ่มฟีเจอร์ต่างๆ เช่น การเรียงลำดับหลายระดับ การกำหนดลำดับประเภทไฟล์ได้ และการใช้สีตามค่าต่างๆ สิ่งนี้แสดงให้เห็นว่าโปรแกรมอรรถประโยชน์ของ UNIX แบบคลาสสิกยังคงสร้างแรงบันดาลใจให้กับการพัฒนาสมัยใหม่ ในขณะที่ยังคงรักษาฟังก์ชันการทำงานหลักไว้
คุณสมบัติดั้งเดิมของ lc:
- การแสดงการแบ่งแยกระหว่างไดเรกทอรีและไฟล์
- ตัวเลือกรูปแบบคอลัมน์เดียว (-1)
- การแสดงรายการเฉพาะไดเรกทอรี (-d)
- การแสดงรายการเฉพาะไฟล์ (-f)
การพัฒนาเพิ่มเติมของ lc ในปัจจุบันประกอบด้วย:
- รองรับ Symlink
- รองรับการแสดงผลแบบ JSON (พัฒนาโดยชุมชน)
- หมวดหมู่ประเภทไฟล์เพิ่มเติม:
- ไฟล์พิเศษประเภทอักขระ
- ไฟล์พิเศษประเภทบล็อก
- ไฟล์ท่อ
- ไฟล์มัลติเพล็กซ์
ที่เก็บโค้ดบน GitHub แสดงให้เห็นถึงการพัฒนาปรับปรุงสมัยใหม่และโครงการที่ทำงานร่วมกันที่เกี่ยวข้องกับยูทิลิตี้ 'lc' สะท้อนให้เห็นถึงวิวัฒนาการอย่างต่อเนื่องของเครื่องมือ UNIX แบบดั้งเดิม |
การปรับปรุงการเข้าถึง
ชุมชนได้ผลักดันอย่างแข็งขันเพื่อการเข้าถึงที่ดีขึ้น โดยนักพัฒนาได้ร่วมมือกันแปลงคู่มือต้นฉบับจากรูปแบบภาพเป็นข้อความ การปรับปรุงนี้ทำให้เอกสารสามารถเข้าถึงได้ง่ายขึ้นสำหรับโปรแกรมอ่านหน้าจอและปรับปรุงความสามารถในการค้นหา แสดงให้เห็นถึงความมุ่งมั่นในการพัฒนาซอฟต์แวร์ที่ครอบคลุมทุกคน
ความเรียบง่ายทางเทคนิคกับความคาดหวังสมัยใหม่
เกิดการถกเถียงที่น่าสนใจเกี่ยวกับโครงสร้างของโปรแกรม ในขณะที่นักพัฒนาบางคนชื่นชอบแนวทางแบบโมโนลิธิกที่ตรงไปตรงมาของโค้ดต้นฉบับ คนอื่นๆ ก็ชี้ให้เห็นจุดที่ควรปรับปรุง เช่น การลดตัวแปรแบบ global และการแยกฟังก์ชันการทำงานออกจากการดำเนินการ I/O สิ่งนี้สะท้อนให้เห็นถึงการถกเถียงที่ดำเนินอยู่ในชุมชนนักพัฒนาเกี่ยวกับการสร้างสมดุลระหว่างความเรียบง่ายแบบคลาสสิกกับแนวปฏิบัติด้านวิศวกรรมซอฟต์แวร์สมัยใหม่
การฟื้นคืนชีพของ 'lc' เป็นเครื่องเตือนใจถึงอิทธิพลอันยั่งยืนของ UNIX ต่อการคำนวณสมัยใหม่ ในขณะเดียวกันก็แสดงให้เห็นว่านักพัฒนาร่วมสมัยสามารถพัฒนาเครื่องมือคลาสสิกให้ดีขึ้นได้โดยไม่สูญเสียความเรียบง่ายและประสิทธิภาพที่สำคัญ
อ้างอิง: List files in categories and columns - from Coherent UNIX