ऑब्जेक्ट-ओरिएंटेड प्रतिमानों को मुख्यधारा में जाने में इतना समय क्यों लगा?


12

मैंने इस प्रश्न को पढ़ा और यह मुझे एक और हालिया बात के बारे में सोचने लगा। वस्तु उन्मुख भाषा। मुझे यकीन नहीं है कि जब पहली बार बनाया गया था, लेकिन मुख्यधारा बनने से पहले उन्हें इतना समय क्यों लगा?

  • C व्यापक रूप से लोकप्रिय हो गया, लेकिन बाद के वर्षों (दशकों) के लिए वस्तु-उन्मुख C ++ नहीं बन पाया
  • 90 के दशक से पहले कोई मुख्यधारा की भाषा वस्तु उन्मुख नहीं थी
  • ऑब्जेक्ट ओरिएंटेड वास्तव में उसी समय के आसपास जावा और सी ++ के साथ उतारने के लिए लग रहा था

अब, मेरा प्रश्न, यह इतना लंबा समय क्यों लगा? C को मूल रूप से ऑब्जेक्ट-ओरिएंटेड भाषा के रूप में क्यों नहीं माना गया? C ++ का बहुत छोटा हिस्सा लेने से मूल भाषा पूरी तरह प्रभावित नहीं होगी, इसलिए यह विचार 90 के दशक तक लोकप्रिय क्यों नहीं था?


1
हा! मैं निश्चित था कि कोई इसे अंततः पूछेगा;) हालाँकि आपको थोड़ा और अधिक शोध करने की आवश्यकता है, स्मॉलटाक शायद बहुत लोकप्रिय नहीं हुआ है, लेकिन मुझे लगता है कि यह मुख्य धारा के रूप में गिना जाता है, कम से कम 70 के दशक की शुरुआत में परिभाषा से (और चलो) सिमरुला को मत भूलना)। इसके अलावा, क्या आप विशेष रूप से वर्ग आधारित वस्तु अभिविन्यास के बारे में बात कर रहे हैं?
यानिस

