Bjarne Stroustrup द्वारा उजागर की गई C++ की चौंकाने वाली सच्चाई (C++ के जन्म की कहानी)
(nanite.tistory.com)ऊपर का लेख एक पैरोडी लेख है। (...) C++ करते समय कभी-कभी मज़ाक में यह कहा जाता है कि 'लगता है Bjarne ने सैलरी बढ़वाने के लिए इसे इतना जटिल बनाया होगा haha', और यह उसी बात पर आधारित एक काल्पनिक कहानी है। स्वयं Bjarne Stroustrup को C++ बेहद पसंद है, और उन्होंने उस पर काफी किताबें भी लिखी हैं। ( The C++ Programing Language, C++ ro baeuneun peurogeuraemui wonriwa silje )
हालाँकि यह तथ्य से अलग है, फिर भी जिन्होंने C++ किया है वे इसे बहुत मज़ेदार ढंग से पढ़ पाएँगे, इसलिए मैं इसकी सिफारिश करता हूँ।
10 टिप्पणियां
स्ट्रॉस्ट्रप सर सेमिनार और टॉक भी बहुत करते रहे हैं, इसलिए C++ के बारे में वे क्या सोचते हैं यह पहले से ही अनगिनत बार सामने आ चुका है, तो इसे मजेदार मानने वाली सहमति से मुझे ज़्यादा जुड़ाव महसूस नहीं होता..
वह लेख 1998 में आया था, इसलिए लगता है कि शुरू में बहुत लोग उसके झांसे में आ गए थे। अगर C++98 की बात करें तो... न smart pointer थे, न lambda, और तब तक inline assembly code भी मौजूद था...
अब IDE इतने बेहतर हो गए हैं कि
typedefअसल में किस type को refer करता है, यह जानने के लिए इधर-उधर भागना कम हो गया है। जानबूझकर "कम" कह रहा हूँ, क्योंकि... अगर template या macro मिल जाएँ, तो आखिर में फिर से दौड़ना ही पड़ता है OTLमैंने K&R की The C Programming Language किताब को लाइन-दर-लाइन अंडरलाइन करते हुए पढ़ा था..
लेकिन ब्यार्ने की C++ किताब उतनी मज़ेदार ढंग से पढ़ नहीं पाया था, ऐसा लगता है। यानी ऊपर की पोस्ट की तरह वह भी थोड़ी जटिल थी.. हाहा
इतनी मोटी है कि लग रहा था सही में लगी तो मर ही जाऊँगा, इसलिए लगभग 1/4 पढ़ने के बाद समझ आया कि बस
cppreferenceमें खोज लेना ही काफी है, और वहीं छोड़ दिया (...यह लेख तथाकथित 'C++ को कोसने वाले लेखों' में काफ़ी प्रतिनिधि लेखों में से एक है। इसके अलावा "Linus Torvalds का 'C++ इस्तेमाल करना पागलपन है' मेल" और "C++ अर्थव्यवस्था के लिए अच्छा है, हा हा" जैसा लेख भी है।
लेकिन ज़्यादातर लेख C++11 से पहले के हैं.. 11 में... क्या यह और... बेहतर हो गया, इसलिए कोई कुछ नहीं कहता, या फिर कोई भी इसे पूरा समझ नहीं पाता इसलिए कुछ नहीं कहता (...) पता नहीं। अब तो C++20 तक आ ही गया है..
जो लोग C++ इस्तेमाल करते हैं, वे 11~20 देखकर असंतुष्ट नहीं हैं,
और जो लोग C++ इस्तेमाल नहीं करते, उन्हें 11~20 के बारे में पता नहीं है, इसलिए शायद कोई बात नहीं निकल रही है।
अरे, यह तो बिल्कुल मैं ही हूँ। मैं लगातार C++ इस्तेमाल नहीं करता रहा, इसलिए 11~20 के बारे में ज़्यादा नहीं जानता.. ^^;
बहुत कुछ बदल गया है। lambda, smart pointer, और सैकड़ों template functions जो ऐसे लगते हैं मानो वे खुद source code को encrypt कर सकती हों (...)
उल्टा, लेख में कही गई बात कि 'बहुत ज़्यादा चीज़ें डाल देने से भ्रम' अब भी है.. फिर भी, जब सामान्य logic लिखना होता है, तो पहले से लिखे गए अच्छे template code का इस्तेमाल करने पर productivity काफ़ी हद तक मिल ही जाती है। बेशक, script की बराबरी तो नहीं कर सकता, लेकिन binding कर लें तो काम हो जाता है..
जो संगठन पहले 98 या 03 इस्तेमाल करते थे, वे अगर modern पर शिफ्ट भी कर लें, तो टीम के भीतर तकनीकी कौशल का अंतर बढ़ जाता है और कभी-कभी productivity उल्टा घट भी जाती है;;;
ऐसा भी हो सकता है, oof; कम-से-कम सिर्फ lambda या smart pointer का इस्तेमाल करने पर भी लगा था कि 03 की तुलना में productivity बढ़ेगी। 03 में lambda नहीं था, इसलिए template से उसे जबरन implement किया हुआ जैसा हाल था।