सॉफ्टवेयर कार के रूप में विश्वसनीय क्यों नहीं है? [बन्द है]


65

मेरे पास एक उपयोगकर्ता मुझसे यह सवाल पूछ रहा था। हम जानते हैं कि कारें टूट जाती हैं, लेकिन ऐसा कुछ भौतिक होने के कारण होता है (जब तक कि सॉफ्टवेयर शामिल न हो!)।

मैंने जवाब देने की कोशिश की कि सॉफ्टवेयर एक बहुत छोटा उद्योग है, लेकिन उपयोगकर्ता के साथ "ऑटोमोबाइल उद्योग कम लोगों की तुलना में अधिक विश्वसनीय और विश्वसनीय नहीं था?"

मैंने यह भी जवाब देने की कोशिश की कि सॉफ्टवेयर अधिक जटिल है, लेकिन उपयोगकर्ता ने माना कि कई हजार भाग हैं जो एक कार बनाते हैं। जो लोग कारों को डिजाइन और निर्माण करते हैं, वे आमतौर पर अपने घटक (ओं) को बहुत अच्छी तरह से जानते हैं, लेकिन वे अभी भी एक साथ मिलकर अंतिम परिणाम के रूप में काम कर रहे हैं।

तो, क्यों सॉफ्टवेयर एक कार के रूप में विश्वसनीय नहीं है?


29
कौनसी कार? कुछ दूसरों की तुलना में बहुत अधिक विश्वसनीय हैं।
ज़ूट २।

244
अगर उनके बॉस के आने पर किसी ने कार की असेंबलिंग की थी और कहते हैं, "अरे अरे, ग्राहक चाहेंगे कि हम इसे एक जेट इंजन से जोड़ दें, तो क्या आप इसे कुछ दिनों में कर सकते हैं?", कारें बहुत अविश्वसनीय होंगी। ।
एडम लेअर

28
सॉफ्टवेयर विश्वसनीय है। यह सिर्फ बड़ा enterprisey सॉफ्टवेयर है कि नहीं है। क्या आपने कभी टीवी क्रैश देखा है? न ही मैं।
5

19
मोटर वाहन चलाने की अनुमति देने से पहले सीखने को लागू करने के लिए कानून हैं । इसके अतिरिक्त, ऐसे कई पाठ्यक्रम हैं कि कैसे ड्राइव करना है जो कि कम-शिक्षित लोगों पर लक्षित हैं ताकि वे दुर्घटनाग्रस्त न हों। कंप्यूटर का उपयोग करने के लिए सीखने के लिए इस तरह के कोई कार्यक्रम नहीं हैं और इस तरह, नियमित रूप से कम शिक्षित आबादी दुर्घटनाग्रस्त हो जाती है और इसे प्रोग्रामर पर दोष देती है।
zzzzBov

14
बस सॉफ्टवेयर और कारों के कारण चोटों की संख्या की तुलना करें, और आप देखेंगे कि सॉफ्टवेयर कारों की तुलना में कहीं अधिक विश्वसनीय है।
मौविसीयल

जवाबों:


183

आपके प्रश्न का आधार बस गलत है: सॉफ्टवेयर एक कार की तुलना में "कम विश्वसनीय" नहीं है। वहाँ अरबों उपकरणों पर अरबों हैं जो एम्बेडेड सॉफ़्टवेयर 24x7 चलाते हैं, वर्षों तक बिना किसी समस्या के। ओह, इसके बारे में कुछ कर रहे हैं में कारों, और नियंत्रण / इंजन की निगरानी। तो, सॉफ्टवेयर कार से कम विश्वसनीय कैसे हो सकता है, अगर कारें खुद सॉफ्टवेयर पर भरोसा करती हैं?


9
+1, सॉफ़्टवेयर पूरी तरह से विश्वसनीय हो सकता है (गणितीय अर्थों में), जबकि एक यांत्रिक उपकरण कभी नहीं हो सकता (जैसा कि यहां विश्वसनीयता की धारणा अलग है - यानी यह व्यावहारिक गारंटी देने के बारे में है कि सब कुछ काम करेगा और अलग नहीं होगा या कुछ पल पहनना)।
२०:४

9
+1 प्रश्न में मूलभूत दोष को इंगित करने के लिए
गैरी रोवे

1
मैं जोड़ना होगा कि मैं अंतरिक्ष में एक कार कभी नहीं देखा है, जब तक मैं सॉफ्टवेयर देखा है वहाँ ...
माथीउ एम

5
@ राई मियासाका: एम्बेडेड सॉफ्टवेयर में जटिलता के स्तर को कम मत समझो। ;)
15

3
@ मैथ्यू एम। - आपने कभी अपोलो लूनर रोवर नहीं देखा?
जेएफओ

115

मैं सॉफ्टवेयर और मैकेनिकल पार्ट्स डिजाइन करता हूं।

यह जटिलता है।

क्योंकि आधुनिक सॉफ्टवेयर में लाखों "पार्ट्स" होते हैं।

सॉफ्टवेयर के पुर्जे बहुत जटिल हैं और इनमें बहुत सारी स्टेट हैं। एक यांत्रिक गैर-चलती हिस्से की कोई स्थिति नहीं है।

एक यांत्रिक चलती भाग की अपनी स्थिति (एक चर) है।

एक प्रोग्राम जो चल रहा है और 1Mb RAM का उपयोग करता है, उसकी एक मिलियन बाइट्स हैं। यह किसी भी सामान्य यांत्रिक प्रणाली की तुलना में कहीं अधिक राज्य है।

ऐसे राज्यों का संयोजन होगा जो कभी भी परीक्षण नहीं करते हैं क्योंकि वे बहुत कम ही होते हैं। एक मैकेनिकल सिस्टम (एक कार की तरह) में यह जांचना आसान है कि मैकेनिकल पार्ट्स ऑपरेशन के दौरान एक दूसरे से नहीं टकराते हैं। मैं काम पर मैकेनिकल सीएडी सॉफ्टवेयर का उपयोग करता है यह स्वचालित रूप से करता है।

यदि आपने अदृश्य, गैर-छूए जाने वाले भागों से मशीनें बनाई हैं, और लाखों चलते हुए भाग थे जो सभी बस एक दूसरे से चूक गए, तो यह एक साधारण कार्यक्रम की तरह होगा।

यहां तक ​​कि "हैलो वर्ल्ड" एक ऑपरेटिंग सिस्टम पर चलता है। पुराने 8 बिट सिस्टम और मिनीकंप्यूटर ऑपरेटिंग सिस्टम बहुत विश्वसनीय थे क्योंकि वे सरल थे।

DLL और शेयर्ड लाइब्रेरी जैसी चीजों को वायरस अपडेट या सॉफ़्टवेयर इंस्टॉल के हिस्से के रूप में प्रतिस्थापित किया जाता है और फिर रुचि का कार्यक्रम काम नहीं करता है। साइकिल टायर के लिए अपनी कार पर टायर बदलने की तरह। लाइब्रेरी फ़ंक्शन के कुछ किनारे वाले राज्य हस्तक्षेप करते हैं (जिस तरह से कार्यक्रम की उम्मीद है वह कार्य नहीं करता है)।

जावा जैसी भाषाओं में लिखे गए प्रोग्राम, जो ऑब्जेक्ट्स के बीच कई अन-डिज़ाइन किए गए इंटरैक्शन की अनुमति नहीं देते हैं (पॉइंटर रियूज़, एरे बाउंड्स ओवरफ्लो) आमतौर पर बहुत विश्वसनीय होते हैं, जब आप उन्हें काम करने के लिए प्राप्त करते हैं।
जब आप स्थैतिक पुस्तकालयों के साथ ऑपरेटिंग सिस्टम का उपयोग करते हैं, तो एक बार एक प्रोग्राम काम करता है यह बस काम करता रहता है (लेकिन इसके राज्य के आकार के आधार पर बहुत अधिक किनारे की स्थिति होगी)।

डेव पारनास कार्यक्रम की स्थिति को छोटा बनाकर सॉफ्टवेयर में विश्वसनीयता प्राप्त करने के बारे में लिखते हैं। सख्त कार्यात्मक प्रोग्रामिंग वाले लोग एकल स्थैतिक असाइनमेंट को मजबूर करके एक ही काम कर रहे हैं।


12
+1, बस एक "मैकेनिकल कंप्यूटर" गियर्स के साथ, आदि के बजाय छोरों और चर की कल्पना करें - कैसे जटिल (और अविश्वसनीय) यह सिर्फ एक 20-40 -... KLOC कार्यक्रम को "कॉपी" करना चाहिए? और हमें याद रखना चाहिए कि काम करने वाले यांत्रिक कंप्यूटरों का निर्माण करना असंभव क्यों था;
२०:४१ बजे २१

3
वायरस के अद्यतनों का उल्लेख करने के लिए +1, जो मुझे लगता है कि उस OS के
त्रिनिदाद

1
और सॉफ्टवेयर की विश्वसनीयता के संदर्भ में श्री पारनस का उल्लेख करते हुए, शायद खुद से ही उत्थान करना चाहिए।
mlvljr