6
दिलचस्प सवाल। मुझे हाल ही में पता चला है कि सिमूला 67 में आभासी तरीके थे ('60 में-पहले से!)। ऐसा लगता है कि सीएस में कई सबसे महत्वपूर्ण अवधारणाओं को इसके इतिहास के पहले दो, तीन दशकों (1950-1970) के दौरान खोजा गया था। आज हम जो कई नई चीजें देखते हैं, वे वास्तव में बहुत पुरानी अवधारणाओं का मिश्रण हैं।
जियोर्जियो

3
@ जियोर्जियो: मैं उस खोज को पारित करने का एक संस्कार मानता हूं जो आपके बढ़ते हुए को नवीनतम और सबसे महान के साथ एक अनुभवी डेवलपर के रूप में विकसित होने से चिह्नित करता है जो कि फड्स के माध्यम से देख सकते हैं और वास्तव में उपयोगी होने पर भेद कर सकते हैं।
माइकल बॉर्गवर्ड

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

जवाबों:


25

सबसे पहले, आइए एक समयरेखा स्थापित करने का प्रयास करें:

  • 1963 - इवान सदरलैंड के स्केचपैड को ऑब्जेक्ट ओरिएंटेशन और GUI दोनों में एक अग्रणी काम माना जाता है।
  • 1967 सिमाला दिखाई देती है, और चाहे इसे या स्मॉलटैक को पहली वस्तु उन्मुख भाषा माना जाए, फिर भी यह बहस का विषय है।
  • 1969 - डेनिस रिची ने सी विकसित करना शुरू किया ।
  • 1972 - स्मॉलटाक , एक भाषा जो सिमुला से काफी प्रभावित है, दिखाई देती है। यह एलन के के दिमाग की उपज है, जिन्हें आम तौर पर "ऑब्जेक्ट ओरिएंटेशन" शब्द का आविष्कारक माना जाता है (एलन केय ने ट्रॉन में नाम के चरित्र को भी प्रेरित किया ;)।
  • 1979 - बज़्ने स्ट्रॉस्ट्रुप ने सी के साथ काम करना शुरू किया, जो सी ++ के अग्रदूत थे ।
  • 1983 - ऑब्जेक्टिव सी दिखाई देता है, और अनिवार्य रूप से स्मॉलटॉक के सी के लिए ऑब्जेक्ट ओरिएंटेशन के स्वाद को जोड़ने का एक प्रयास है।
  • 1985 - ऑब्जेक्ट पास्कल प्रकट होता है, और लगभग तुरंत टर्बो पास्कल 5.5 द्वारा लोकप्रिय हो जाता है ।
  • 1986 - सीएलओएस पर काम शुरू हुआ , जो कॉमन लिस्प में ऑब्जेक्ट ओरिएंटेशन लाने का प्रयास है।
  • 1991 - विजुअल बेसिक जारी किया गया।
  • 1995 - जावा रिलीज़ हुई।
  • 1995 - डेल्फी रिलीज़ हुई।

रिची के मुख्य प्रभाव BCPL और ALGOL (दोनों अनिवार्य भाषाएं हैं), और C को एक समय में बनाया गया था जब सिमोला और स्मॉलटाक का ऑब्जेक्ट ओरिएंटेशन के लिए दृष्टिकोण अभी तक अच्छी तरह से ज्ञात नहीं था। यह लगभग 1972 में पूरा हुआ और सी केवल 7 साल बाद दिखाई दिया, डेनिस रिची और ब्रायन कार्निघन दोनों इसकी स्थापना में शामिल थे :

उस समय, मैंने C को उपलब्ध सर्वोत्तम प्रोग्रामिंग प्रोग्रामिंग सी माना। यह तब (1979) जैसा स्पष्ट नहीं था, जैसा कि बाद में बन गया, लेकिन मेरे पास डेनिस रिची, स्टीव जॉनसन, सैंडी फ्रेजर, ग्रेग चेसन, डग मैकलीरो और ब्रायन केर्निघन जैसे विशेषज्ञ थे, जिनसे मैं सीख सकता था और प्रतिक्रिया प्राप्त कर सकता था। उनकी मदद और सलाह के बिना, और सी के बिना, सी ++ स्थिर रहा होगा।

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

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

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

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

हालांकि यह सच है कि जावा, और ऑब्जेक्ट ओरिएंटेशन का स्वाद, बहुत जल्दी लोकप्रिय हो जाता है, मुझे नहीं लगता कि 1990 के दशक के मध्य में प्रतिमान काफी लोकप्रिय थे, वेब की शुरुआत ने हमारी लोकप्रियता की परिभाषा को बदल दिया। किसी भी मामले में, 1990 के मध्य में एक समय था जब सामान्य रूप से सॉफ्टवेयर विकास में लोकप्रियता का एक उछाल था, वेब के साथ, GUIs का प्रसार, और सस्ता हार्डवेयर प्रमुख कारक थे। जावा ठीक समय पर सही जगह पर था।

आगे की पढाई:

संबंधित सवाल:


हाल ही की एक खोज: ALGOL 68 का एक इतिहास - हालाँकि इसका ऑब्जेक्ट ओरिएंटेशन से बहुत अधिक लेना-देना नहीं है, यह प्रोग्रामिंग हिस्ट्री बफ्स के लिए एक आकर्षक रीड है।
यानिस


2
@gerrit मुझे पता है, और 90 के दशक के मध्य में रिलीज़ हुई कई अन्य भाषाएँ हैं जिन्हें मैंने जानबूझकर छोड़ दिया है (उदाहरण के लिए पर्ल, पीएचपी, रूबी, जावास्क्रिप्ट), या तो क्योंकि वे वास्तव में पहले से लोकप्रिय नहीं थीं, या क्योंकि वे वास्तव में जल्दी से ऑब्जेक्ट ओरिएंटेशन का समर्थन नहीं किया। पायथन वास्तव में अपने पहले वर्षों के दौरान एक प्रभावशाली भाषा नहीं थी ...
yannis
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.