C++: डॉक्यूमेंट्री: दुनिया की सबसे महत्वपूर्ण प्रोग्रामिंग भाषा
(herbsutter.com)- Bell Labs की शुरुआत से लेकर वैश्विक अपनाने और आज की वृद्धि तक को समेटती यह C++ के 40 सालों की डॉक्यूमेंट्री है, जिसमें C++ के इतिहास, मानकीकरण और टूल इकोसिस्टम से जुड़े लोग शामिल हैं
- C++ की शुरुआत Bjarne Stroustrup द्वारा Bell Labs में बनाए गए C with Classes से हुई, जिसका उद्देश्य C के hardware control और Simula की object-oriented abstraction को जोड़ना था; बाद में यह बड़े सिस्टमों के लिए एक efficient abstraction language के रूप में विकसित हुई
- शुरुआती implementation CFront C++ को C code में बदलता था, ताकि मौजूदा C infrastructure और libraries को वैसे ही इस्तेमाल किया जा सके; 1983 के बाद उपयोगकर्ता बढ़ने के साथ compatibility एक मुख्य चुनौती बन गई
- IBM, HP, Sun के दबाव से शुरू हुआ ANSI/ISO standardization vendor-specific implementation fragmentation को रोकने में अहम रहा, और 1997 के standard में namespace, exception, template, STL शामिल हुए
- 2000 के दशक की शुरुआत में Java और C#, dot-com collapse, और CPU performance में तेज बढ़ोतरी के कारण C++ winter आया, लेकिन 2004 के आसपास frequency scaling रुकने और parallelism के महत्वपूर्ण होने के साथ C++11 ने पुनर्जागरण लाया
- आज C++ का उपयोग CERN, गेम, finance, CUDA-आधारित AI·HPC, embedded systems आदि में होता है, और memory safety, complexity, standard committee का आकार, तथा funding की कमी जैसी चुनौतियाँ अब भी बनी हुई हैं
Bell Labs में शुरू हुआ C with Classes
- C++ 40 साल से अधिक पुरानी भाषा है, और जब यह पहली बार बनाई गई थी तब editor, syntax highlighting, code navigation, autocomplete, refactoring जैसे tools मौजूद नहीं थे, और कई developer BASIC या हर chip के लिए अलग assembly language का उपयोग करते थे
- जब बड़े और अधिक जटिल program की ज़रूरत बढ़ रही थी, तब Bjarne Stroustrup Bell Labs में distributed systems बनाना चाहते थे, और device drivers, network interfaces, memory managers, processes जैसे तत्वों को संभालने के लिए low-level language की आवश्यकता थी
- C hardware पर पूरा नियंत्रण देता था और systems programming के लिए उपयुक्त था, लेकिन program बड़े होने पर module, communication channel, protocol जैसी संरचनाओं को व्यक्त करने में कमज़ोर पड़ता था
- Stroustrup को Cambridge में इस्तेमाल की गई Simula की strong type safety, user-defined types, classes, और class hierarchies पसंद थीं, लेकिन उनका मानना था कि Simula बहुत धीमी है और बहुत अधिक memory लेती है
- इसलिए उन्होंने Simula की मूल क्षमताओं को C में जोड़कर C with Classes बनाया, और बाद के लगभग 40 वर्षों में C++ को इस दिशा में विकसित किया कि वह Simula और C दोनों के काम कर सके
CFront, नाम, और शुरुआती प्रसार
- C with Classes को शुरुआत में C preprocessor के रूप में बनाया गया था, लेकिन जब दूसरे लोग इसका उपयोग करने लगे तो Stroustrup ने माना कि यह C से पर्याप्त अलग नहीं है, और उन्होंने एक साल compiler और language सुधारने में लगाया
- CFront पारंपरिक backend के ज़रिये machine code बनाने के बजाय C code में compile करता था, जिससे C++ उपयोगकर्ता बिना नया infrastructure या libraries अपनाए मौजूदा C environment बनाए रख सकते थे
- CFront 1983 में बनाया गया था, और यह lexical analysis, parsing, type checking, tree representation generation, तथा tree optimization करने वाला एक वास्तविक compiler था
- C++ नाम C के
++operator से आया, जो increment को दर्शाता है; अर्थ की दृष्टि से++Cअधिक सही होता, लेकिन indexing और reference की सुविधा के लिए C++ नाम चुना गया - AT&T ने computer और software business में प्रवेश करते हुए C++ compiler बेचने की कोशिश की, लेकिन hardware पर्याप्त नहीं बिका, और शुरुआती C++ implementation tape cost तथा बहुत कम commercial licensing fee के कारण व्यवहार में व्यापक रूप से वितरित हो सकी
- कुछ समय तक Stroustrup ने documentation, compiler, language implementation, और help desk सब कुछ स्वयं संभाला; AT&T का निवेश बहुत छोटा था, और एक बार general-purpose programming language के प्रसार के लिए 3 साल में केवल 5,000 डॉलर निर्धारित किए गए
- CFront 2.0 में multiple inheritance handling से जुड़ा bug मिला, और चूँकि पहले से वादा की गई core functionality field में पहुँचने के बाद अपूरणीय रूप से टूट सकती थी, इसलिए कुछ ही दिनों में fix बनाकर वितरित करना पड़ा
- वही release number बनाए रखना था, इसलिए version को 2.0.1 की बजाय 2.0.0 के रूप में जारी किया गया, और compatibility इतनी प्रभावशाली मांग बन गई कि मज़ाक में इसे “C word” कहा जाने लगा
मानकीकरण और STL
- C++ AT&T के अंदर productivity बढ़ाने का tool था, लेकिन किसी एक कंपनी के भीतर बंद भाषा के रूप में यह सफल नहीं हो सकती थी; इसके लिए बाहरी developer और library ecosystem की ज़रूरत थी
- वेब से पहले जानकारी फैलाने के रास्ते Usenet के
comp.lang.c++जैसे समूह और Byte जैसी computer magazines थीं, और Stroustrup ने 1980 के दशक के उत्तरार्ध में कई कंपनियों और संगठनों में भाषण देकर इस भाषा का परिचय कराया - बिना advertising campaign या किसी शक्तिशाली sponsor के उपयोग बढ़ा, लेकिन Borland, Microsoft, IBM, Sun जैसे कई vendor अपनी-अपनी C++ implementation और template design बना रहे थे, जिससे code compatibility गंभीर रूप से बिखर गई
- IBM, HP, Sun का प्रतिनिधित्व करने वाले लोगों ने Stroustrup से ANSI नियमों के तहत C++ standardization की माँग की; Stroustrup को यह बहुत जल्दी लगा, लेकिन अंततः एक साल बाद मानकीकरण के आधार दस्तावेज़ तैयार करने का निर्णय लिया गया
- Annotated Reference Manual, यानी ARM, standardization input document बना, और आगे चलकर इसमें template, exception, namespace जैसी क्षमताओं को शामिल करने की दिशा बनी
- Standard को C++ code लिखने वालों और C++ implementations के बीच एक contract के रूप में परिभाषित किया गया, ताकि अलग-अलग vendor एक ही code को एक ही अर्थ में स्वीकार करें
- Alexander Stepanov द्वारा बनाई गई STL का मुख्य विचार यह था कि algorithms हर उस data structure पर चल सकें जहाँ वे लागू हो सकते हों, और data structures एक-दूसरे में data भर सकें
- STL से पहले हर कोई अपना array, list, tree, container, और algorithm approach बनाता था, लेकिन STL ने algorithm और container को परिभाषित करने का एक शक्तिशाली एकीकृत तरीका दिया
- STL प्रस्ताव का विरोध इस आधार पर हुआ कि यह standardization schedule के हिसाब से बहुत देर से आया और बहुत बड़ा था; Microsoft जैसी बड़ी कंपनियाँ भी विरोध में थीं, लेकिन प्रस्तुतियों और चर्चाओं के बाद समिति के लगभग 80% सदस्यों के समर्थन से यह standard में शामिल हो गया
- C++ नवंबर 1997 में standardized हुआ, और namespace, exception, template, Standard Template Library को प्रमुख बुनियादी सुविधाओं के रूप में जोड़ा गया
- LLVM की शुरुआत इस standardization के बाद हुई, इसलिए उसे पुराने code migration के बोझ के बिना नई सुविधाओं का उपयोग उनके मूल अभिप्राय के अनुसार करने का अवसर मिला
सर्दी का दौर और C++11 पुनर्जागरण
- 1990 के दशक में C++ CERN जैसे high-energy physics software और computing क्षेत्रों में Fortran-केंद्रित development को बदलने वाली भाषा बन गई, और मौजूदा libraries तथा code को C++ में port किया गया या C++ के अनुसार फिर से बनाया गया
- गेम development में video card और API ने low-level काम संभालना शुरू किया, जिससे C और assembly से C++ की ओर बढ़ने की प्रवृत्ति बनी, और Unreal जैसे engine ecosystem में C++ का उपयोग हुआ
- finance में program trading और high-frequency trading के उभरने के साथ microsecond स्तर की latency महत्वपूर्ण हो गई, और C++ ऐसी भाषा के रूप में इस्तेमाल हुई जिसमें हर पंक्ति को सूक्ष्म रूप से optimize किए बिना भी low latency हासिल की जा सकती थी
- 2000 के dot-com collapse के साथ Java, Sun की मजबूत marketing के बल पर “भविष्य की भाषा” और “internet की भाषा” के रूप में उभरी; Java, C++ की complexity के प्रति एक स्पष्ट प्रतिक्रिया के रूप में सामने आई थी
- Microsoft के भीतर Visual Basic की आसान form-based development को C++ की performance और expressiveness के साथ जोड़ने की इच्छा थी, और इसी का परिणाम C# के रूप में सामने आया
- 2000 से 2005 के बीच केवल ठहराव नहीं, बल्कि C++ का गिरावट का दौर था; CPU frequency लगातार बढ़ रही थी, इसलिए कई language designers और developers performance को कम महत्वपूर्ण मानने लगे
- 2004 के आसपास processor frequency scaling समाप्त हो गई, single-core performance और power limits सामने आने लगीं, और instruction-level parallelism से मिलने वाले लाभ घटने लगे; इसके साथ वह दौर खत्म हुआ जब hardware अपने आप program को तेज बनाता था
- multi-core और parallelism महत्वपूर्ण हो गए, लेकिन उस समय के C++ standard में threading का कोई औपचारिक प्रावधान नहीं था; Herb Sutter का मेल “C++ multi-threading: is the standardization committee listening” इस समस्या को प्रमुखता से सामने लाया
- C++0X की शुरुआत 2002 में हुई और इसे 2007~2009 तक पूरा करने का लक्ष्य था, लेकिन महत्वपूर्ण features जोड़ते रहने के कारण इसमें लगातार देरी हुई और अंततः 13 साल लगे
- C++11 ने move semantics, concurrency,
auto, range-based for loop, smart pointer, lambda,constexprआदि पेश किए, और यह C-परिवार की भाषाओं में threading को औपचारिक रूप से संबोधित करने वाला पहला standard बना - C++11 एक पुनर्जागरण साबित हुआ, क्योंकि इसमें आसान और अधिक सुरक्षित language features तथा hardware performance का पूरा लाभ उठाने की ज़रूरत एक साथ आ मिली
- इसके बाद तय समय पर standard जारी करने वाला train model अपनाया गया, और committee ने 2 साल की बजाय 3 साल का चक्र चुना
- C++14 एक छोटा release था जिसमें वे चीज़ें और bug fixes शामिल किए गए जो C++11 में नहीं आ पाए थे, जबकि C++17 और C++23 में कई language और standard library features जोड़े गए
आज का पैमाना और चुनौतियाँ
- C++ की complexity लगातार बढ़ी है, और variable initialization के कई तरीकों को लेकर इसकी आलोचना होती रही है; इसे “समझना कठिन complexity” जैसी कड़ी टिप्पणियाँ भी मिली हैं
- standard committee भी बढ़कर 527 सदस्यों तक पहुँच गई है, और चिंता जताई गई है कि अब उतनी समितियाँ और अध्यक्ष बन गए हैं जितने लोग शुरुआत में कुल सदस्य थे
- language design में कुछ जोड़ना तो संभव है, लेकिन हटाना लगभग असंभव; इसलिए क्या जोड़ना है उससे अधिक महत्वपूर्ण यह हो जाता है कि कब किसी चीज़ को अस्वीकार किया जाए
- C++ का उपयोग power generation, wind turbines, rice cookers, bowling alleys, Hollywood films, automobiles, finance, cameras जैसे अनेक क्षेत्रों में होता है, और इसे “लगभग हर जगह” मौजूद बताया जाता है
- HRT का C++ codebase 10 लाख से अधिक lines और 15,000 files से बना है, और केवल 2025 में ही लगभग 800 developers ने 84,000 commits किए
- गेमिंग में Unity जहाँ C# का उपयोग करता है, वहीं Unreal C++ पर आधारित है; Call of Duty जैसे उच्च frame rate और तेज graphics वाले खेल speed के कारण C++ का उपयोग करते हैं
- Nvidia और accelerated computing में भी C++ महत्वपूर्ण है; ऊपर से भले Python उपयोग हो, लेकिन वास्तविक computational load highly optimized CUDA libraries संभालती हैं
- तेज़ी से बढ़ती भाषाओं में Rust और C++ का नाम लिया गया, और यह आँकड़ा दिया गया कि C++ developers की संख्या 2022 में 94 लाख से बढ़कर 2025 में 1.63 करोड़ हो गई
- performance के मुकाबले power efficiency महत्वपूर्ण होने वाली भाषाओं की माँग बनी हुई है, इसलिए C++ ने ऐसे उपयोग-क्षेत्र सुरक्षित किए हैं जहाँ यह उत्कृष्ट है और आसानी से प्रतिस्थापित नहीं की जा सकती
- साथ ही यह चिंता भी है कि बड़े खिलाड़ी AI की ओर बढ़ने के कारण C++ के लिए funding कम कर सकते हैं
- महामारी के दौरान सरकारों और नियामक संस्थाओं में ऐसे C++ से दूर जाने की प्रवृत्ति दिखी जो मूल रूप से memory safety प्रदान नहीं करती; memory safety को सबसे महत्वपूर्ण समस्या के रूप में पेश किया गया
- C++26 में software hardening के लिए uninitialized variables अब undefined behavior नहीं रहेंगे, और C++26 standard library में
string,span,vectorजैसे सामान्य types के लिए bounds safety विकल्प दिए जाएँगे - C++26 की static reflection ऐसी क्षमता है जिसमें program code, program code को देख सकता है, और इसे standardized single feature में सबसे प्रभावशाली विशेषताओं में से एक माना गया
- निष्कर्ष यह रहा कि AI भाषा की safety और programming languages के उपयोग के तरीके पर बड़ा प्रभाव डाल सकती है, लेकिन आगे क्या होगा यह अभी स्पष्ट नहीं है
1 टिप्पणियां
Hacker News की राय
Ken Thompson ने C++ को असंगत और जटिल विचारों का ढेर कहा था; वह बात आज भी असर करती है। काम के लिए मैंने आख़िरी बार C++98 इस्तेमाल किया था, और 11/17/20 को बस जिज्ञासा में थोड़ा-बहुत छुआ है
अगर c++/cfront ने C की प्रतिष्ठा का सहारा न लिया होता, तो क्या यह इतना व्यापक होता, इस पर मुझे संदेह है; और वही इसकी पहचान भी थी, साथ ही वह सीमा भी जिसे C++ ने बदलने की कोशिश नहीं की। जो काम compiler कर सकता था, उसके बजाय Coverity/Valgrind जैसे tools से implementation को साफ़-सुथरा करने में लगभग उतना ही समय लगाना बहुत झुंझलाहट भरा है
C++98 के दौर में Bjarne की internal structure वाली किताब से काफ़ी समझ आ जाता था कि अंदर क्या हो रहा है, लेकिन उसके बाद “effective, more effective, proficient, performant C++” जैसी किताबें एक पूरे उद्योग की तरह फैल गईं; और LLM आने से पहले मुझे यह उम्मीद छोड़नी पड़ी कि मैं किसी और का लिखा पुराना code समझ पाऊँगा। उसके बजाय problem domain सीखने में समय लगाना ज़्यादा संतोषजनक लगा
फिर भी Kernighan, Stepanov जैसे मेरे पसंदीदा लोग इसमें हैं, इसलिए documentary देखने का इरादा है
उनसे पूछा गया कि C++ compiler बनाने के लिए license चाहिए या नहीं, और क्या इसका नाम C++ के बजाय कुछ और रखना होगा। वे हँसे और कहा कि जो चाहो करो; यह भी कहा कि अनुमति पूछने वाला compiler वाला मैं अकेला था, और इसके लिए धन्यवाद भी दिया। कुछ साल पहले उनका obituary देखा था; वे अच्छे इंसान थे
compilation बेहद दर्दनाक रूप से धीमा था, और near/far pointers का support नहीं था, जो किसी भी गैर-तुच्छ app के लिए ज़रूरी था। Zortech C++ ने ये समस्याएँ हल कीं, बहुत तेज़ी से बिका, और C++ की सफलता के लिए ज़रूरी critical mass बना दिया
comp.lang.c++ पर traffic अचानक बहुत बढ़ गया, और Borland ने हमारी sales देखकर अपने object-oriented language product को छोड़कर Turbo C++ बनाया। Microsoft ने भी Borland की सफलता देखकर अपना C++ बनाया
Microsoft को भी हमने बहुत से Zortech C++ compilers बेचे, और उन्होंने उसी से COM विकसित किया। यह अफ़वाह भी सुनी थी कि Microsoft अपना object-oriented C, यानी C* बना रहा है, लेकिन मैंने कभी इसकी पुष्टि नहीं की
C committee इतने लंबे समय तक बहुत कुछ जोड़े बिना इसलिए टिक सकी, क्योंकि वह C++ की ओर इशारा करके कह सकती थी, “वह उधर का मामला है, हमारा नहीं।” अगर C++ न होता, तो कौन जाने C कोई ऐसी भाषा बन जाता जिसमें classes, templates और lambdas होते
उनके बनाए C और UNIX ने भी ज़्यादा उन्नत LISP और Smalltalk systems को हराया, क्योंकि implementation ज़्यादा सरल था। उनका अपना अधिक उन्नत Plan 9 आधारित operating system भी ज़्यादा फैले हुए Unix-जैसे systems को हटा नहीं पाया
आख़िर में distribution और “काफ़ी अच्छा” ही जीतते दिखते हैं। Perl, Python, Ruby, JavaScript, PHP जैसी dynamic languages और ज़ोरदार marketing वाली Java ने इतने अच्छे high-level features दिए कि लोग Lisp और Smalltalk की ओर नहीं गए। इस नज़रिए से देखें तो C++ शायद व्यापक रूप से अपनाई गई low-level high-performance language पर high-level features चढ़ाकर उसे बड़े पैमाने पर अपनाने लायक “काफ़ी अच्छी” technology बनाने का साधन था
मैं इन दिनों C++ में बहुत काम कर रहा हूँ, इसलिए build ख़त्म होने का इंतज़ार करते हुए यह वीडियो देखने का तय किया। लंबाई बिल्कुल फिट बैठी, और शुक्र है कि वीडियो भी बहुत अच्छा था
मेरे लिए C++ उन भाषाओं में सबसे सुरुचिपूर्ण भाषा है जिन्हें मैंने लगभग 15 साल में इस्तेमाल किया है। अगर आप “systematizer” तरह के इंसान हैं, और आख़िरी bit तक आपने जो लिखा है उसका बेहद सटीक mental model रखना चाहते हैं, तो C++ जैसा कुछ नहीं
compiler वगैरह से आने वाली सीमाएँ और अनिश्चितताएँ मैं मानता हूँ, लेकिन फिर भी मेरी राय यही है
आपको C++ में काम करना पसंद है, यह बिल्कुल ठीक है, और C++ से बहुत कुछ हासिल किया जा सकता है, यह भी सही है; लेकिन C++ यह सब “बहुत कम चीज़ों” से कर देता है, इस दावे पर शायद ज़्यादा विवाद नहीं होगा कि ऐसा नहीं है
अच्छा लगा कि इस documentary में Andrei Alexandrescu भी हैं। उनकी Modern C++ Design वह किताब थी जिसने पढ़ते समय मेरी सोच का दायरा खोल दिया था, और आज भी वैसा कर सकती है। क्या किसी ने इसे पढ़ा है?
मैं सलाह दूँगा कि हर chapter का सार AI chatbot से निकलवाएँ और पूछें कि उसका आधुनिक equivalent क्या है। कुछ idioms अब बेहतर हो चुके हैं, और एक पूरा section तो शायद std::variant और std::visit के इस्तेमाल से बदल गया है
C++ को खत्म हो जाना चाहिए। मैं समझता हूँ कि बहुत लोगों ने इसमें निवेश किया है और बहुत सारा कोड C++ में लिखा गया है। मैं पहले इसका फैन था और आज भी यह मेरी मुख्य कामकाजी भाषा है, लेकिन 2026 में जब LLM सभी vulnerabilities ढूँढ सकते हैं और attackers भी बढ़ रहे हैं, तब safety by default वाली भाषा चाहिए
C++ ऐसी भाषा है जिसमें safety पाने के लिए उसे वैकल्पिक रूप से चालू करना पड़ता है और बेहद सतर्क रहना पड़ता है। यह काम नहीं करता, और दशकों का अनुभव यही साबित करता है
shared_ptrजैसी चीज़ें आने से यह भी दिखा कि भाषा को कितनी बड़ी तरह से बदला जा सकता हैइसने लगभग हर idea को अपनाया, और इससे पता चला कि मैदान में क्या काम करता है और क्या नहीं। RAII, move और copy के बीच का भेद, smart pointers, placement-new, generics को रखा जा सकता है
दूसरी तरफ
auto_ptr, default copy, exceptions को लागू करने के कुछ खास तरीके, multiple virtual inheritance, और ऐसे templates जो पूरे code को ही बदल दें, इन्हें फेंका जा सकता है। मेरी राय में लड़ाई खत्म हो चुकी है, और Rust उन चीज़ों का सबसे अच्छा संकलन है जो वास्तव में काम करती हैं। compile time विरासत में मिल जाना एक बोनस हैC++ development का प्रवाह अब भी जारी है, यह देखकर हैरानी होती है। अगर कोई game या program C++ में बना हो तो आम तौर पर अच्छा लगता है क्योंकि performance काफ़ी हद तक सुनिश्चित रहती है, लेकिन अगर मुझसे खुद C++ इस्तेमाल करने को कहो तो शायद रो पड़ूँ
याद रखने के लिए बहुत कुछ है और standards भी बहुत तरह के हैं। जिस project की maintenance करने जाऊँ और वह C++ में हो, तो तुरंत हिम्मत टूट जाती है। यह बस बहुत कठिन है। कोई और लिख दे तो अच्छा है, लेकिन खुद लिखने की भाषा नहीं है
कोई भी भाषा हो, ऐसा warm-up चाहिए ही होता है, इसलिए मेरे लिए यह Python, Go, या Java इस्तेमाल करने से बहुत अलग नहीं है
standard library के बिना देखें तो C++ काफ़ी ठीक-ठाक है
C++ ecosystem की मुख्य समस्या यह है कि हर कोई भाषा का अपना subset तराश लेता है। इसलिए एक ecosystem होने के बजाय कई ecosystems बन जाते हैं, जिनमें styles और language/standard library subsets एक-दूसरे से टकराते रहते हैं। इसी वजह से libraries के ज़रिए code reuse ज़रूरत से ज़्यादा मुश्किल हो जाता है
[0] https://hftuniversity.com/post/the-c-standard-library-has-be...
बड़े feature set का फ़ायदा यह है कि C++ बहुत low-level से लेकर बहुत high-level तक अच्छी abstractions इस्तेमाल करने देता है। inline assembly, bit operations, direct memory manipulation जैसे low-level काम भी संभव हैं, और लगभग scripting language की तरह high-level तरीके से भी इसका उपयोग हो सकता है। problem domain जो भी माँगे, C++ उसे संभाल सकता है
और हाँ, आपकी profile जानकारी देखकर लगता है कि अगर आप उत्तर कोरिया में नहीं हैं, तो अपनी rate में एक 0 और जोड़ना बेहतर होगा। इससे आपको ज़्यादा long-term और quality वाले clients मिलेंगे
C++ programmer की तरह जीना बिल्कुल वैसा ही लगता है
जब भी मैं web developers को सिखाता हूँ, मैं कहता हूँ कि internet की भाषा JavaScript नहीं बल्कि C++ है। web developers बस C++ developers द्वारा बनाए गए programs के अंदर खेलने वाले users हैं
internet की भाषा क्या है, यह उससे कहीं कम स्पष्ट है
जिस विषय के लिए मेरे भीतर जुनून है, उस पर बनी free documentary सच में बहुत अच्छी लगती है। धन्यवाद
लेकिन मैं थोड़ा अजीब हूँ; मैं ऐसे documentaries देख नहीं पाता जो लोगों के छोटे-छोटे वाक्य जोड़कर बनाई जाती हैं। मैं समझता हूँ कि इरादा यह होता है कि “उन्हें अपनी कहानी खुद बताने दी जाए”, लेकिन इससे ध्यान भटकता है, इसलिए मुझे एक narrator चाहिए जो बताए कि मुझे क्या सोचना चाहिए
फिर भी निर्माताओं के लिए मेरे मन में स्नेह है
मैं हाल की धारा से थोड़ा कट गया हूँ, लेकिन हाल में Python, Clojure, और शायद कुछ दूसरी भाषाओं पर भी documentaries आई थीं। क्या वही लोग कई भाषाओं पर series बना रहे हैं? यह संयोग है? या अब हर programming language अपनी video documentary बनवाने की दौड़ में है?
लगता है वे open source software पर documentaries बनाते हैं
इस विषय पर Chandler Carruth के कुछ दिलचस्प विचार हैं: https://hachyderm.io/@chandlerc/116694268329657881
आख़िरी 10 मिनट में जाकर ही बढ़ती complexity या memory safety जैसी आम आलोचनाओं को थोड़ा छुआ गया। फिर भी देखना अच्छा लगा