6
आपने लगभग हर उदाहरण में एपोस्ट्रोफ़ का उपयोग किया है। एक यांत्रिक चलती भाग की अपनी स्थिति होती है ("यह" नहीं है)। यह जटिलता है ("इसका" नहीं)। डीएलएल जैसी चीजें ("डीएलएल" नहीं)। इसे भी देखें: english.stackexchange.com
Ashe

2
mlvljr: चार्ल्स बैबेज और उनके विश्लेषणात्मक इंजन को देखें: en.wikipedia.org/wiki/Analytical_engine
Mchl

56

यह उपभोक्ता की पसंद की बात है।

यदि उपभोक्ताओं ने सॉफ़्टवेयर की मांग मेरे होंडा सिविक (मेरी पुरानी फोर्ड मावरिक के विपरीत) के रूप में विश्वसनीय होने की है, तो यह होगा। कुछ संगठन ऐसे सॉफ़्टवेयर की मांग करते हैं जो विश्वसनीय हों, और वे इसे प्राप्त करते हैं, आमतौर पर एम्बेडेड सॉफ़्टवेयर के लिए, कभी-कभी अंतरिक्ष-मिशन और वायु यातायात नियंत्रण जैसी सुरक्षा-महत्वपूर्ण चीज़ों के लिए। सॉफ्टवेयर अभी भी सही नहीं है, लेकिन न तो कार हैं।

हालांकि, ग्राहक अपने सॉफ़्टवेयर में अन्य गुणों की मांग करते हैं, और ज्यादातर सॉफ़्टवेयर के लिए भुगतान करने के लिए तैयार नहीं होते हैं जो संभवतः कम कार्यात्मक है, निश्चित रूप से अधिक महंगा है, और जहाज बाद में सिर्फ इसलिए कि यह अधिक विश्वसनीय है।


4
इस उत्तर के लिए +1 - अन्य उत्तरों में से कोई भी बात नहीं है । यदि लोग सॉफ्टवेयर के बारे में कारों की तुलना में विश्वसनीय होने के बारे में बुरी तरह से परवाह करते हैं (हालांकि बहुत अधिक है), तो यह होगा । लेकिन जब कोई प्रोग्राम क्रैश हो जाता है, तो आप अपने कंप्यूटर को रिबूट करते हैं - जब एक कार दुर्घटनाग्रस्त हो जाती है, तो OTOH ...
Cyclops

@ साइक्लोप्स मैं सहमत हूं, लेकिन मुझे लगता है कि यह सार्थक विचार है कि लोग कारों और सॉफ्टवेयर पर इन अलग-अलग राय क्यों रखते हैं। और मुझे लगता है कि मुख्य उत्तर यह है कि एक कार्यक्रम के लिए एक औसत मानव के लिए उपयोगी होने के लिए, इसे आमतौर पर कार जैसे उपयोगी यांत्रिक उपकरण की तुलना में अधिक जटिल परिमाण के आदेश होने चाहिए। कई अन्य उत्तर इसे संबोधित करते हैं। इसके अलावा दोषपूर्ण सॉफ़्टवेयर का जोखिम आमतौर पर कम होता है।
j_random_hacker

2
@j_random_hacker: मैं यह नहीं देखता कि अलग-अलग जटिलता के कारण विश्वसनीयता पर लोगों की अलग-अलग राय है, क्योंकि अधिकांश लोगों को यह पता नहीं है कि कार या कार्यक्रम कितना जटिल है। उन्हें अलग-अलग उम्मीदें हैं, क्योंकि सॉफ्टवेयर में इन दिनों कारों की तुलना में अधिक समस्याएं हैं। वे परिणामों की परवाह करते हैं। एक कार के फेल होने की संभावना किसी ऐसे व्यक्ति को होती है जहां वे नहीं जाना चाहते हैं, कहीं भी जाने में असमर्थ हैं, और उपाय करने के लिए गंभीर धन खर्च करने की संभावना है। यह हमेशा असुविधाजनक होता है और जानलेवा हो सकता है। ज्यादातर लोगों के लिए, एक सॉफ्टवेयर विफलता का अर्थ है कुछ खोए हुए काम।
डेविड थॉर्नले

25

ऐसे कई हजारों भाग हैं जो एक कार बनाते हैं।

यदि केवल एक कंप्यूटर (और संबंधित सॉफ़्टवेयर) वह सरल था।

कंप्यूटर में मेमोरी की एक गीगाबाइट क्या है? फ्लिप-फ्लॉप के अरबों? डिस्क का एक टेराबाइट? "चलती" भागों के अरबों?

सॉफ़्टवेयर में कोड के 10s हजारों या 100s हजारों व्यक्तिगत लाइनें चल सकती हैं। इसके अलावा इकाई परीक्षणों और उपकरणों में कई (या अधिक)।

नहीं, "कारें जटिल हैं," तर्क बंक है। सॉफ्टवेयर एक कार की तुलना में बहुत, बहुत अधिक जटिल है।


6
सॉफ्टवेयर केवल सरल दिखता है क्योंकि हम अपनी नौकरियों में बहुत अच्छे हैं और आम आदमी के लिए इसे सरल बनाते हैं :-)
मार्टिन यॉर्क

3
वास्तव में कारें जटिल TOO हैं।
मौरिसियो

9
@ मौरिसियो: कभी नहीं कहा कि वे जटिल नहीं थे। बिंदु यह है कि सॉफ्टवेयर एक कार की तुलना में अधिक जटिल परिमाण के कई आदेश हो सकते हैं।
एस.लॉट

4
सॉफ्टवेयर कार से अधिक जटिल नहीं है। कार और सॉफ्टवेयर दोनों स्वाभाविक रूप से जटिलता में बढ़ते हैं जब तक कि वे लोगों की बाहरी सीमाओं तक नहीं पहुंच सकते हैं। कंप्यूटर में अरबों तत्व हो सकते हैं, लेकिन उनमें से कई को आदर्श तत्व माना जा सकता है और वे इसी तरह काम करते हैं। यह अंतर्निहित सादगी है कि सॉफ्टवेयर इतने बड़े पैमाने पर जटिल क्यों बढ़ता है: यह तब तक बढ़ता है जब तक कि इसका प्रबंधन करना मुश्किल न हो। जबकि वाहन के घटकों में जटिलता के अन्य तत्व होते हैं: उन्हें पहनने, क्षरण, तापमान में उतार-चढ़ाव आदि से निपटना पड़ता है। दोनों ही अत्यधिक जटिल हैं, बस विभिन्न आयामों में।
whatsisname

3
सॉफ्टवेयर के साथ अधिक सॉफ्टवेयर को जोड़ना आसान है, फिर अधिक यांत्रिक घटकों को जोड़ना है। जबकि दोनों "व्यवस्थित" हो गए हैं, सॉफ्टवेयर बहुत तेजी से बढ़ रहा है।
जिम सी

20

दहन इंजन बनाने वाले सिद्धांत काम करते हैं, और कार बनाने वाले सभी घटक पिछली शताब्दी में बहुत अधिक नहीं बदले हैं। यकीन है कि विकासवादी सुधार और हाइब्रिड कारें हैं, लेकिन बुनियादी घटक समान हैं। आपके पास एक इंजन, एक ड्राइव-ट्रेन, आदि यहां तक ​​कि अवधारणा कारें हैं और आपकी सुपर महंगी बेहद तेज बुगाटी वेरॉन को एक ही मूल संरचना के साथ बनाया गया है। संक्षेप में, कार डिजाइन करना एक जानी-मानी समस्या है

कंट्रास्ट कि विकासशील सॉफ्टवेयर के साथ।

  • जब वे शुरू करते हैं तो ग्राहक नहीं जानते कि वे क्या चाहते हैं। वे एक लक्जरी जेट के बारे में बात करना शुरू करते हैं, लेकिन फिर जब उन्हें लागत का एहसास होता है तो वे चाहते हैं कि आप इसे एक फुट पावर्ड स्कूटर की लागत के लिए बनाएं।
  • कार डिजाइन में विचार से लेकर कॉन्सेप्ट कार तक पहुंचने में कई साल लग जाते हैं और वहां से निर्माण में ज्यादा साल लग जाते हैं। जब आपके पास सॉफ़्टवेयर के साथ आखिरी बार लक्जरी था?
  • कार के पुर्जे धातु के टुकड़े होते हैं, लेकिन सॉफ़्टवेयर घटक अक्सर आकार और इंटरफ़ेस बदल सकते हैं।
  • विनिर्माण प्रक्रिया पूरी तरह से अलग है। कारों के साथ, टुकड़ों को बड़े पैमाने पर निर्मित किया जाता है और समान टुकड़ों का उपयोग विभिन्न वाहनों में किया जाता है। सॉफ्टवेयर के साथ लगभग सब कुछ हाथ से तैयार किया जाता है क्योंकि अन्यथा सामान बस फिट नहीं होता है।

संक्षेप में, कई कारण हैं कि एक कार को सॉफ्टवेयर की तुलना में "अधिक विश्वसनीय" क्यों माना जाएगा। मैं अभी एक जोड़े के साथ आया था।


6
निर्माण पर सुधार: सॉफ्टवेयर निर्माण तुच्छ है। यह लोगों को निर्माण के रूप में प्रोग्रामिंग के कुछ पहलुओं के बारे में सोचने के लिए प्रेरित करता है, जबकि प्रोग्रामिंग सभी डिजाइन है। हर कार्यक्रम एक नया डिजाइन है।
डेविड थॉर्नले

