सॉफ़्टवेयर संकट
(wryl.tech)सॉफ़्टवेयर संकट
-
सॉफ़्टवेयर संकट क्या है?
- 1968 की पहली NATO Software Engineering Conference में "software crisis" शब्द का पहली बार उपयोग हुआ
- ये सम्मेलन programming practices को परिभाषित और व्यवस्थित करने की शुरुआती कोशिशों में से एक थे
- 1969 में Apollo 11 के प्रक्षेपण के समय के आसपास अंतिम NATO Software Engineering Conference आयोजित हुई
-
सॉफ़्टवेयर संकट के कारण
- 1972 के Turing Award विजेता Edsger Dijkstra ने सॉफ़्टवेयर संकट का कारण hardware की बढ़ती जटिलता और गति को बताया
- "जैसे-जैसे मशीनें अधिक शक्तिशाली होती हैं, programming problems भी बढ़ती हैं" - Edsger Dijkstra
-
वर्तमान सॉफ़्टवेयर संकट
- आजकल सॉफ़्टवेयर संकट का ज़िक्र कम किया जाता है
- नई languages और संगठन के तरीकों के विकास के कारण लोग मानते हैं कि समस्या हल हो गई है
- लेकिन यह वास्तविक सहजता के बजाय हार और स्वीकार्यता की भावना से पैदा हुआ हो सकता है
-
abstraction की समस्या
- सॉफ़्टवेयर संकट को हल करने के लिए कई प्रयास हुए, लेकिन उनमें से अधिकांश ने "abstraction" के ज़रिए समस्या सुलझाने की कोशिश की
- abstraction कुछ हद तक स्वतंत्रता देता है, लेकिन इसकी कीमत performance में चुकानी पड़ती है
- personal computer के व्यावसायीकरण के बाद abstraction बुनियादी सोच का तरीका बन गया
-
developer और user के बीच की खाई
- सॉफ़्टवेयर संकट सिर्फ सॉफ़्टवेयर बनाने वालों को नहीं, बल्कि उसका उपयोग करने वालों को भी प्रभावित करता है
- user के पास author द्वारा दिए गए विकल्पों के अलावा लगभग कोई नियंत्रण नहीं होता
- Alan Perlis: "अगर आपके पास कोई अच्छा विचार है, तो उसके लिए ज़िम्मेदारी लेने के लिए तैयार रहना चाहिए"
-
ज़िम्मेदारी का अभाव
- सॉफ़्टवेयर निर्माता अपने बनाए हुए tools की ज़िम्मेदारी से अलग हो गए हैं
- व्यावसायीकरण के साथ यह प्रवृत्ति और मजबूत हुई
- abstraction का उपयोग कठिन सोच से बचने के साधन के रूप में किया जाता है
-
समाधान
- सॉफ़्टवेयर संकट का समाधान अधिक सीमित platforms पर लौटना नहीं, बल्कि abstraction layers की संख्या सीमित करना और information preservation की मांग करना है
- programming model, user interface, और underlying hardware उथले और composable होने चाहिए
- tools के users को अधिकार और नियंत्रण दिया जाना चाहिए
-
वर्तमान आंदोलन
- Handmade, Permacomputing, retro computing आदि जैसे आंदोलन सॉफ़्टवेयर संकट के प्रति जागरूकता बढ़ाने का काम कर रहे हैं
- ये counterculture movements एक स्वस्थ संकेत हैं और बताते हैं कि स्थिति बेहतर हो सकती है
GN⁺ की संक्षिप्त प्रस्तुति
- सॉफ़्टवेयर संकट hardware की बढ़ती जटिलता और गति के कारण पैदा हुई समस्या है
- आज इसे abstraction के ज़रिए हल करने की कोशिश की जा रही है, लेकिन इसकी कीमत performance में चुकानी पड़ती है
- सॉफ़्टवेयर निर्माता अपने बनाए tools की ज़िम्मेदारी से दूर हैं, और व्यावसायीकरण ने इसे और बढ़ाया है
- समाधान abstraction layers की संख्या सीमित करने और information preservation की मांग करने में है
- Handmade और Permacomputing जैसे आंदोलन सॉफ़्टवेयर संकट के प्रति जागरूकता बढ़ा रहे हैं
1 टिप्पणियां
Hacker News की राय
लेखक की राय
software crisis
software development और leadership
abstraction की ज़रूरत
tools और information
GUI और composability
software का महत्व
modularity और abstraction
project management crisis