วิกฤตซอฟต์แวร์
(wryl.tech)วิกฤตซอฟต์แวร์
-
วิกฤตซอฟต์แวร์คืออะไร?
- คำว่า "วิกฤตซอฟต์แวร์" ถูกใช้เป็นครั้งแรกในการประชุมวิศวกรรมซอฟต์แวร์ของ NATO ครั้งแรกในปี 1968
- การประชุมเหล่านี้เป็นหนึ่งในความพยายามระยะแรก ๆ ในการนิยามและทำให้แนวปฏิบัติการเขียนโปรแกรมเป็นระบบ
- การประชุมวิศวกรรมซอฟต์แวร์ของ NATO ครั้งสุดท้ายจัดขึ้นในช่วงเวลาเดียวกับการปล่อยยาน Apollo 11 ในปี 1969
-
สาเหตุของวิกฤตซอฟต์แวร์
- Edsger Dijkstra ผู้ได้รับรางวัลทัวริงในปี 1972 อธิบายว่าสาเหตุของวิกฤตซอฟต์แวร์มาจากความซับซ้อนและความเร็วของฮาร์ดแวร์ที่เพิ่มขึ้น
- "ยิ่งเครื่องจักรทรงพลังขึ้น ปัญหาการเขียนโปรแกรมก็ยิ่งใหญ่ขึ้น" - Edsger Dijkstra
-
วิกฤตซอฟต์แวร์ในปัจจุบัน
- ปัจจุบันแทบไม่มีการพูดถึงวิกฤตซอฟต์แวร์มากนัก
- ผู้คนคิดว่าปัญหานี้ได้รับการแก้ไขแล้วจากการพัฒนาภาษาใหม่ ๆ และวิธีการจัดองค์กรแบบใหม่
- แต่นี่อาจเกิดจากความรู้สึกยอมแพ้และการยอมรับ มากกว่าจะเป็นความสบายใจอย่างแท้จริง
-
ปัญหาของนามธรรม
- แม้จะมีความพยายามหลากหลายในการแก้วิกฤตซอฟต์แวร์ แต่ส่วนใหญ่พยายามแก้ปัญหาผ่าน "นามธรรม"
- นามธรรมมอบความเป็นอิสระได้ในระดับหนึ่ง โดยแลกมาด้วยต้นทุนด้านประสิทธิภาพ
- หลังจากคอมพิวเตอร์ส่วนบุคคลถูกทำให้เป็นสินค้าเชิงพาณิชย์ นามธรรมก็กลายเป็นวิธีคิดพื้นฐาน
-
ช่องว่างระหว่างนักพัฒนากับผู้ใช้
- วิกฤตซอฟต์แวร์ส่งผลกระทบไม่เพียงต่อคนที่สร้างซอฟต์แวร์ แต่ยังรวมถึงคนที่ใช้งานมันด้วย
- ผู้ใช้แทบไม่มีอำนาจควบคุมอะไรได้นอกจากสิ่งที่ผู้สร้างมอบให้
- Alan Perlis: "ถ้าคุณมีไอเดียที่ดี คุณก็ควรพร้อมที่จะรับผิดชอบมัน"
-
การขาดความรับผิดชอบ
- ผู้สร้างซอฟต์แวร์หลุดพ้นจากความรับผิดชอบต่อเครื่องมือที่ตนสร้าง
- เมื่อการทำให้เป็นสินค้าเชิงพาณิชย์ดำเนินไป แนวโน้มนี้ก็ยิ่งรุนแรงขึ้น
- นามธรรมถูกใช้เป็นเครื่องมือเพื่อหลีกเลี่ยงการคิดเรื่องยาก ๆ
-
แนวทางแก้ไข
- แนวทางแก้วิกฤตซอฟต์แวร์ไม่ใช่การย้อนกลับไปสู่แพลตฟอร์มที่จำกัดกว่าเดิม แต่คือการจำกัดจำนวนชั้นของนามธรรมและกำหนดให้มีการคงไว้ซึ่งข้อมูล
- โมเดลการเขียนโปรแกรม ส่วนติดต่อผู้ใช้ และฮาร์ดแวร์พื้นฐาน ควรตื้นและประกอบต่อได้
- ควรมอบอำนาจให้กับผู้ใช้เครื่องมือ
-
ความเคลื่อนไหวในปัจจุบัน
- มีความเคลื่อนไหวอย่าง Handmade, Permacomputing และเรโทรคอมพิวติ้ง เพื่อเพิ่มการตระหนักรู้เกี่ยวกับวิกฤตซอฟต์แวร์
- ขบวนการโต้กระแสเหล่านี้เป็นสัญญาณที่ดีต่อสุขภาพ และชี้ให้เห็นว่าสถานการณ์อาจดีขึ้นได้
สรุปโดย GN⁺
- วิกฤตซอฟต์แวร์เป็นปัญหาที่เกิดจากความซับซ้อนและความเร็วของฮาร์ดแวร์ที่เพิ่มขึ้น
- ปัจจุบันผู้คนพยายามแก้ปัญหาผ่านนามธรรม แต่ต้องแลกมาด้วยต้นทุนด้านประสิทธิภาพ
- ผู้สร้างซอฟต์แวร์หลุดพ้นจากความรับผิดชอบต่อเครื่องมือที่ตนสร้าง และสิ่งนี้ยิ่งรุนแรงขึ้นจากการทำให้เป็นสินค้าเชิงพาณิชย์
- แนวทางแก้ไขคือการจำกัดจำนวนชั้นของนามธรรมและกำหนดให้มีการคงไว้ซึ่งข้อมูล
- ความเคลื่อนไหวอย่าง Handmade และ Permacomputing กำลังช่วยเพิ่มการตระหนักรู้เกี่ยวกับวิกฤตซอฟต์แวร์
1 ความคิดเห็น
ความเห็นจาก Hacker News
ความเห็นของผู้เขียน
วิกฤตซอฟต์แวร์
การพัฒนาซอฟต์แวร์และภาวะผู้นำ
ความจำเป็นของ abstraction
เครื่องมือและข้อมูล
GUI และความสามารถในการประกอบร่วมกัน
ความสำคัญของซอฟต์แวร์
โมดูลาร์ริตีและ abstraction
วิกฤตการบริหารโครงการ