1
हर कार्यक्रम या तो नया है - फिर भी एक विश्वसनीय डिजिटल लाइब्रेरी से सिद्ध, डिज़ाइन या मौजूदा, सिद्ध सॉफ़्टवेयर का दोषरहित डाउनलोड। वहां एक बड़ा द्वंद्व।
एस.लॉट २ S

19

कारें विश्वसनीय हैं। तो सबसे सॉफ्टवेयर है।

लेकिन ... कस्टम कारें, और कस्टम सॉफ्टवेयर, दोनों में उनके मुद्दे हैं।

कोई भी वास्तविक कार उत्साही, जिसके पास अपनी संशोधित 1970 मांसपेशियों की कार, टिंकर, और ट्वीक्स हैं, और ब्रेक डाउन है, और सभी प्रकार के बेवकूफ मुद्दों को अगर वह इसे मूल नहीं छोड़ता है। लेकिन ... तो वह सुपरचार्जर नहीं होगा ...


3
नाइटपैकिंग: अधिकांश (दृश्यमान) सॉफ्टवेयर कस्टम सॉफ्टवेयर है। इसलिए सामान्य अविश्वसनीयता की कथित स्थिति।
जेवियर २

4
@ जेवियर, मुझे लगता है कि सबसे अधिक दिखाई देने वाला सॉफ्टवेयर ऑफ-द-शेल्फ सामान है जिसे आप कार्यालय की आपूर्ति की दुकान पर खरीद सकते हैं, या जो आपके कंप्यूटर के साथ आता है।
मार्की

1
@ जेवियर: कस्टम सॉफ्टवेयर, परिभाषा के अनुसार, मैं एक विशिष्ट दर्शक के लिए बनाया गया / बनाया गया हूं - आम जनता नहीं।
स्टीवन एवर्स

@ मार्की: भले ही विंडो, ऑफिस और फोटोशॉप हर जगह हों, हर बिजनेस का अपना कस्टमाइज़्ड अकाउंटिंग और प्रोसेस सिस्टम होता है। इसके अलावा हर वेबसाइट के बारे में सोचें, अगर यह कस्टम नहीं है।
जेवियर

3
@ जेवियर, हर व्यवसाय नहीं। कई सिर्फ ऑफ-द-शेल्फ उत्पादों का उपयोग करते हैं।
मार्की

16

क्योंकि आपके द्वारा ड्राइव की गई कार को कई बार बनाया गया है, निर्माण प्रक्रिया इतनी परिष्कृत है कि एक ही कार को बार-बार उत्पादन लाइन पर बनाया जा सकता है।

यदि यह खरोंच से निर्मित एक-एक-प्रकार की जटिल अत्याधुनिक कार थी तो एक बार यह विश्वसनीय के रूप में कहीं नहीं होगी, उदाहरण के लिए फॉर्मूला 1 रेसिंग कारों में विफलता दर कितनी अधिक है। प्रति दौड़ में एक या दो का ब्रेक होना आम बात है।

नया सॉफ्टवेयर हमेशा एक बार बंद होता है। प्रोग्रामर्स कोड को उनके द्वारा पहले कभी कोड नहीं किया गया था। इस परिदृश्य में उच्च गुणवत्ता प्राप्त करने के लिए अधिकांश उत्पादों के लिए निषेधात्मक लागत शामिल है। हर गैर-तुच्छ नया सॉफ्टवेयर प्रभावी रूप से एक प्रोटोटाइप है।

एक तरफ के रूप में, यह एक मुख्य कारण है कि सॉफ्टवेयर इंजीनियरिंग के लिए पारंपरिक इंजीनियरिंग तकनीकों को लागू करना एक आपदा है।


1
+1 कार बनाना एक सॉफ्टवेयर प्रोग्राम बनाने के बराबर नहीं है। कार बनाना एक सॉफ्टवेयर प्रोग्राम चलाने के बराबर है । एक कार डिजाइन और निर्दिष्ट करना एक सॉफ्टवेयर प्रोग्राम बनाने के बराबर है। और कार डिजाइन के दौरान कई समस्याएं हैं जो सॉफ्टवेयर के साथ ही रास्ते से हट जाती हैं।
वाजिब

1
मैं इस कथन से असहमत हूं: "एक तरफ, यह मुख्य कारणों में से एक है कि सॉफ्टवेयर इंजीनियरिंग में पारंपरिक इंजीनियरिंग तकनीकों को लागू करना एक आपदा है।" पुन: प्रयोज्य घटकों, संरचना, तनाव की जांच के बिल्डिंग ब्लॉक्स आदि: सॉफ्टवेयर विकास निश्चित रूप से इंजीनियरिंग के सिद्धांतों शामिल है
Philluminati

13
  1. कार निर्माताओं को "अंतिम" उत्पाद का उत्पादन करने से पहले पूरे चश्मे को नीचे उतार दिया जाता है।
  2. ऑटोमोबाइल उपयोगकर्ता मूर्खतापूर्ण चीजें नहीं करते हैं जो डिजाइनरों को उम्मीद नहीं थी।
  3. कारों को प्रति वर्ष (आमतौर पर) केवल एक बार "अपडेट" किया जाता है, जबकि अधिकांश सॉफ़्टवेयर को प्रति वर्ष कई बार अपडेट किए जाने की उम्मीद होती है।

मैं जा सकता था, लेकिन मेरे ब्राउज़र को लगता है कि यह दुर्घटना के बारे में है ...


3
ऑटोमोबाइल उपयोगकर्ता बहुत सी बेवकूफी भरी बातें करते हैं, जिनमें ऐसी चीजें शामिल हैं जिनकी डिजाइनरों को उम्मीद नहीं थी। बात यह है कि, केवल बहुत ही सीमित इनपुट्स हैं, और ड्राइविंग करते समय अख़बार पढ़ने से अलग दिखने वाले आई लाइनर लगाने के लिए कोई विशेष अपेक्षित परिणाम नहीं हैं।
डेविड थॉर्नले

10
@ डेविड थॉर्नले: ज़रा सोचिए कि अगर लोगों को कार कंप्यूटर की तरह काम करने की उम्मीद हो ... "मैं गाड़ी चलाते हुए पेपर पढ़ रहा था, और अब हेडलाइट्स किसी काम की नहीं हैं। शायद यह स्टीयरिंग व्हील से संबंधित है जिसे मैंने हटा दिया था। अखबार के लिए जगह बनाओ, इसलिए मैं एक दीवार में भाग गया। सुरक्षा बेल्ट ने मुझे ठीक से संरक्षित किया, लेकिन यह हेडलाइट्स की रक्षा नहीं की ... ";)
गुफ़ा


1
@robertc आप मूर्खता के उस स्तर के लिए भी डिजाइन नहीं कर सकते ...
ग्लेन सोल्स्बेरी

10

वास्तव में एक बहुत ही सरल कारण है।

सॉफ्टवेयर जो पैसे कमाता है वह सॉफ्टवेयर है जो बाजार में हिस्सेदारी हासिल करता है। अधिक बार नहीं, जो कंपनी सबसे पहले सॉफ्टवेयर का एक टुकड़ा बाजार में लाती है, वह वह होगा जिसे बाजार में अधिकांश हिस्सेदारी मिलती है, भले ही उनका सॉफ्टवेयर उनके विशेष बाजार में सबसे अच्छा उत्पाद न हो।

नतीजतन, सॉफ्टवेयर बाद में और सही के बजाय जल्द और अपूर्ण जारी किए जाने वाले सॉफ्टवेयर पर ध्यान केंद्रित कर रहा है।


2
यह केवल तभी काम करता है जब 'सबसे अच्छा' व्यक्ति समाप्त हो जाए और वह बेहतर न हो। यदि वे बहुत बेहतर हैं, तो आप प्राप्त करते हैं कि अब Apple के साथ क्या हो रहा है, उनके साथ देर से आने वाले, पुरानी तकनीक के साथ, और अभी भी क्षेत्र को दोष दे रहा है क्योंकि उन्होंने "बस सही किया"।
रॉबर्ट मस्सौली

@ रॉबर्ट: एप्पल एक पूर्ण अंत-टू-एंड समाधान (आईट्यून्स स्टोर) है, और मुझे यकीन नहीं है कि मैं सहमत हूं कि उनकी तकनीक पुरानी है। यदि यह उनके लिए नहीं थे, तो हम सभी अभी भी उन गंदे स्लाइडर फोन का उपयोग कर सकते हैं।
रॉबर्ट हार्वे

5

मुझे अब तक के ज्यादातर जवाब पसंद हैं। यहाँ पर मेरी फिरकी है।

सॉफ्टवेयर की तुलना में असफलता की लागत कारों के लिए अधिक गंभीर है

कार की विफलता संभावित रूप से एक जीवन बिता सकती है। यहां तक ​​कि एक गैर-जीवन धमकी वाहन की विफलता उपयोगकर्ता के लिए एक अत्यधिक दृश्य असुविधा का प्रतिनिधित्व करती है। सॉफ्टवेयर की विफलता का मतलब है कि उत्पादन समर्थन में कुछ खराब एसएपी को ओवरटाइम काम करना होगा। और अगर वह व्यक्ति पूर्णकालिक छूट वाला कर्मचारी है, तो फिर, यह बिल्कुल भी महंगा नहीं है। वास्तव में, खराब गुणवत्ता और खराब प्रबंधन को पुरस्कृत किया जाता है क्योंकि मुफ्त ओवरटाइम वास्तव में प्रति घंटे श्रम लागत को कम करता है!

