2010-11-20 7 views
6

** कृपया लोग, यह सवाल किसी भी लौ युद्ध शुरू करने के लिए नहीं है। **भाषा कोर के हिस्से के रूप में एक नई सुविधा आने पर मौजूदा पुस्तकालयों की मृत्यु हो जाती है?

मैं समझने के लिए कुछ कार्यक्षमता को लागू करने के लिए जब एक ही कार्यक्षमता है कि पहले वहाँ भाषा में नहीं था अब भाषा के भाग के रूप में आता है मौजूदा पुस्तकालयों के लिए होता कोशिश कर रहा हूँ? उदाहरण के लिए C++ में भाषा मानक के हिस्से के रूप में जल्द ही std :: thread होगा, तो POSIX या बूस्ट पुस्तकालयों के साथ क्या होता है?

मैं भी समझने के लिए अनुभव करता अन्य प्रोग्रामिंग भाषाओं के उपयोगकर्ताओं को इस संबंध में हो सकता है के लिए उत्सुक हो जाएगा।

+0

POSIX धागे को C++ लाइब्रेरी द्वारा प्रतिस्थापित नहीं किया जाएगा। वे मूल प्रणाली कॉल हैं। यूनिक्स पर थ्रेड समर्थन बनाने के लिए अन्य भाषाएं और पुस्तकालय उन पर भरोसा करेंगे, सी प्रोग्रामर उनका उपयोग जारी रखेंगे और आप अभी भी निम्न स्तर की सिस्टम सुविधाओं (एक विशेष NUMA syscall कहें) तक पहुंचने के लिए सी ++ कोड में उपयोग कर सकते हैं या अन्य प्रकार की समवर्ती पुस्तकालयों का निर्माण कर सकते हैं । –

उत्तर

2

सी ++ std :: धागा बढ़ावा धागे के आधार पर बड़े हिस्से में है। तो धागे को बढ़ावा देना कभी भी गायब नहीं होगा, वे मानक सी ++ लाइब्रेरी में रहेंगे। इसके अतिरिक्त, कई प्लेटफ़ॉर्म पर थ्रेड थ्रेड को बैकएंड के रूप में पॉज़िक्स थ्रेड का उपयोग करते हैं, इसलिए वे कभी भी गायब नहीं होंगे। या तो इस अंतर को एक अनूठा लाभ प्रदान करता है या मौलिक grok आसान है:

+0

हटाएं क्योंकि सिर्फ एक दूसरे से प्रेरित है इसका मतलब यह नहीं है कि वे वही हैं। वास्तव में, शायद कार्यक्रमों का एक उचित हिस्सा होगा जिसमें std :: thread और boost :: thread दोनों शामिल हैं। लेकिन किसी बिंदु पर, या तो बूस्ट :: धागा डिब्बाबंद हो जाता है या वे इसे समानांतर (पीछे की संगतता के लिए) रखने का फैसला करते हैं। – Tom

+0

... हालांकि मुझे लगता है कि वे शायद उन उपयोगकर्ताओं का समर्थन करने के लिए अनिश्चित काल तक रखेंगे जिनके पास std :: thread तक पहुंच नहीं है। जिसका मतलब है कि बूस्ट थ्रेड वास्तव में कभी गायब नहीं होंगे। – Tom

9

नई तकनीक का गोद लेने रात भर कभी नहीं होता है। कंप्रेसर नए मानक लाइब्रेरी संस्करणों को लागू करते समय एक अंतराल होगा, और फिर एक और अंतराल होगा जबकि उन कंपाइलर्स डेवलपर्स तक पहुंचेंगे।

मेरे पिछले दो नौकरियों विजुअल C++ 6, जो 10 वर्ष से अधिक पुराना है के साथ कभी बातचीत चित्रित किया है। बेहतर मॉडल के जरिए काम करने वाले कोड से नए में जाने के लिए बड़ी अनिच्छा है।

तो पुराने पुस्तकालयों मरने करते हैं, यह अचानक जन विलुप्त होने के बजाय धीरे-धीरे अप्रचलन की एक प्रक्रिया के माध्यम से है।

लाइब्रेरी के आधार पर, यह संभव है कि आने वाला मानक केवल वर्तमान फ़ंक्शन का स्नैपशॉट कैप्चर करता है, और मूल लाइब्रेरी सी ++ 1x, सी ++ 2x और इसी तरह के इनक्यूबेटर के रूप में विकसित हो रही है।

-3

ऐसी बात अभी तक नहीं हुई है। सी ++ में अब तक केवल एक ही कार्यान्वयन है।

+0

एह, कार्यान्वयन वास्तव में यहां एक गलत शब्द है। मेरा मतलब है कि सी ++ मानक और एक मसौदा का केवल एक संस्करण है। – milan

+0

आप अपनी मूल पोस्ट को संपादित कर सकते हैं और उस जानकारी को ठीक कर सकते हैं। – jwueller

+1

नहीं, जो मुझे और अधिक ईमानदारी से टाइप करने के लिए सिखाएगा :) – milan

4

कभी कभी पुस्तकालय लेखक अपने पुस्तकालय बनाए रखने के लिए, क्योंकि उनके पुस्तकालय कुछ कैसे यह भाषा के भीतर किया जाता है की तुलना में थोड़ा अलग करता है जारी है। जो भी मामला है, अगर पर्याप्त उपयोगकर्ता इसे जारी रखने की इच्छा रखता है या यदि लेखक जिद्दी है तो इसे बनाए रखा जाएगा। आखिरकार, अगर लोग पर्याप्त रूप से पर्याप्त नहीं हैं तो लोग सिर्फ भाषा में स्वाभाविक रूप से उपयोग करते हैं।

संबंधित मुद्दे