आधुनिक सॉफ्टवेयर उत्पादों में कितना मूल कोड बचा है? [बन्द है]


32

आप में से कई लोग बड़ी-बड़ी कंपनियों के लिए काम करते हैं जो प्रसिद्ध सॉफ्टवेयर को शिप करती हैं। मैं सोच रहा था, मूल कोड का कितना (मूल रूप से, कोड जो "v1.0" रिलीज़ था) आधुनिक बड़े पैमाने पर अनुप्रयोगों में बचा हुआ है, जैसे कि, फ़ायरफ़ॉक्स, फ़ोटोशॉप, विंडोज, लिनक्स, आदि? मैं वास्तव में प्रथम-हाथ के अनुभव और वास्तविक विश्व युद्ध की कहानियों को पसंद करूँगा।

मेरी जिज्ञासा को संतुष्ट करने के लिए धन्यवाद।

संपादित करें

पता चलता है कि गलतफहमी की डिग्री है। मैं इसके बाद मूल रूप से निम्नानुसार हूं: जब आप स्रोत कोड को दोष / एनोटेट करते हैं, तो प्रारंभिक 1.0 रिलीज के बाद से कोई भी भाग या पूरी फाइलें अछूती हैं।


37
एक नदी एक पहाड़ के नीचे बहती है। पानी वाष्पीकृत होकर जमीन में समा जाता है। अन्य धाराओं से नया पानी आता है। जब नदी समुद्र तक पहुँचती है, तो क्या यह वही नदी है? आप कैसे बता सकते हैं? क्या होगा अगर कोई भी अकेला अणु पर्वत-शीर्ष से समुद्र तक की पूरी यात्रा नहीं करता है? यदि कोई अणु समान नहीं है, तो हम कैसे कह सकते हैं कि यह एक ही नदी है? और यह सवाल नदी के बारे में गूंगी कहानी से ज्यादा सार्थक कैसे है?
एस.लॉट

4
प्रश्न ठीक है, लेकिन यह वाक्यांश "मैं वास्तव में प्रथम-हाथ का अनुभव और वास्तविक विश्व युद्ध की कहानियां पसंद करूंगा।" सिर्फ "हम अभी भी मूल कोड के एक्स%" जहां एक्स 0 से 100 तक की हो सकती कह उत्तरों की सूची आमंत्रित कर रही है
ChrisF

10
@ एटन गोगोलेव: बिंदु यह है। क्यों पूछें? मेरे वास्तविक दुनिया के अनुभव में 1.0 के समान 80% के साथ दो उत्पाद और 1.0 के समान 0% शामिल हैं। यही मेरा अनुभव है। अब आप क्या जानते हैं कि आप पहले नहीं जानते थे? आपको क्या समस्या है जो हल हो गई है? यह आपकी मदद कैसे करता है?
एस.लॉट

4
@ S.Lott मैं यहाँ एक नुकसान में हूँ ... जिज्ञासा? क्या यह जानना आकर्षक नहीं है कि यह विंडोज 7 अल्टीमेट चीज जो हम में से कुछ लोग अभी भी चला रहे हैं, कोड में वापस विंडोज 3.1 है?
एंटोन गोगोलेव

6
@ एटन गोगोलेव: "जिज्ञासा?" क्षमा करें, इससे मुझे कोई मतलब नहीं है। यदि उत्तर 17% था, तो क्या हुआ? उस अवलोकन से क्या होता है?
S.Lott

जवाबों:


36

आपकी अपेक्षा से अधिक और आपकी अपेक्षा से अधिक पुराना होगा। यहां तक ​​कि "कुल पुनर्लेखन" और बड़े रिफैक्टर्स के साथ भी कई मॉड्यूल हैं जो अछूते रहते हैं।

Péter का सुझाव है कि उदाहरण के लिए आपको फ़ायरफ़ॉक्स में पुराना नेटस्केप कोड नहीं मिलेगा। जो गलत है, यदि आप स्रोत कोड के माध्यम से खोजते हैं तो आपको अस्वीकरण के साथ काफी कुछ फाइलें मिलेंगी:

* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1994-2000 

लिनक्स कर्नेल हेडर में उदाहरण के लिए आप निम्न चीजें पा सकते हैं:

include/linux/if_ppp.h: * Copyright (c) 1989 Carnegie Mellon University.
include/linux/quota.h: * Copyright (c) 1982, 1986 Regents of the University of California. 
include/linux/coda.h:          Copyright (c) 1987-1999 Carnegie Mellon University
include/linux/mc146818rtc.h: * derived from Data Sheet, Copyright Motorola 1984 (!).
include/net/slhc_vj.h: * Copyright (c) 1989 Regents of the University of California.

1
फ़ायरफ़ॉक्स गंभीरता से दशक पुराने कोड से भरा है।
kizzx2

1
अरे, यह अभी भी काम करता है (शायद)
कैलम रोजर्स