बेशक, यह उपयोग किए जा रहे सॉफ़्टवेयर के प्रकार पर निर्भर करता है (सॉफ़्टवेयर पॉवरिंग हथियार सिस्टम, एवियोनिक्स या मेडिकल सिस्टम का जीवन पर प्रभाव भी हो सकता है), लेकिन एक कार में अच्छे पैसे का खर्च होता है और नियमित रूप से पर्याप्त उपयोग किया जाता है जो विश्वसनीयता में कमी कर रहे हैं काफी मूर्त और दर्दनाक। सॉफ़्टवेयर विफलताओं में अक्सर वर्कअराउंड होते हैं।

एक और विचार: कारें विश्वसनीय लगती हैं, लेकिन उनकी निश्चित रखरखाव लागत होती है, जो कार के अच्छे से काम करने पर भी चल रही है, और सांस्कृतिक रूप से, यह स्वीकार किया जाता है और यहां तक ​​कि लोगों द्वारा अपने वाहनों की देखभाल करने में भी एक शानदार खर्च होता है। दूसरी ओर, सॉफ्टवेयर अक्सर पहले से ही स्थापित होने पर टूट जाता है, और अक्सर समय के साथ बदलना पड़ता है, लेकिन सांस्कृतिक रूप से, कोई भी रखरखाव के लिए भुगतान नहीं करना चाहता है।


4

खैर, कार अपने इतिहास के अधिकांश के लिए अविश्वसनीय थे, और निश्चित रूप से सीखने की अवस्था है। कारों का उत्पादन बड़े पैमाने पर लगभग 60 वर्षों के लिए किया गया है, जबकि सॉफ्टवेयर का उत्पादन बड़े पैमाने पर लगभग 20-25 के लिए किया गया है। बड़े पैमाने पर, मेरा मूल रूप से यह मतलब है कि बड़े पैमाने पर जनता इसे खरीदती / उपयोग करती है और इसे बनाने की प्रक्रिया को सही करने के लिए वास्तव में बहुत बड़ा प्रोत्साहन है।


4

मैं एक आवेदन के रूप में कार के बारे में सोचना पसंद करता हूं। जबकि OS वह सड़क है जिस पर एप्लिकेशन चलता है।

सड़क और कार के बीच इंटरफेस को अच्छी तरह से परिभाषित किया गया है। अच्छी तरह से परीक्षण किया गया है और बड़े पैमाने पर पिछड़े संगतता के लिए जाँच की जाती है (जो कि इंटरफ़ेस सरल है)। लेकिन फिर भी आपके पास कुछ पिछड़े हुए संगतता मुद्दे हैं। टाइप "फेरी" की कारों में "कीचड़ वाली सड़कों" की सड़कों पर चलने का कठिन समय होता है।

यहां तक ​​कि सड़कों की तरह आपको ओएस भी निरंतर रखरखाव की आवश्यकता है। पुलों का भण्डारण। कारें बर्फ की जंजीरों पर डाल दी जाती हैं और सड़कों को तोड़ देती हैं जैसे कि आवेदन भ्रष्ट और ओएस द्वारा उपयोग किए गए डिस्क और फाइलों को नुकसान पहुंचाते हैं।

एक ओएस पर आवेदन लिखे जाएंगे। लेकिन सामान्य तौर पर उन्हें ओएस (विभिन्न प्रकार की सड़क) के विभिन्न संस्करणों को चलाना चाहिए। तो आपका सपोर्टर ऑप्टिमाइज़्ड ऐप आसानी से चल सकता है और बिना किसी समस्या के जब तक यह सही OS (राजमार्ग) पर चलता है, जबकि अन्य सामान्य उद्देश्य (सरल) कोड सभी प्रकार की सड़क पर ठीक चलेगा।

अनुप्रयोग और OS के बीच इंटरफ़ेस परिभाषित किया गया है, लेकिन अत्यधिक जटिल है और हमेशा थोड़ा उतार-चढ़ाव होता है। खासकर जब से हम उपयोगकर्ता को एक्सटेंशन के साथ अपने स्वयं के ओएस को संशोधित करने की अनुमति देते हैं। अगर सरकार ने उपयोगकर्ताओं को सड़कों को संशोधित करने की अनुमति दी तो बहुत अधिक दुर्घटनाएं होंगी।

जब आप ओएस को संशोधित करने के लिए उपयोगकर्ता की क्षमता को सीमित करना शुरू करते हैं तो अनुप्रयोगों की विश्वसनीयता लगभग ठोस हो सकती है। उन सभी एम्बेडेड उपकरणों को देखें। हम उपयोगकर्ताओं को उनके OS के पास और आपके चलने को ठीक नहीं होने देते हैं और बिना रुकावट के लगातार 24/7।

तो मैं कहूंगा कि यह अविश्वसनीय में सॉफ्टवेयर नहीं है। यह कहना अधिक पसंद है कि उपयोगकर्ता अनुप्रयोगों के लिए राजमार्ग में छेद खोद रहे हैं। अरे, आपका आवेदन पिछले साल खोदे गए छेद में दुर्घटनाग्रस्त हो गया और भूल गया


+1 बहुत अच्छा सादृश्य और पूरी तरह से मैं जो लिखना चाहता था, उसकी पंक्तियों में (लेकिन इसे पढ़ने के बाद नहीं)
जॉरिस मेय्स

3

सबसे पहले, आपके उपयोगकर्ता को यह जानना होगा कि इस दुनिया में सॉफ्टवेयर इतना विश्वसनीय है कि उसे पता भी नहीं है कि यह मौजूद है। क्या आपने कभी टीवी क्रैश देखा है? न ही मैं।

मुझे लगता है कि मुख्य कारण सॉफ्टवेयर सारहीन है। सारहीन होने का मतलब है कि गैर-डेवलपर्स प्रगति को नहीं देख रहे हैं। उदाहरण के लिए, यदि मैं एक कार बना रहा था, तो आप मुझे विभिन्न भागों को इकट्ठा करते हुए देख सकते हैं और यह कार की तरह अधिक से अधिक दिखाई देगी; हालाँकि, यदि आप मुझे प्रोग्रामिंग करते हुए देखते हैं, तो शायद मैं हरे रंग के पाठ के साथ एक अजीब स्क्रीनिंग करते हुए ब्लैक स्क्रीन पर घंटों बिताऊंगा और फिर अचानक जब पैटर्न बदलता है तो बस थोड़ा सा ओवरएक्सिट करूँगा।

उसके कारण, सामान्य लोगों को सॉफ्टवेयर की जटिलता का एहसास नहीं होता है। जब वे एक खिड़की देखते हैं, तो उन्हें लगता है कि वे कार्यक्रम को समग्र रूप से देखते हैं, जो ओह-गलत है।

इसके अलावा, सॉफ्टवेयर बहुत अधिक है, कारों की तुलना में बहुत अधिक बार अनुकूलित किया जाता है। जब आप एक कार को अनुकूलित करते हैं, तो आप इसके डिजाइन के खिलाफ नहीं जाएंगे क्योंकि यह स्पष्ट रूप से बेवकूफ होगा। यदि मेरा इंजन कार के सामने है, तो इसे पीछे की ओर ले जाना सबसे बड़ी आपदा होगी। हालाँकि, चूंकि सॉफ्टवेयर सारहीन है, अगर ग्राहक आपसे पूरी तरह से डिजाइन के खिलाफ कुछ करने के लिए कहता है, तो उन्हें कोई संकेत नहीं मिलेगा (आपके अलावा, लेकिन वे नहीं सुनेंगे) कि वे जो कर रहे हैं वह बेवकूफी है, और फिर वे ' सभी को आश्चर्य होगा कि यह अपेक्षा के अनुरूप काम नहीं करता है।


मेरा टीवी हर समय दुर्घटनाग्रस्त रहता है। (डिजिटल सामान बना हुआ है)
tp1

