ซอฟต์แวร์เน่าคืออะไร?

Software rot เป็นซอฟต์แวร์คอมพิวเตอร์ที่มีการเสื่อมสภาพช้าลงอันเป็นผลมาจากความล้มเหลวในการทำให้โปรแกรมปัจจุบันเป็นส่วนที่เหลือของระบบคอมพิวเตอร์ คำว่า "ซอฟต์แวร์เน่า" เป็นชื่อเรียกที่ผิดเนื่องจากซอฟต์แวร์ไม่ได้สลายตัวจริง มันเพิ่งอัปเดตไม่ถูกต้องซึ่งทำให้ทำงานช้าลงและดูราวกับว่ามันไม่เที่ยง สิ่งนี้มักจะไม่ใช่การเปลี่ยนแปลงที่ไม่สามารถเพิกถอนได้และการติดตั้งซอฟต์แวร์ใหม่หรือการปรับปรุงที่มีประสิทธิภาพมักจะสามารถแก้ไขปัญหาได้ ในความหมายคร่าวๆประเภทของ rot นี้จัดว่าเป็น active หรือ inactive ขึ้นอยู่กับการใช้งานของซอฟต์แวร์

เมื่ออายุซอฟต์แวร์อาจมีปัญหาทางกายภาพที่เกิดขึ้นกับบิตและการเข้ารหัส ในกรณีส่วนใหญ่นี่ไม่ใช่สิ่งที่เกิดขึ้นในซอฟต์แวร์เน่า ในเวลาเดียวกันการเปลี่ยนแปลงที่เห็นด้วยปัญหาทั้งสองอาจคล้ายกันเนื่องจากซอฟต์แวร์ช้าลงและมีประสิทธิภาพลดลง สาเหตุเล็กน้อยหนึ่งข้อสำหรับเรื่องนี้คือการเขียนโปรแกรมที่ไม่ได้ใช้ซึ่งมีแนวโน้มที่จะเน่าสูงกว่าเมื่อเปรียบเทียบกับการเข้ารหัสที่ใช้งาน

สาเหตุสำคัญของซอฟต์แวร์เน่าคือซอฟต์แวร์ไม่ได้แก้ไขสภาพแวดล้อมการคำนวณปัจจุบันอีกต่อไป นี่อาจเป็นผลมาจากการอัพเดทที่ไม่ดีซึ่งไม่สามารถแก้ไขปัญหาดังกล่าวหรือไม่มีการอัพเดทเลย ตัวอย่างเช่นหากมีโปรแกรมที่ขึ้นอยู่กับความเร็วสัญญาณนาฬิกาบางฟังก์ชั่นโปรแกรมนี้จะมีประสิทธิภาพลดลงเมื่อความเร็วสัญญาณนาฬิกาเพิ่มขึ้นด้วยฮาร์ดแวร์ที่ดีขึ้น โปรแกรมจะไม่รู้วิธีจัดการกับความเร็วที่สูงขึ้นและเน่าจะเริ่มขึ้น

เน่าในลักษณะนี้มักจะสามารถแก้ไขได้ในหนึ่งในสองวิธี หากซอฟต์แวร์ยังคงสะท้อนถึงสภาพแวดล้อมการประมวลผลในปัจจุบันหรือบางส่วนผู้ใช้ควรติดตั้งโปรแกรมใหม่ สิ่งนี้มีความสามารถในการลบสิ่งประดิษฐ์และเพิ่มความเร็วให้กับโปรแกรมเมื่อเป็นครั้งแรกที่ผู้ใช้ได้รับ อีกวิธีหนึ่งในการแก้ไขปัญหาซอฟต์แวร์เน่าคือการอัพเดทโปรแกรม แต่โดยปกติโปรแกรมนี้สามารถทำได้โดยโปรแกรมเมอร์เท่านั้นและการอัพเดทควรแก้ไขปัญหาการทำงานใด ๆ

ซอฟต์แวร์เน่ามีสองประเภทใหญ่ ๆ คือไม่ใช้งานและทำงานอยู่ Inactive rot หมายถึงปัญหาเกี่ยวกับซอฟต์แวร์ที่ไม่ค่อยเปิดหรืออัปเดตซึ่งอาจทำให้สิ่งประดิษฐ์ปรากฏขึ้นหรือโปรแกรมจะไม่สะท้อนสิ่งที่ผู้ใช้และคอมพิวเตอร์ต้องการอีกต่อไป Active rot เกิดขึ้นเมื่อมีการใช้โปรแกรมและอัปเดต แต่การอัพเดตไม่ได้สะท้อนถึงการเปลี่ยนแปลงที่จำเป็นในการปรับให้เข้ากับสภาพแวดล้อมของคอมพิวเตอร์หรือซอร์สโค้ดต้นฉบับที่เปลี่ยนแปลงไปอย่างมากจนเกิดปัญหาขึ้น