ब्यार्ने स्ट्रॉस्ट्रुप: गति के साथ लालित्य को जोड़ना
ब्यार्ने स्ट्रॉस्ट्रुप कुछ ऐसा चाहते थे जो कागज पर विरोधाभास जैसा लगता था: एक ऐसी भाषा जिसमें वह "सिमुला (Simula) प्रोग्रामों जितने सुंदर, लेकिन C प्रोग्रामों जितने कुशल" प्रोग्राम लिख सकें। सिमुला धीमी और अकादमिक थी; C तेज और कठोर थी। स्ट्रॉस्ट्रुप ने अगले चार दशक यह साबित करने में बिताए कि विरोधाभास केवल स्पष्ट था, और इस प्रक्रिया में वह भाषा बनाई जो आज भी दुनिया के ऑपरेटिंग सिस्टम, ब्राउज़र, गेम इंजन और ट्रेडिंग फ्लोर को चलाती है।
आरहूस में श्रमिक वर्ग की शुरुआत
स्ट्रॉस्ट्रुप का जन्म 30 दिसंबर 1950 को आरहूस, डेनमार्क में एक श्रमिक वर्ग के परिवार में हुआ था, और उन्होंने 1969 से 1975 तक आरहूस विश्वविद्यालय में कंप्यूटर विज्ञान पर ध्यान केंद्रित करते हुए गणित का अध्ययन किया। फिर वह कंप्यूटर विज्ञान में पीएचडी के लिए कैम्ब्रिज विश्वविद्यालय गए, जिसे 1979 में डेविड व्हीलर के मार्गदर्शन में पूरा किया और वितरित कंप्यूटिंग पर ध्यान केंद्रित किया। यह कैम्ब्रिज में था, और क्रिस्टन निगार्ड — सिमुला और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के दो आविष्कारकों में से एक — के प्रभाव के माध्यम से, कि स्ट्रॉस्ट्रुप ने कक्षाओं, विरासत और अमूर्तता के बारे में उन विचारों को आत्मसात किया जो उनके जीवन के काम को परिभाषित करेंगे। उन्होंने कहा है कि सिमुला की अभिव्यंजक शक्ति के संपर्क में आने और इसे चलाने में इसकी अव्यावहारिक धीमी गति से निराशा ने उस विशिष्ट समस्या को जन्म दिया जिसे C++ हल करने के लिए बनाया गया था।
बेल लैब्स और "C with Classes" का जन्म
1979 में स्ट्रॉस्ट्रुप मरे हिल, न्यू जर्सी में AT&T बेल लैब्स के कंप्यूटर विज्ञान अनुसंधान केंद्र में शामिल हुए — वही अनुसंधान संस्कृति जिसने यूनिक्स (Unix) और C भाषा का निर्माण किया था। वहां उन्होंने सिमुला-शैली की कक्षाओं के साथ C का विस्तार करना शुरू किया, शुरू में परिणाम को "C with Classes" कहा। जिसे C++ के रूप में नया नाम दिया जाना था, उसका आंतरिक संदर्भ मैनुअल 1984 में दिखाई दिया, और भाषा 1985 में व्यावसायिक रिलीज तक पहुंच गई, उसी वर्ष स्ट्रॉस्ट्रुप ने "The C++ Programming Language" का पहला संस्करण प्रकाशित किया, एक ऐसी पुस्तक जिसके चार संस्करण आएंगे और इक्कीस भाषाओं में अनुवाद होगा। उन्होंने जानबूझकर C++ को स्क्रैच से भाषा के बजाय C के विस्तार के रूप में बनाया, एक ऐसा निर्णय जिसने उन्हें कुछ सैद्धांतिक शुद्धता की कीमत चुकानी पड़ी लेकिन एक विशाल मौजूदा कोडबेस और टूलचेन के साथ तत्काल संगतता खरीदी — एक व्यावहारिक व्यापार-बंद जिसने भाषा के प्रसार की गति को निर्धारित करने के लिए किसी भी अन्य चीज़ से अधिक किया। उन्होंने 2002 के अंत तक AT&T बेल लैब्स के बड़े पैमाने पर प्रोग्रामिंग अनुसंधान विभाग का नेतृत्व किया, और 1993 में बेल लैब्स फेलो और 1996 में AT&T फेलो नामित किए गए।
C++ ने वास्तव में क्या जोड़ा
C++ ने C में एक स्थिर प्रकार प्रणाली जोड़ी जो उपयोगकर्ता-परिभाषित प्रकारों को अंतर्निहित प्रकारों के समान गंभीरता के साथ मानती थी, सिमुला की कक्षाओं और विरासत पर आधारित ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, और — बाद में और यकीनन अधिक प्रभावशाली कदम में — टेम्प्लेट के माध्यम से सामान्य प्रोग्रामिंग, जिससे कोड को एक बार लिखा जा सके और गति का त्याग किए बिना कई प्रकारों के लिए विशेष बनाया जा सके। इसके संसाधन-प्रबंधन मुहावरे, RAII (संसाधन अधिग्रहण ही आरंभीकरण है), ने कंस्ट्रक्टरों और डिस्ट्रक्टरों के माध्यम से एक संसाधन के जीवनकाल को एक ऑब्जेक्ट के जीवनकाल से जोड़ दिया, एक ऐसा पैटर्न जिसने मेमोरी और संसाधन-रिसाव बग के एक वर्ग को हल किया जिसने वर्षों से C प्रोग्रामरों को परेशान किया था और जिसने बाद में कचरा-संग्रहित भाषाओं के स्वयं के संसाधन-हैंडलिंग डिजाइनों को प्रभावित किया। महत्वपूर्ण रूप से, यह सब हार्डवेयर और ऑपरेटिंग सिस्टम संसाधनों तक C की सीधी पहुंच की कीमत पर नहीं आया — स्ट्रॉस्ट्रुप की मूल महत्वाकांक्षा का दक्षता आधा हिस्सा कभी भी लालित्य आधे के लिए समझौता नहीं किया गया था।
बीस प्रश्न, घड़ी पर आठ मिनट, और अब तक टेस्ट देने वालों के सामने मापा गया पर्सेंटाइल। साइन-अप नहीं।
IQ टेस्ट दें →मानकीकरण के माध्यम से एक भाषा का मार्गदर्शन
स्ट्रॉस्ट्रुप ने केवल C++ का आविष्कार नहीं किया और चले गए। वह 1989 में ANSI मानकीकरण प्रयास और 1991 में बाद की ISO समिति के संस्थापक सदस्य थे, और उन्होंने समिति के इवोल्यूशन वर्किंग ग्रुप — वह निकाय जो भाषा में प्रत्येक प्रस्तावित जोड़ की जांच करता है — की चौबीस वर्षों तक अध्यक्षता की। यह किसी भी प्रोग्रामिंग भाषा के निर्माता के लिए प्रबंधन का एक असामान्य रूप से लंबा कार्यकाल है, और इसका मतलब था कि स्ट्रॉस्ट्रुप ने व्यक्तिगत रूप से आकार दिया कि कैसे C++ ने दशकों की नई मांगों को आत्मसात किया, समवर्ती समर्थन से लेकर संकलन-समय मेटाप्रोग्रामिंग तक, बिना उत्पादन में पहले से चल रहे मौजूदा C++ कोड के विशाल निकाय को तोड़े।
बेल लैब्स के बाद अकादमिक और उद्योग करियर
बेल लैब्स के बाद, स्ट्रॉस्ट्रुप 2002 में टेक्सास ए एंड एम विश्वविद्यालय में कॉलेज ऑफ इंजीनियरिंग चेयर प्रोफेसर के रूप में चले गए, और 2011 में विश्वविद्यालय विशिष्ट प्रोफेसर बन गए। 2014 में वह मॉर्गन स्टेनली में तकनीकी फेलो और प्रबंध निदेशक के रूप में शामिल हुए, जबकि कोलंबिया विश्वविद्यालय में समवर्ती विजिटिंग प्रोफेसरशिप भी संभाली, और 2022 से वह कोलंबिया में कंप्यूटर विज्ञान के पूर्ण प्रोफेसर हैं — करियर के अंत का एक असामान्य चाप जिसने एक सिस्टम भाषा के आविष्कारक को वॉल स्ट्रीट ट्रेडिंग फर्म की तकनीक के केंद्र में रखा।
पुरस्कार और मान्यता
स्ट्रॉस्ट्रुप के सम्मान किसी एक प्रसिद्ध सफलता के बजाय उनके अत्यधिक प्रभाव को ट्रैक करते हैं: 1993 में ACM ग्रेस मरे हॉपर अवार्ड, 1994 में ACM फेलो और IEEE फेलो के रूप में चुनाव, 2005 में वैज्ञानिक उपलब्धि के लिए विलियम प्रॉक्टर पुरस्कार (इसे प्राप्त करने वाले पहले कंप्यूटर वैज्ञानिक), 2017 में IET फैराडे मेडल, और 2018 में चार्ल्स स्टार्क ड्रेपर पुरस्कार "C++ प्रोग्रामिंग भाषा को अवधारणाबद्ध और विकसित करने के लिए"। कंप्यूटर हिस्ट्री म्यूजियम ने 2015 में उन्हें फेलो के रूप में मान्यता दी, उन्हें "ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और जेनेरिक प्रोग्रामिंग को मुख्यधारा में लाने" का श्रेय दिया। उन्हें ACM ट्यूरिंग अवार्ड नहीं मिला है।
ब्यार्ने को जीनियस क्यों कहा जाता है
स्ट्रॉस्ट्रुप को जीनियस कहने का मामला सैद्धांतिक मौलिकता के एक झटके पर नहीं टिका है — ऑब्जेक्ट ओरिएंटेशन निगार्ड और डाहल से आया था, जेनेरिक प्रोग्रामिंग के पूर्ववर्ती थे, और C पहले से मौजूद था। इसके बजाय यह इंजीनियरिंग निर्णय के एक दुर्लभ प्रकार पर टिका है: उन विचारों को फ्यूज करने की क्षमता जिन्हें क्षेत्र ने तनाव में माना था, बिना किसी को तोड़े, और मानकीकरण निर्णयों की एक चौथाई सदी में उस व्यापार-बंद को सही ढंग से करना जारी रखना क्योंकि कंप्यूटिंग स्वयं भाषा के नीचे बदल गई थी। ड्रेपर पुरस्कार प्रशस्ति पत्र उन्हें C++ को "अवधारणाबद्ध और विकसित" करने का श्रेय देता है, एक ऐसी भाषा जो शुद्ध आविष्कार के बजाय संश्लेषण को स्वीकार करती है। ईमानदार प्रतिवाद पर्याप्त है: C++ की व्यापक रूप से आलोचना की जाती है, क्षेत्र के भीतर भी, इसकी संचित जटिलता के लिए, प्रोग्रामरों को मेमोरी-सुरक्षा नुकसान के संपर्क में लाने के लिए जिसे रस्ट (Rust) जैसी नई भाषाओं को स्पष्ट रूप से खत्म करने के लिए डिज़ाइन किया गया था, और डिजाइन समझौतों के लिए जो सीधे C के साथ पिछड़े-संगत रहने के स्ट्रॉस्ट्रुप के संस्थापक निर्णय का पता लगाते हैं। उनकी प्रतिभा, यदि शब्द लागू होता है, तो मास्टर शिल्प कौशल और प्रबंधन के करीब है — कुछ बेहद उपयोगी और अपूर्ण बनाना, फिर इसे चालीस वर्षों तक एक साथ रखना — शुद्ध अमूर्त अंतर्दृष्टि की चमक के बजाय।
विरासत
C++ ऑपरेटिंग सिस्टम, ब्राउज़र, गेम इंजन और वित्तीय ट्रेडिंग सिस्टम के लिए मौलिक बना हुआ है, और इसका प्रभाव जावा, C# और रस्ट के माध्यम से स्पष्ट रूप से चलता है। स्ट्रॉस्ट्रुप का अपने जीवन के काम का स्वयं का मूल्यांकन हमेशा विशिष्ट रूप से असंवेदनशील रहा है: उन्होंने एक उपकरण बनाया जिसका उपयोग किया जाना था, और उस माप से — सरासर, दशकों लंबी सर्वव्यापकता — C++ इतिहास में लगभग किसी भी अन्य प्रोग्रामिंग भाषा से अधिक सफल रहा है।