3
  1. सूचना साझा करने में कमी (प्रोग्रामर एकल या छोटे समूहों में उड़ते हैं - कार डिजाइनर एक बड़े निगम के अंदर परस्पर टीमों के साथ काम करते हैं, और वे सभी अपना ज्ञान साझा करते हैं; यदि हम सभी प्रमुख निगमों के लिए काम करते हैं, तो हम सभी सीखने के कारण बेहतर प्रोग्रामर होंगे। दूसरों से, यही कारण है कि ओपन-सोर्स प्रोग्राम और ऑनलाइन संसाधन जैसी चीजें बहुत महत्वपूर्ण हैं)
  2. फील्ड एंटेंट्स की उम्मीदें (यह ठीक है अगर एक कार डिजाइनर केवल पहले 5-10 वर्षों के लिए मामूली उपयोगी है, लेकिन अगर एक प्रोग्रामर एक साक्षात्कार में जाता है और कहता है कि वह 5-10 वर्षों के लिए अधिक उपयोग नहीं करेगा, तो) साक्षात्कार समाप्त हो गया है)
  3. पेनेट्रेशन परीक्षण का अभाव (धन की कमी, वैधता के मुद्दों, आदि। कार कार निर्माता, हालांकि, एक ईंट की दीवार में कार के बाद स्लैम कार, हवा की सुरंगें हैं, अपेक्षाकृत सरल प्रदर्शन की आवश्यकताएं हैं, आदि)
  4. सूचना पारदर्शिता (आप नहीं जानते कि अधिकांश सॉफ़्टवेयर कैसे काम करते हैं? आप अनुमान लगाते हैं या आप साक्षात्कार, प्रेस विज्ञप्ति, विज्ञापन, आदि के आधार पर अनुमान लगाते हैं। कारों के साथ; हालांकि, सामान का अधिकांश हिस्सा आपके देखने के लिए वहीं है)
  5. इनहेरेंट इनकैप्सुलेशन ऑफ नॉलेज (पुरुष / रोबोट एक साथ वेल्डिंग करने वाले फ्रेम को स्थिरता नियंत्रण प्रणाली के पीछे के गणित को जानने की आवश्यकता नहीं है; प्रोग्रामर को औसत व्यक्ति के लिए हजारों या दसियों हजार चीजों के बारे में जानकार होना चाहिए, जबकि कार डिजाइनर केवल सैकड़ों या हजारों जानने की जरूरत है)
  6. स्पर्श्यता (जब आप इसे देख सकते हैं तो यह मदद करता है)
  7. फ़ील्ड की आयु (वाहन का डिज़ाइन हजारों साल पुराना है; मोटर चालित वाहन का डिज़ाइन 250 वर्ष से अधिक पुराना है [भाप इंजन, आदि])
  8. सबसिस्टम की आलोचना (कारें अभी भी "काम" करेंगी, भले ही उनके बहुत सारे हिस्से काम करना बंद कर दें - बिजली के ताले, बिजली की खिड़कियां, एचवीएसी, विंडशील्ड वाइपर, टूटी हुई खिड़कियां, खोए हुए हबकैप, फ्लैट टायर [एक नए पर डाल], रेडियो, एक प्रकाश या दो, दूरस्थ प्रविष्टि, आदि। जब कंप्यूटर पर कुछ टूटता है, तो यह अक्सर SHTF परिदृश्य होता है)
  9. अन्योन्याश्रयता (जब एक कंप्यूटर टूटता है, तो यह दुर्लभ नहीं है कि यह सैकड़ों या हजारों अन्य कंप्यूटरों को प्रभावित करता है; जब एक कार टूटती है, तो यह कुछ हद तक दुर्लभ है कि अन्य कारें प्रभावित होती हैं - यदि अन्य कारें प्रभावित होती हैं, तो यह लगभग हमेशा केवल 1 होती है। -3)
  10. कंबल दोष (अगर कंप्यूटर का एक हिस्सा या हजारों में से एक कंप्यूटर टूट जाता है और एक प्रणाली को नुकसान पहुंचाता है, तो दोष पूरे कंप्यूटर तक फैलता है, या बाद के मामले में, कंप्यूटर के पूरे नेटवर्क; अगर आपकी कार एक कार से टकरा जाती है; विफल ब्रेक, या यदि एक कार स्टॉल और राजमार्ग पर पुनः आरंभ नहीं होगा, केवल व्यक्तिगत कार भाग को दोषी ठहराया गया है)
  11. परिमित बनाम अनंत प्रणाली (कारों में केवल इतना पैक किया जा सकता है, और वे केवल सीमित परिस्थितियों में काम करने की उम्मीद कर रहे हैं - जैसे आप इलाके में बीएमडब्ल्यू ड्राइव नहीं करते हैं जो केवल जीप की तरह वाहन कर सकते हैं, कंप्यूटर के साथ; हालांकि, संभावनाएं वास्तव में अनंत हैं - हर समय नया सामान, नया एपीआई, नया ओएस, नया सुरक्षा छेद, आईपैड, मोबाइल फोन सॉफ्टवेयर, नया यह, नया है, आदि)
  12. ज्ञान के आवश्यक शरीर का दायरा (130-140 बुद्धि वाला व्यक्ति कारों के बारे में जानने के लिए लगभग सभी सीख सकता है, लेकिन कंप्यूटर और प्रोग्रामिंग के बारे में जानने के लिए केवल एक अंश सीख सकता है)

3

संपूर्ण तर्क त्रुटिपूर्ण होने का साधारण कारण:

यांत्रिक उपकरणों को केवल इनपुट / आउटपुट में कम किया जा सकता है ; इस I / O ऑपरेशन को प्राप्त करने के लिए भागों की संख्या बढ़ाने से I / O ऑपरेशन नहीं बदलता है। इस प्रकार प्रणाली को पूरी तरह से समझा जा सकता है।

दूसरी ओर सॉफ्टवेयर में इनपुट -> प्रोसेस -> आउटपुट है । इस प्रकृति के कारण प्रणाली को पूरी तरह से भविष्यवाणी या समझा नहीं जा सकता है।

डोनाल्ड रम्सफेल्ड ने कहा कि यह सबसे अच्छा है:

“ज्ञात ज्ञात हैं; ऐसी चीजें हैं जो हम जानते हैं कि हम जानते हैं। हम यह भी जानते हैं कि ज्ञात अज्ञात हैं; यह कहना है कि हम जानते हैं कि कुछ चीजें हैं जो हम नहीं जानते हैं। लेकिन अज्ञात अज्ञात भी हैं - जिन्हें हम नहीं जानते कि हम नहीं जानते हैं। "- संयुक्त राज्य अमेरिका के रक्षा सचिव डोनाल्ड रम्सफेल्ड

संक्षेप में:

  • एक यांत्रिक उपकरण एक ऐसी प्रणाली है जिसे ज्ञात, और ज्ञात-अज्ञात,
  • सॉफ्टवेयर में ऊपर है, लेकिन अज्ञात-अज्ञात भी है।

1
डी। रम्सफेल्ड के हवाले से +1। मीडिया ने उन्हें कभी पसंद नहीं किया, लेकिन वह आदमी एक प्रतिभाशाली है।
ओस्टरवाल

3

यह एक मूर्खतापूर्ण प्रश्न है (आपसे नहीं, बल्कि मूल व्यक्ति से)।

यह मेरे पिता (एक मैकेनिक) की तरह लगता है जो कंप्यूटर से नफरत करता है फिर भी पूरे दिन ईबे पर बिताता है।

यह पूछने जैसा है कि "एक कीट की तुलना में पेड़ अधिक विश्वसनीय क्यों है?"।

सबसे पहले, मेरे पास 30 (हाँ, 30+) कंप्यूटर हैं और उनमें से एक भी दुकान में नहीं है। मैंने अभी अपनी कार की मरम्मत में $ 1400 खर्च किए। कंप्यूटर मरम्मत बनाम ऑटो मरम्मत की दुकानों की संख्या पर जाएं। एक बार फिर, बेवकूफ सादृश्य।

कारों को स्टील, कंप्यूटर प्लास्टिक से बनाया जाता है। सभी मौसम की स्थिति में कारें काम करती हैं, इनडोर उपयोग के लिए डिज़ाइन किए गए कंप्यूटर।

मेरा कमोडोर 64 (26 वर्ष) पूरी तरह से काम करता है और इसकी कोई मरम्मत नहीं हुई है। मेरे दोनों वाहनों (10 साल से कम पुराने) की बहुत व्यापक मरम्मत हुई है। मुझे एक कार दिखाओ जिसमें हजारों और हजारों घंटे का उपयोग हो जो कि 26 साल पुरानी है जो अभी भी 100% चलती है जब यह कारखाना नया था।


2

सॉफ्टवेयर बिट्स पर आधारित है: 0 और 1. कार यांत्रिक भागों पर आधारित (अधिकतर) हैं।

एक यांत्रिक भाग खराब हो सकता है या फिर भी काम कर सकता है। आपका ब्रेक खराब हो जाता है, या वाल्व लीक हो जाता है, लेकिन कार अभी भी ज्यादातर काम करती है जब तक कि आप इसे ठीक नहीं करवा सकते।

सॉफ्टवेयर, अधिकांश भाग के लिए, क्रमिक विफलता जैसी कोई चीज नहीं होती है। यह या तो काम करता है, या यह टूट जाता है। शून्य से विभाजित करना "लगभग सही" नहीं है; यह सिर्फ एक त्रुटि है। जब आप पर्याप्त स्थान के बिना ड्राइव को बचाने की कोशिश करते हैं, तो आप सभी डेटा को बाध्य करने के लिए कड़ी मेहनत नहीं कर सकते हैं; यह बस नहीं जाएगा।

मुझे नहीं लगता कि सॉफ्टवेयर कार की तुलना में कम विश्वसनीय है, लेकिन जब सॉफ्टवेयर विफल होता है, तो यह तुरंत विफल हो जाता है, धीरे-धीरे नहीं।


1