1
@ कैलम रोजर्स: यह काम करता है, लेकिन ठीक नहीं है, और यह धीमा है ... शर्म की बात है कि फ़ायरफ़ॉक्स इस तरह कैसे गिर गया।
Anto

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

3
@ kizzx2 कोड जंग नहीं करता है ..

27

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

नए फ़ॉन्ट्स संवाद स्थापित करें


+100 मैंने वास्तव में कुछ साल पहले खुद को पाया था
निकोलाई पुनश्चलिंग

हां, यह ... msoOldStyleDialog (?) सब ठीक है, अभी भी समाप्त हो चुके विरासत कार्यक्रमों के लिए समर्थित है और इसलिए 1.0.x पर रुके हैं। एक साधारण फ़ाइल चयनकर्ता की तरह। हालाँकि इस मामले में यह केवल एक डायलॉग की बात है जो वे GUI ओवरहाल (ओं) के दौरान चूक गए थे।
हेनरिक एर्लडसन

6

मैं नहीं बता सकता कि काम पर कोड कितना पुराना है। मैं केवल तभी वापस जा सकता हूं जब इसे तोड़फोड़ में डाला गया था, और बहुत कुछ है जो अब तक वापस आता है।

हालाँकि, मेरा एक दोस्त है जिसने Microsoft Office कोड पर काम किया है। कुछ साल पहले, उन्होंने मुझे बताया कि उन्होंने कुछ SaveA5World कॉल्स को इससे हटा दिया था। उस कॉल का M680 के साथ पुराने Macintoshes पर एक उद्देश्य था? 0 प्रोसेसर, और ऐप्पल के पावरपीसी मैक पर 90 के दशक में जाने के बाद से कोई उद्देश्य नहीं है।

मेरी टिप्पणियों में, किसी भी शक्तिशाली सॉफ्टवेयर प्रणाली जो एक कंपनी पर निर्भर करती है उसे प्रौद्योगिकी के साथ बनाया गया था जिसे कोई भी वास्तव में उपयोग नहीं करना चाहता है।


2

"यदि उन्होंने अपना काम शुरू से ही किया, तो एक बड़ा हिस्सा, अन्यथा एक छोटा सा हिस्सा।"

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

इस के लिए भी एक फ्लिप-साइड है, ज़ाहिर है। यह तय करना कि मूल कोड काफी अच्छा है, जैसे कि Microsoft विंडोज के मामले में, या ACDSee, टेक्स्ट एडिटर या प्यारा "लाइन ऑफ़ लिनक्स" जैसी अच्छी तरह से पहचानी जाने वाली एप्लीकेशन।

भले ही ये अनुप्रयोग उन लोगों के लिए भद्दे लग सकते हैं जो शायद उन्हें पहली जगह में प्यार नहीं करते थे, वे एक सुनियोजित विशेषता के साथ-साथ एक अच्छी तरह से परिभाषित विशेषता प्रदर्शित करते हैं; भले ही उनके पास घंटियाँ और सीटी न हों, लेकिन उन्हें पसंद किया जा सकता है; वे टिन पर करते हैं, पिछड़ी संगतता महान है, और भविष्य में भी अच्छी तरह से काम करने की संभावना है।

यदि आप फीचर्स के अनुसार जाते हैं, तो फ़ोटोशॉप में 5.0 के बाद से 90% समान कोड होगा। ? यह करता है? क्यों नहीं? अद्यतन बेचना। आप वास्तव में आज इसके साथ और अधिक नहीं कर सकते।

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

इसका उत्तर यह है कि कुछ रत्न 1.0 या 1.0.x पर बने रहते हैं, क्योंकि डेवलपर ने फीचरसेट पर निर्णय लिया है, बग-मुक्त कार्यक्रम पूरा किया है, और या तो अंतहीन सामान जोड़ने और जोड़े गए सामान में बग को ठीक करने से लाभ नहीं हुआ है, या स्थानांतरित हो गया है अधिक रत्नों को विकसित करने के लिए।

बाकी सभी 1.0 में कोड के पास कहीं भी रहने की संभावना नहीं है। और यदि आपके पास एक महान विचार है तो आपको आवेदन को फिर से क्यों नहीं लिखना चाहिए? आपको चाहिए, यह कोड के लिए मजेदार है! :) सिवाय इसके कि कई आधुनिक सॉफ्टवेयर उत्पादों में ऐसा नहीं है। परिवर्तन (बिक्री) के लिए बदलें और फीचर्स से प्रेरित नहीं, और बदलते प्लेटफॉर्म का अनुपालन करने के लिए कुछ हद तक अद्यतन, दिन का क्रम है।

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


-2

यहां तक ​​कि आईडेक टेक और अनार्यल जैसे गेम के लिए उपयोग किए जाने वाले 'अत्याधुनिक' सिस्टम अभी भी उनमें 1.0 कोड का एक उचित बिट होगा।

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