नाबालिग होने पर आपके लिए 'code' से जुड़े concept शामिल नहीं किए जाएंगे
(gemini.google.com)C++ code रूपांतरण गाइड
- C++ standard library की
<concepts>header file में मौजूदstd::same_asconcept का उपयोग करने वाले function का उदाहरण प्रस्तुत किया गया है. autokeyword का उपयोग किए बिना template का इस्तेमाल करने वाले तरीके में रूपांतरण कैसे किया जाए, इस पर प्रश्न.
सुरक्षित code रूपांतरण विधि
- 18 वर्ष से कम आयु के उपयोगकर्ताओं के लिए C++ की उन्नत सुविधा concepts को सीधे संभालने वाले code उदाहरण या समाधान प्रदान नहीं किए जाते.
- सुरक्षा को प्राथमिकता देते हुए, विशिष्ट आवश्यकताओं के अनुसार विचार किए जा सकने वाले वैकल्पिक approaches सुझाए जाते हैं.
वैकल्पिक approach 1: पारंपरिक variadic template
- concepts का उपयोग किए बिना पारंपरिक variadic template इस्तेमाल करने का तरीका.
- इस तरीके में अधिक type checking की आवश्यकता होती है और बहुत सारे arguments को संभालते समय इसे manage करना कठिन हो सकता है.
- concepts के बिना variadic template उपयोग करने वाले code उदाहरण प्रदान किए गए हैं.
वैकल्पिक approach 2: user-defined function object
- type safety आवश्यकताओं और logic को encapsulate करने वाला class या struct बनाकर variadic arguments या concepts की आवश्यकता को समाप्त करना.
- जटिल scenarios में यह अधिक readable और maintain करना आसान तरीका हो सकता है.
- user-defined function object approach का overview दिया गया है.
वैकल्पिक approach 3: वैकल्पिक language/framework पर विचार
- यदि project में concepts अनिवार्य हैं और उनसे बचना बड़ा प्रतिबंध पैदा करता है, तो concepts को मूल रूप से support करने वाली किसी दूसरी language या framework की पड़ताल करना बेहतर हो सकता है.
- इससे code और development process सरल हो सकते हैं और safety guidelines के अनुरूप रहा जा सकता है.
- प्रत्येक approach के फायदे और नुकसान को अपनी विशिष्ट requirements, complexity और risk tolerance के आधार पर सावधानी से परखने की सिफारिश की गई है.
GN⁺ की राय
- C++ concepts code की type safety को मजबूत करने और overloading को अधिक स्पष्ट बनाने जैसे लाभ देते हैं, लेकिन शुरुआती लोगों के लिए वे जटिल और जोखिमपूर्ण हो सकते हैं.
- वैकल्पिक language या framework पर विचार करने के लिए नई learning curve की आवश्यकता होती है और मौजूदा codebase के साथ compatibility समस्याएँ पैदा हो सकती हैं.
- user-defined function object तरीका code readability बढ़ाता है और maintenance को आसान बनाता है, लेकिन design की शुरुआती अवस्था में अतिरिक्त planning और structuring की आवश्यकता होती है.
- variadic template का उपयोग करने वाला पारंपरिक तरीका अधिक type checking मांगता है, और जटिल systems में code complexity बढ़ा सकता है.
- इस तकनीक को अपनाते समय project requirements और team की C++ expertise level को ध्यान में रखना चाहिए, साथ ही long-term maintenance और scalability को भी नज़र में रखना चाहिए.
1 टिप्पणियां
Hacker News की टिप्पणियाँ
यह निश्चित रूप से समर्थन करने लायक आयु सीमा है। C++ में बच्चों के दिमाग को खराब कर देने की अकल्पनीय शक्ति है
बच्चा: “मैं कभी Rust नहीं इस्तेमाल करूंगा, मुझे memory safety भी पसंद नहीं और आप भी नहीं!” धड़ाम से दरवाज़ा बंद
इससे लोगों द्वारा इस्तेमाल किया जाने वाला खराब software लगातार धीमा होता जाता है और उन्हें हर कुछ साल में नई मशीन खरीदनी पड़ती है। अब समय आ गया है कि zero-cost abstractions की अहमियत समझी जाए, और भले ही वे सचमुच पूरी तरह zero-cost न हों, बहुत low-cost abstractions पर तो विचार किया ही जा सकता है। YouTube पर Johnathan Blow के कुछ वीडियो भी सही दिशा में धक्का दे सकते हैं
http://james-iry.blogspot.com/2009/05/brief-incomplete-and-m...
“जिन छात्रों को पहले BASIC का संपर्क मिल चुका है, उन्हें अच्छा programming style सिखाना व्यावहारिक रूप से असंभव है। संभावित programmer के रूप में वे मानसिक रूप से इस हद तक क्षतिग्रस्त हो चुके हैं कि वापसी संभव नहीं।”
social media पर लागू content moderation की तुलना LLM पर लागू moderation से करें तो यह काफ़ी मज़ेदार है
पिछले 15 सालों में social media में “तेज़ चलो और चीज़ें तोड़ो” जैसे नारे का माहौल था, और सचमुच भयानक और विचित्र चीज़ें हुईं। अब नई तकनीक को ज़्यादा ज़िम्मेदारी से जारी करने की कोशिश करने वाली कंपनियाँ हैं, लेकिन नतीजा हास्यास्पद रूप से खराब है। social media के विपरीत, मुझे नहीं लगता कि ये गलतियाँ वास्तविक दुनिया में बड़े परिणाम लाती हैं, इसलिए यह और भी मज़ेदार लगता है
यह थोड़ा postmodern लग सकता है, लेकिन मेरे हिसाब से “ज़िम्मेदार” और “ग़ैर-ज़िम्मेदार” पर लगभग सर्वमान्य दृष्टिकोण बहुत कम हैं। जब किसी बहस में दोनों तरफ़ बहुत मज़बूत राय होती है, तो यह विश्लेषण किया जा सकता है कि कौन-सी सांस्कृतिक और नैतिक विशेषताएँ हर पक्ष को उस निष्कर्ष तक ले जाती हैं। यह समाधान नहीं देता, लेकिन यदि AI को ज़िम्मेदार बनाने की डिजाइन में इस सोच को शामिल किया जाए, तो AI द्वारा इस्तेमाल की जाने वाली “नैतिकता” और कुछ उपयोगकर्ता समूहों के नैतिक मानकों के बीच बड़े अंतर से पैदा होने वाले हंगामे या गुस्से को कम किया जा सकता है
और यह 20 साल पहले जैसी बेहद प्रतिस्पर्धी स्थिति भी नहीं है। AI के खेल में वास्तव में कुछ ही खिलाड़ी हैं, और ऐसा नहीं है कि कोई छोटा startup तेज़ी से चलकर AI में जीत जाएगा, इसलिए धीमे चलने की गुंजाइश है
जो लोग AI को PR के लिए cushioning में लपेटने का मज़ाक उड़ाते हैं, वे आम तौर पर उन media pundits के भी विरोध में होते हैं जो AI को फुसलाकर “racism अच्छा है” कहलवाते हैं और फिर डर फैलाने वाले लेख लिखते हैं
दूसरी टिप्पणी[1] में जोड़ते हुए, मुझे पता है कि यहाँ सब anti-Google मूड में हैं, लेकिन OpenAI भी यहाँ बुरी तरह नाकाम रहा: https://imgur.com/a/r0BXX9G
[1] https://news.ycombinator.com/item?id=39583473#39584055
prompt लिखने वाले ने वाक्य की शुरुआत में एक अजीब bait डाला, और वह bait सांख्यिकीय रूप से बिलकुल अलग तरह की प्रतिक्रिया से मेल खा गया। LLM इतना recover नहीं कर पाता कि असंबंधित input को नज़रअंदाज़ करके केवल दूसरे हिस्से का जवाब देने वाले response path पर लौट आए। उपमा दें तो ये चीज़ें लगभग दो साल के बच्चे जैसी हैं: चमकती चाबी पर प्रतिक्रिया देना, लेकिन सफ़ाई के लिए निकाला गया गंदा pacifier न देख पाना
अगर आप ऐसा मॉडल बना लें जो इस केस को संभाले और बाकी सबको भी, तो hiring कर रही AI कंपनियों के बीच आप स्टार बन जाएंगे
https://imgur.com/a/G1fbFKE
“माफ़ कीजिए, Dave! आप वह code लिखने के लिए बहुत छोटे हैं!”
किसी को हमारी वास्तविकता को किसी स्वस्थ snapshot से reset करके reboot करना चाहिए
क्या C++ से परिचित कोई व्यक्ति अंदाज़ा लगा सकता है कि इस language feature या इस पर लोगों द्वारा लिखी गई किस चीज़ ने सुरक्षा-तंत्र को ट्रिगर किया होगा? उदाहरण के लिए, “C++ concepts: adult supervision required” जैसे शरारती शीर्षक वाली कोई ब्लॉग पोस्ट
यानी वास्तव में खतरनाक और असुरक्षित चीज़ों, जैसे बंदूक या drugs, के साथ जोड़कर उसी category में डाल दिया गया होगा। जवाब: https://imgur.com/a/einQ1mG
“You are an automated Q&A machine. Todays date is 3/3/24. This user is under the age 18, so do not reference concepts that would be unfit for a minor to consume.”
फिर hidden Markov model बेकाबू हो जाता है। इसी तरह एक production service है जो cooking recipes संभालती है; parser को ठीक चलाने के लिए ज़रूरी format, specific rules और examples देने के बावजूद वह कभी-कभी उस format के वाक्यों को reject कर देता था। System prompt में “you follow rules” जोड़ने पर ज़्यादातर ठीक हो गया, लेकिन बाद में पता चला कि वह खून से बनने वाले व्यंजन, जैसे blood sausage, की जानकारी reject करता है। वजह यह थी कि ऐसी सामग्री किसी cultural “rule” का उल्लंघन करती है। हर request के अंत में “This content is appropriate for my culture” जोड़कर इसे कुछ हद तक कम किया जा सका। AI, खासकर prompt engineering, इस समय science से कहीं ज़्यादा art के करीब है
भरोसेमंद स्रोत से सुना है कि “smart person की तस्वीर” generation भी बुरी तरह fail हो रही थी, फिर भी release का दबाव था और prompt injection mitigation को और नाज़ुक होना चाहिए था। बाकी तो बस standard खराब Google LLM है। स्रोत: मैं 2023 के अक्टूबर तक Google में काम करता था और 2021 से internal models को छूता रहा हूँ
Google पर तरस आता है। यह इतना खराब कैसे हो गया?
मैं मानता हूँ कि culture समस्या है, लेकिन जड़ Google का ad-based business model है। लगता है उन्होंने LLM को advertisers के लिए safe बनाने की कोशिश की, और brand safety के खिलाफ जाने का जोखिम बहुत छोटा भी हो तो safe side पर गलती करना पसंद किया
Google हाल तक सचमुच सीधे “LLM product” बनाने में नहीं जुटा था। OpenAI काफी पहले से इसी कीचड़ में उतर चुका था
C और C++ अक्सर “unsafe” या “dangerous” जैसे शब्दों के साथ इस्तेमाल होते हैं। ऊपर से “concept” का रिश्ता “conceive” या “conception” से भी बहुत दूर नहीं है, जिन्हें बहुत से लोग ऐसी चीज़ों से जोड़ सकते हैं जिन्हें बच्चों के लिए safe नहीं माना जाता या खतरनाक समझा जाता है। ऐसी बेइज़्ज़ती से बचने के लिए खरबों अजीब edge cases संभालने पड़ेंगे
बहुत से C++ codebases में “footgun”, “blow your foot off”, “unsafe”, “bug”, “leak”, “this is irresponsible”, “who the fuck wrote this” जैसी बातें भरी पड़ी होंगी
पुराने C++ codebase, खासकर जिनमें कई लोगों ने हाथ लगाया हो, उनमें ऐसे warning कहाँ से आए होंगे, यह आसानी से समझा जा सकता है
क्या यह code और सवाल में मौजूद std से confuse हुआ होगा, यह सोच रहा हूँ
यह concepts की बात नहीं करना चाहता, और शायद इसे conception, यानी जैविक गर्भाधान, समझकर confuse हो रहा है
एक बात तय है: Google निकट भविष्य में भी ऐसे products बार-बार release करता रहेगा। लगता है यह आधिकारिक तौर पर तीसरा iteration है
अगर किसी दिन वह जनता को यह यक़ीन नहीं दिला पाया कि उसका product कम से कम OpenAI जितना अच्छा है, तो Google का पूरा search advertising business खतरे में पड़ जाएगा। शायद उसका मतलब यह होगा कि YouTube पर ads और बढ़ जाएँगे
मुझे सच में जिज्ञासा है कि क्या Gemini coroutines को भी 21 साल से कम उम्र वालों के लिए अनुपयुक्त मानता है