मुझे लगता है कि मुझे एक बेहतर सादृश्य मिला है। एक कंपनी लें जो ग्राहक विनिर्देश के लिए एम्बुलेंस बनाती है। बेस प्लेटफॉर्म (कहते हैं, एक पूरी तरह से परिचालन और सड़क-कानूनी आरवी-कटवे चेसिस) के लिए कई बिंदुओं पर संशोधनों की आवश्यकता होती है: फ्रेम, चार्जिंग सिस्टम, फिलर स्पाउट, सस्पेंशन, आदि। उन संशोधनों को न केवल स्ट्रीट-लीगल होना चाहिए, बल्कि न्यायिक आवश्यकताओं को पूरा करना होगा। ग्राहकों की इच्छाओं को पूरा करते हुए।

फिर आपको स्वयं एम्बुलेंस निकाय का निर्माण करना होगा, जो कि सरकार और अन्य निकायों की कई परतों से विनियामक आवश्यकताओं से भी भरा हुआ है। अभी भी कुछ फंकी सीटिंग अरेंजमेंट या स्टोरेज सिस्टम के लिए ग्राहक की इच्छा को पूरा करता है। और यह मत भूलो कि आपके पास अलग-अलग खरीदारी और परिनियोजन शेड्यूल पर दुनिया भर से सौ अलग-अलग ग्राहक हैं, जिनमें से कोई भी कभी भी यह नहीं कहता है कि "मैं पिछले एक की तरह एक दर्जन से अधिक ले जाऊंगा" अपवादों के पन्नों को प्रस्तुत किए बिना भी। बार-बार पूरे मामले की एक पूर्ण इंजीनियरिंग की आवश्यकता होती है।

कारें? यह तुच्छ है। आप खरीद लेंगे कि क्या बनाया गया है और डिजाइन के किसी भी पहलू पर आपका कोई सीधा प्रभाव नहीं है। यहां तक ​​कि आपकी पसंद का रंग कृत्रिम है क्योंकि आप वास्तव में कुछ ऐसा निर्दिष्ट नहीं कर सकते हैं जो पहले से ही इंजीनियर और परीक्षण नहीं किया गया है। कुछ अर्थों में 'बाजार' केवल 'ग्राहक' नहीं है। मैं तर्क दूंगा कि कुछ बाजार के लिए निर्मित ऑफ-द-शेल्फ सॉफ्टवेयर आम तौर पर उतना ही विश्वसनीय है जितना कि आप स्थानीय डीलरशिप पर लेने वाली कार के रूप में विश्वसनीय हैं।


1

कारें वास्तव में उतनी विश्वसनीय नहीं हैं जितनी आप सोचते हैं। यह सिर्फ इतना है कि दोष लंबे समय तक छिपा रह सकता है (या अनदेखा किया गया) बिना पूरी बात के विफल हो जाता है। आपकी कार रिसाव तेल और / या शीतलक? नहीं? क्या आपको यकीन है? आप शायद गलत हैं ... यह शायद सिर्फ एक बहुत छोटी राशि कहीं लीक है जिसे आपने अभी तक नहीं देखा है ... अब इसे निलंबन, बॉडी पैनल, इंटीरियर आदि तक विस्तारित करें। मुझे नहीं लगता कि मैंने कभी किया है अभी तक एक ऐसी कार का सामना करना पड़ा जिसके बारे में मुझे कुछ गलत नहीं लगा। हालांकि, अधिकांश भाग परिवहन के मिशन के लिए बहुत अधिक नहीं हैं। कंप्यूटर के साथ ऐसा नहीं है। एक कंप्यूटर में लगभग हर हिस्सा महत्वपूर्ण है।

यह पुराना एनालॉग बनाम डिजिटल डिबेट है, जिसे अभी रद्द किया गया है। डिजिटल टीवी महान है, जब तक सब कुछ सही है। झटपट कुछ गलत हो जाता है, ऑडियो रुक जाता है और वीडियो इसे बेकार बना देता है। एनालॉग टीवी के साथ तुलना करें जहां आपको बस थोड़ा सा हिस या स्थिर मिलेगा जिसे आसानी से अनदेखा कर दिया जाता है।


1

सबसे पहले निश्चित रूप से कुछ स्व पूरी तरह से विश्वसनीय हैं, और कारें - विशेष रूप से ब्रिटिश और इतालवी वाले - जरूरी नहीं कि विश्वसनीय हों।

कहा कि मोटर वाहन सॉफ्टवेयर के साथ काम करने का मेरा अनुभव यह है कि यह दो चीजों के लिए आता है:

  • वारंटी लागत। जब आपका स्व विफल हो जाता है तो आप इसे पुनः आरंभ करते हैं। शायद आप बग रिपोर्ट दर्ज करेंगे। या महंगे समर्थन अनुबंध का उपयोग करें। जब आपकी कार विफल हो जाती है तो आप इसे अंदर लाएंगे और मांग करेंगे कि यह वारंटी के तहत तय किया गया है। इससे निर्माता को $ 100 और ऊपर का खर्च आएगा। यदि प्रत्येक sw विफलता की लागत निर्माता $ 2 है तो मुझे यकीन है कि sw अधिक विश्वसनीय होगा।

  • जेडी पॉवर्स (और अन्य गुणवत्ता रैंकिंग)। जेडी पॉवर्स थिंग्सगोनवॉन्ग (जो कुछ भी हो सकता है) का सर्वेक्षण करता है। और अगर वह रैंकिंग वास्तव में खराब है तो लोग आपकी कार को नहीं खरीदेंगे, कम से कम इतना पैसा नहीं कमाएंगे कि वह लाभ कमा सके। यदि हमारे पास स्व के लिए एक जेडी पॉवर्स था और लोग वास्तव में इसकी परवाह करते थे, तो मुझे पूरा यकीन है कि स्व और अधिक विश्वसनीय होगा।

इसलिए यदि आप अविश्वसनीय कार बनाते हैं, तो वारंटी लागत जल्दी से आप सभी लाभ खा जाएगी और कुछ वर्षों में खराब गुणवत्ता रैंकिंग का मतलब है कि आप किसी भी कार को बिल्कुल भी नहीं बेचेंगे। यदि आप अविश्वसनीय स्वाल बनाते हैं तो उपयोगकर्ता शिकायत करेंगे और आपको महंगे समर्थन अनुबंध बेचने के लिए मिलेगा।


1

मोटर वाहन की विश्वसनीयता और सुरक्षा अनिवार्य है। कई (अधिकांश?) देशों में यह कानून द्वारा आवश्यक है कि उनके पास न्यूनतम स्तर की विश्वसनीयता और सुरक्षा है और उन्हें सबसे खराब स्थिति (जो भी हो) के लिए परीक्षण किया जाता है। वाणिज्यिक सॉफ्टवेयर, अधिकांश भाग के लिए नहीं है।

जबकि सॉफ्टवेयर के लिए अन्य कानूनी निहितार्थ हैं, यह ध्यान रखना महत्वपूर्ण है कि यदि सॉफ़्टवेयर "सेव" बटन को हर बार क्रैश करता है, तो यह केवल एक पैच / फिक्स का मामला है और फिर आप चलते रहते हैं। यदि हर बार जब आप संकेतक को चालू करते हैं, तो एक कार दुर्घटनाग्रस्त हो जाती है, तो यह बहुत खराब बात है। यह Microsoft Outlook के लिए अप्रत्याशित रूप से दुर्घटनाग्रस्त हुए बिना चलाने के लिए इतना महत्वपूर्ण नहीं है क्योंकि यह अप्रत्याशित रूप से दुर्घटनाग्रस्त हुए बिना चलने के लिए एक SUV के लिए है।

कहा जा रहा है, सॉफ्टवेयर के अन्य टुकड़े हैं जो कार के यांत्रिकी से अधिक या अधिक जिम्मेदारी के रूप में हैं। हवाई जहाज और मिसाइल गाइडेंस सिस्टम विश्वसनीय होने चाहिए; दांव पर जीवन हैं! एक उम्मीद करेगा कि ये औसत मोटर कार की तुलना में अधिक कड़ाई से परीक्षण किए गए हैं।


1

कार उद्योग परीक्षण के लिए जनता को "बीटा" कार जारी नहीं करता है, कार उद्योग को उस पर्यावरण के बारे में चिंता करने की ज़रूरत नहीं है जिसमें वे अपने उत्पादों को वितरित करते हैं, हालांकि उन्हें मुझे कई अन्य चीजों के बारे में चिंता करना पड़ता है। कहते हैं कि सॉफ्टवेयर उद्योग पहले मौलिक रूप से भिन्न हैं (जैसा कि हम सभी जानते हैं) इसलिए विश्वसनीयता और जटिलता वास्तव में विचारोत्तेजक हैं। मेरी राय में एक कार एक सॉफ्टवेयर की तुलना में जटिल है लेकिन यह देखना आसान है कि क्या काम कर रहा है या नहीं

  • कारों के नीचे आभासी नहीं हैं, यह परीक्षण करना आसान है (लेकिन अधिक महंगा)
  • उन्होंने सॉफ्टवेयर उद्योग की तुलना में बहुत पहले शुरू किया था, भले ही वे कम लोग थे, आप उनके द्वारा एकत्र किए गए अभ्यास और ज्ञान को कम नहीं कर सकते। सॉफ्टवेयर उद्योग अभी भी इसकी तुलना में एक बच्चा है।
  • कार उद्योग के सभी कानून और नैतिकता से बाध्य हैं कि वे कार न बनाएं जो उनके ड्राइवर को मारता है, खासकर पिछले दशकों में।

तो यह कहते हुए कि सॉफ्टवेयर कारों की तुलना में कम विश्वसनीय है, कई तरह के सॉफ्टवेयर के लिए सही हो सकता है और अन्य क्षेत्र (सुरक्षा, एयरोनॉटिक्स ...) के लिए पूरी तरह से गलत है, तो आप यह सुनिश्चित कर सकते हैं कि एक सॉफ्टवेयर सबसे विश्वसनीय से कम से कम सबसे विश्वसनीय है उन क्षेत्र में कारों की। केवल इसलिए कि वे क्षेत्र महत्वपूर्ण हैं और जो मैं केवल उन क्षेत्र में जानता हूं, सॉफ्टवेयर कार उद्योग से तुलना कर सकते हैं।

जो हमें इस ओर ले जाता है: अधिकांश सॉफ्टवेयर को उनके डोमेन में महत्वपूर्ण नहीं माना जाता है। जब इसे इस तरह माना जाता है, तो आपके पास विश्वसनीय सॉफ़्टवेयर होता है, एकमात्र समस्या जो आपको मिलेगी उन पर पर्यावरण से जुड़ी समस्याएं हैं (इसलिए यदि आप इसे नियंत्रित कर सकते हैं, हालांकि, आपको कोई समस्या नहीं होगी), तो सॉफ़्टवेयर स्वयं नहीं। हालाँकि, अधिकांश सॉफ़्टवेयर संपादक इन महत्वपूर्ण क्षेत्रों में काम नहीं करते हैं, बेशक वे गुणवत्ता का एक निश्चित स्तर प्रदान करने के लिए बाध्य हैं, लेकिन वे सॉफ़्टवेयर को जल्द से जल्द वितरित करने के लिए (मेरी राय में) अधिक बाध्य हैं। हालांकि अच्छे सॉफ्टवेयर की आवश्यकता होती है: अच्छे प्रोजेक्ट प्रबंधन, ठोस विशिष्टताओं, अच्छे डिजाइन और इसमें काम करने वालों से अच्छे स्तर (इसे फिर से शुरू करने के लिए)। यह सिर्फ इसे बनाने के लिए है, हम इसे बेचने की बात भी नहीं कर रहे हैं ...

इस सब में समय लगता है और इसलिए पैसे की आवश्यकता होती है। मैं यह नहीं कह रहा हूं कि आपको जो मिल रहा है उसके लिए आप जो भुगतान कर रहे हैं उसका अधिकांश समय आप जो भी निवेश करते हैं वह कम नहीं है (सिवाय अगर आप खराब हो गए हैं तो आप कुछ भी नहीं पैदा करते हैं ...) और कभी-कभी अधिक। ।


1

मेरा मानना ​​है कि कारें कम जटिल हैं। लेकिन यहां तक ​​कि अगर यह मामला है, मुझे नहीं लगता कि सॉफ्टवेयर कम विश्वसनीय है। हालाँकि, मेरा मानना ​​है कि अधिक महत्वपूर्ण कारक हैं जो सॉफ्टवेयर की विश्वसनीयता में विसंगतियां पैदा करते हैं:

  1. सॉफ्टवेयर में शामिल अमूर्त । यह सॉफ़्टवेयर निर्माता गलतफहमी का कारण बनता है कि चीजें वास्तव में कैसे काम कर रही हैं। जैसे-जैसे समय बीतता है, अधिक से अधिक अमूर्त जोड़ा जाता है। उदाहरण के लिए, असेंबली भाषा आपको मशीन पर सीधा नियंत्रण देती है। C अधिक अमूर्त है लेकिन फिर भी मशीन के करीब है। जावा, C # और आगे क्या आएगा मशीन में क्या होता है। एक अन्य उदाहरण है यदि आप एक प्रोग्रामर हैं जो यह समझना चाहते हैं कि सॉफ्टवेयर स्तर पर नेटवर्किंग कैसे होती है, तो आपको सी के साथ प्रोग्राम करना चाहिए क्योंकि इंफ्रास्ट्रक्चर (सॉफ्टवेयर के रूप में) सी में लिखा है।

  2. अलग-अलग अनुभवऔर निर्माताओं का ज्ञान विभिन्न परिणामों की ओर जाता है। विभिन्न डेवलपर्स अलग विश्वसनीयता के साथ सॉफ्टवेयर बनाते हैं। कार निर्माताओं के बारे में भी यही कहा जा सकता है। हालांकि, अंतर यह है कि कोई भी जो एक संपादक और एक कंपाइलर का उपयोग कर सकता है या यहां तक ​​कि बस एक आईडीई (एकीकृत विकास पर्यावरण) स्थापित कर सकता है, सॉफ्टवेयर और मुफ्त में बना सकता है। एक कार बनाने के लिए, आपको एक विशाल निवेश की आवश्यकता है, एक कारखाना (कुछ एक का उपयोग किए बिना एक कार बना सकता है, लेकिन आप इसे अपने चारों ओर हर जगह नहीं पाएंगे)। तथ्य यह है कि आप एक बड़ा निवेश करेंगे, इसका मतलब है कि आप क्षेत्र में सबसे अच्छा किराया करने की कोशिश करेंगे। फिर भी, कारों के साथ अभी भी विश्वसनीयता के मुद्दे हैं। यदि आप इसके बारे में जानते हैं, तो कई लाखों कारों को गंभीर [बग] के लिए बाजारों से वापस ले लिया जा रहा है। मेरी कार में, निर्माता एक ही वर्ष में खरीदी गई सभी कारों के लिए ब्रेक क्लिपर्स को मुफ्त में बदल देगा।

  3. सॉफ्टवेयर में कीड़े आमतौर पर कारों की तुलना में उपयोगकर्ताओं को अधिक दिखाई देते हैं। यह उपयोगकर्ता और सॉफ़्टवेयर के बीच सहभागिता और प्रतिक्रिया का परिणाम है। एक कार में, हम कम विवरणों पर ध्यान देते हैं, जैसे "कार को गति तब मिलती है जब हम गैस पेडल पर कदम रखते हैं", ब्रेकिंग, टर्निंग, लाइट, मिरर, ... आदि सॉफ्टवेयर में, प्रत्येक उपयोगकर्ता क्लिक / इनपुट के साथ आमतौर पर होता है। एक प्रतिक्रिया। तो, ऐसे कई बिंदु हैं जहां सॉफ्टवेयर छोटी गाड़ी हो सकती है और उपयोगकर्ता इसे तुरंत नोटिस करेगा। यह एक उपयोगकर्ता का मानना ​​है कि यह कारों की तुलना में कम विश्वसनीय है।

  4. हैकिंग और हमलों । एक सॉफ्टवेयर का जितना अधिक उपयोग किया जाता है, हैकिंग हमलों के तहत इसका प्रतिशत उतना अधिक होगा। आप इसकी तुलना कार चोरी से कर सकते हैं। मेरे लिए भी एक कार की विश्वसनीयता से समझौता किया जाता है जब इसे किसी के द्वारा इसके मालिक या कुंजी के अलावा खोला जा सकता है। हालाँकि, यह कार के मुकाबले सॉफ़्टवेयर पर हमला करने की कोशिश करना आसान है क्योंकि हमलावर दिखाई नहीं देता है। इसलिए, जब किसी सॉफ्टवेयर से समझौता किया जाता है, तो लोग जोड़ते हैं कि यह विश्वसनीय नहीं है, जबकि यह विश्वसनीय है कि यह किस लिए बनाया गया था।


0

यह सब कुछ की तरह है ... जब यह काम करता है तो आप परवाह नहीं करते ... जब यह टूट जाता है (या जिस तरह से आप चाहते हैं / अपेक्षा नहीं करते हैं) आप परवाह करते हैं।

हवाई जहाज के बारे में सोचो। लोगों को हाइजैक करने या उन्हें उड़ाने की कोशिश कर रहे लोगों के बारे में चिंतित हैं। लेकिन वास्तव में दैनिक उड़ानों की संख्या की तुलना में नकारात्मक घटनाओं की संख्या कम है। (एक दिन में अधिक उड़ानें होती हैं, फिर कभी अपहरण या बमबारी की जाती है .. यहां तक ​​कि अपहरण या बमबारी का भी प्रयास किया जाता है।)

यह सब आप में है और आप कैसे मापते हैं।


0

यह वास्तव में काफी सरल है। कारें पुरानी तकनीक की हैं। यकीन है कि इन दिनों घंटियाँ और सीटी बजती हैं (जो टूटती हैं) लेकिन अगर आप शुरुआती कारों को देखते हैं - तो उन्होंने बहुत कुछ तोड़ दिया ।

कारों के यांत्रिक भागों के पीछे 'प्रौद्योगिकी' सैकड़ों वर्षों से है और आंतरिक दहन इंजन भी लंबे समय से आसपास है, और जब उन्हें पेश किया गया था, तो बहुत सारी समस्याएं थीं।

इस बात पर विचार करें कि स्मृति समस्याएं हमारे कुछ प्रबंधित प्लेटफार्मों के साथ अतीत की लगभग एक चीज हैं। सॉफ्टवेयर दो सौ साल दे और हम इसे भी नीचे nailed होगा। वास्तव में, सॉफ्टवेयर की जटिलता को देखते हुए, मुझे लगता है कि हम वक्र से आगे हैं।


0

आधुनिक कारें s / w पर निर्भर करती हैं। जब आधुनिक कारें विफल हो जाती हैं, उदाहरण के लिए इंजन कंप्यूटर विफल हो जाता है, तो आमतौर पर (हालांकि, हमेशा नहीं, लेकिन आमतौर पर) इलेक्ट्रॉनिक्स ने इसे क्रैक किया, एस / डब्ल्यू नहीं।

एक आधुनिक कार के किसी भी मालिक से पूछें कि ईसीयू के साथ एक महंगी विफलता से पहले कितनी देर तक चलता है। 10 साल हो गए तो मैं दंग रह जाऊंगा। इलेक्ट्रॉनिक्स और सेंसर से भरी आधुनिक कारें आश्चर्यजनक रूप से अविश्वसनीय हैं।

यदि आप विश्वसनीयता सिद्धांत का अध्ययन करते हैं तो उत्तर स्पष्ट रूप से स्पष्ट हो जाता है। सब कुछ मैकेनिकल (उम्मीद सॉफ्टवेयर) में एक स्थिर-राज्य विश्वसनीयता है जो कि शिशु-मृत्यु दर और पहनने वाले क्षेत्रों के बाहर होने पर विफलता दर है। अंत-आइटम की विफलता-दर भागों की विफलता दरों का सारांश है। अधिक भाग जोड़ें: कुल विफलता दर एक उच्च संख्या बन जाती है। इसके बाद चुनौती यह है कि उन सभी घटकों की विफलता दर वास्तव में कम हो।

जब बात आती है टाइमिंग बेल्ट्स और सिलेंडर वियर और ऑक्सीजन सेंसरों को बकवास से भरा होने की, और ओह्मिक जाने वाले कनेक्टर, और वाइब्रेशन के कारण टूटने वाले तार - ऐसी तकनीकें हैं जिनका उपयोग विफलता दर को कम करने के लिए किया जा सकता है। ऐसा करते ही लागत भी बढ़ जाती है।

दूसरी ओर, सॉफ़्टवेयर की लगातार विफलता दर होती है। कई बार दोष खोजने में कठिनाई के बावजूद, अंत में सभी सॉफ्टवेयर सॉसेज मशीन है। इनपुट्स -> क्या सामान -> आउटपुट। कभी-कभी आदानों के आदेश और आदानों के संयोजन पता लगाने योग्य मोड के साथ विफलता की ओर जाता है। जब ऐसा होता है कि आपको अपना दोष मिल गया है, तो आप इसे ठीक कर देते हैं, और आप आगे बढ़ते हैं।

सॉफ्टवेयर जिसमें कोई (ज्ञात) दोष नहीं है, प्रभावी रूप से 0. की विफलता दर है। यह बिना किसी विफलता के हमेशा के लिए चलेगा। (औसत समय विफलता के बीच = 1 / विफलता दर)। हार्डवेयर प्लेटफ़ॉर्म पहले विफल हो जाएगा।

दोषों वाला सॉफ़्टवेयर केवल इनपुट स्थितियों के सही संयोजन तक ही चल सकता है, समय के साथ, दोष प्रकट होने का कारण बनता है।

इस सब में FALLACY भौतिक वस्तुओं की विफलता दरों की कोशिश करना और तुलना करना है (पहनने के कारण, आईसी में धातु का प्रवास, पानी, कंपन, आदि की विफलता) के साथ विफलता दर के साथ अनिवार्य रूप से एक परिमित-राज्य मशीन है जो बस वास्तव में करता है इसका निर्देश अनुक्रम क्या करने के लिए कहता है।

(यहां तक ​​कि रैम में बिट-फ़्लिपिंग बिट्स जैसे अल्फा-कण एक भौतिक घटना है, एक सॉफ्टवेयर दोष नहीं है। इस तरह के एक समान MAY को संभालने का तरीका हालांकि एक सॉफ्टवेयर दोष है, लेकिन याद रखें, गंदा अल्फा कण सॉफ्टवेयर का सिर्फ एक और इनपुट था। )


0

सॉफ्टवेयर और कारों के बीच अंतर यह है कि सॉफ्टवेयर डेवलपर्स के लिए विवेक बनाए रखने के लिए, सॉफ़्टवेयर के सटीक डुप्लिकेट को सॉफ़्टवेयर के सभी उपयोगकर्ताओं द्वारा संचालित किया जाना चाहिए और ऑटोमोबाइल निर्माताओं को पवित्रता बनाए रखने के लिए, उन्हें यह स्वीकार करना होगा कि उनके सभी उपयोगकर्ता ड्राइविंग करेंगे काफी अलग कारें क्योंकि आप जिस तरह से कार चलाते हैं वह कार को बदल देती है, लेकिन जिस तरह से आप सॉफ्टवेयर का इस्तेमाल करते हैं, जरूरी नहीं कि वह सॉफ्टवेयर भी बदले।

दूसरी ओर,

यदि आपके पास अपने सॉफ़्टवेयर में तेल की जांच करने का कोई तरीका है, तो आपको पता होगा कि यह कब विफल होगा।

यदि आपके पास अपने सॉफ़्टवेयर में तेल को बदलने का कोई तरीका है, तो आप शायद इसे कुछ महीनों तक बढ़ा सकते हैं।

और सादृश्य का विस्तार करने के लिए:

पैच तेल नहीं बदल रहे हैं, वे एक टपका हुआ गैसकेट की जगह ले रहे हैं।

अद्यतन तेल नहीं बदल रहे हैं, वे ब्रेक ठीक कर रहे हैं।

विज्ञप्ति तेल को बदल नहीं रहे हैं, वे एक कुंजी-कम इग्निशन जोड़ने की तरह हैं।


0

जो कारें टूट जाती हैं, वे सहन करने योग्य नहीं होती हैं। साथ ही इससे जान को खतरा हो सकता है। टूटने वाले सॉफ़्टवेयर को सहन किया जाता है, और उपयोगकर्ता इसके चारों ओर काम करते हैं या इसे स्वीकार करते हैं। बग फ्री सॉफ्टवेयर की बहुत मांग है।

इसके अलावा सॉफ्टवेयर को अनुकूलित किया जा सकता है, आपके पास कारों के 10000000 विभिन्न मॉडल नहीं हैं। मैं कहूंगा कि विकिमीडिया विश्वसनीय है और पीपीएल के टन उस सॉफ्टवेयर का उपयोग करते हैं। तो आप कह सकते हैं कि बहुत से लोग बगफ्री या विश्वसनीय सॉफ़्टवेयर का उपयोग करते हैं। (वर्डप्रेस, विभिन्न स्रोत नियंत्रण, mysql और sqlite बहुत विश्वसनीय हैं, आदि)


1
वहाँ बहुत सारे सॉफ्टवेयर है जो अगर यह विफल रहता है तो खतरे में पड़ सकता है।
एडम लेअर

@ एना लियर: हाँ, लेकिन वह 'सामान्य रूप से सॉफ़्टवेयर' के बारे में बात कर रही है। सभी कारों में अधिकांश सॉफ्टवेयर खतरे में नहीं होते हैं। इसके अलावा जो मुझे पता है, उस तरह का सॉफ्टवेयर अक्सर विश्वसनीय होता है

0

सॉफ्टवेयर्स गणितीय और तर्क वस्तुएं हैं, जबकि कारें वास्तविक वस्तुएं हैं।

इसके अलावा, आप आसानी से जान सकते हैं कि किसी कार में क्या समस्या है और समस्या क्या है, जबकि यह सॉफ्टवेयर्स के साथ बहुत अधिक कठिन हो सकता है: कल्पना करें कि किसी को कंप्यूटर की समस्या हो और किसी को कार की समस्या हो; यह व्यक्ति बेहतर जान सकता है कि गलत क्या है क्योंकि कारें कंप्यूटर की तुलना में कम सार हैं।

मैं यह नहीं कह रहा हूं कि कंप्यूटर समझना मुश्किल है: कारों में बहुत सारे भौतिक कानून शामिल हैं जैसे थर्मोडायनामिक, इलेक्ट्रॉनिक्स, रसायन विज्ञान।

आप यह तुलना भी कर सकते हैं, कि: "एक हथौड़ा एक सचिव की तुलना में अधिक विश्वसनीय क्यों है?"।

मुझे नहीं लगता कि यह प्रश्न वास्तव में प्रासंगिक है, लेकिन मुझे लगता है कि यह वास्तव में अच्छी तरह से दिखाता है कि एक अच्छी गणित की कमी एक निश्चित प्रकार की प्रणाली की समझ को कैसे प्रभावित कर सकती है।


0

सॉफ्टवेयर एक कार की तुलना में बहुत अधिक जटिल है, भले ही कार हजारों घटकों से बना हो।

यदि एक कार सॉफ्टवेयर के रूप में जटिल थी, तो कार के सभी घटक कार के अन्य सभी घटकों पर निर्भर होंगे, और कई कार घटक सीधे कई अन्य कार घटकों के साथ जुड़े होंगे।

दुनिया की सभी कारें जटिलता में मूल यूनिक्स सॉफ़्टवेयर के बराबर हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.