जा रहे हैं Native'2012 सम्मेलन की समीक्षा

Microsoft द्वारा आयोजित GoingNative'2012 सम्मेलन हाल ही में समाप्त हुआ। यह 2 और 3 फरवरी को रेडमंड में आयोजित किया गया था, और मुख्य विषय C ++ 11 था। मुझे ऐसा लगा कि यह उल्लेखनीय घटना पूरी तरह से शांत नहीं थी, और मैं स्थिति को सुधारना चाहता था।
"C ++ 11 एक नई भाषा की तरह महसूस करता है" Bjarne Stroustrup द्वारा
"हम सभी C ++ 11 सीख रहे हैं" हर्ब सटर
"हमने ग्रह पर हर एक किताब को तोड़ दिया, और हमने ग्रह पर हर एक प्रोग्रामर को तोड़ दिया" हर्ब सटर

अपनी प्रारंभिक टिप्पणियों में, हर्ब सटर ने सम्मेलन को सी भाषा के निर्माता डेनिस रिची और यूनिक्स संचालन प्रणाली के प्रमुख डेवलपर के लिए समर्पित किया।

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

बोलने वालों की सूची:

किसी को भी भाषा की वर्तमान स्थिति में दिलचस्पी है, मैं इन 3 दिखावे को देखने की सलाह देता हूं:

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

दिन 1 - सी ++ 11 आज - 2 फरवरी, 2012


ब्रजने स्ट्रॉस्ट्रुप: सी ++ 11 स्टाइल

Bjarne C ++ की ताकत, एक अच्छी प्रोग्रामिंग शैली के बारे में बात करता है, और कई उदाहरण देता है। एक वेक्टर और एक सूची के प्रदर्शन की तुलना दिलचस्प है: परिणाम अप्रत्याशित लगता है, और विचार के लिए भोजन प्रदान करता है।

हंस बोएहम: सी ++ 11 में धागे और साझा चर

अंत में, C ++ में, मल्टीथ्रेडिंग भाषा मानक में गिर गया। थ्रेड्स का डिजाइन काफी हद तक प्रसिद्ध बूस्ट.थ्रेड लाइब्रेरी के डिजाइन का अनुसरण करता है। अतुल्यकालिक कॉल के लिए उल्लेख किया गया async / भविष्य का समर्थन। म्यूटेक्स / ताले का उपयोग करने के उदाहरण हैं।

प्रस्तुति का मुख्य भाग डेटा दौड़ के लिए समर्पित है। सी ++ प्रोग्राम में क्या है इसकी एक सटीक परिभाषा दी गई है, और डेटा रेस की स्थिति में क्या उम्मीद की जानी चाहिए। बहुत कुछ उन परमाणु प्रकारों के बारे में कहा जाता है जो दिखाई देते हैं, तुलना जावा, सी # से अस्थिर के साथ की जाती है।

Stephan T. Lavavej: STL11 - मैजिक और& राज

STL मानक C ++ लाइब्रेरी में कई नवाचारों के बारे में बात करता है:

आंद्रेई अलेक्जेंड्रेस्कु: वैराडिक टेम्प्लेट्स फनाडिक हैं

"... आखिरकार, वह-हू-मस्ट-नॉट-बी-नेम ने महान चीजें कीं - भयानक, हां, लेकिन महान।"

टेम्प्लेट मेटाप्रोग्रामिंग गुरू की प्रस्तुति में, हम Variadic टेम्प्लेट्स के बारे में बात कर रहे हैं: C ++ 11 मानक की एक नई विशेषता जो आपको टेम्प्लेट क्लास / फ़ंक्शंस बनाने के लिए अनुमति देती है जो पैरामीटर्स की एक पैरा संख्या द्वारा परिचालित होती है। उदाहरण के लिए, अब आप C. से प्रिंटफ / स्कैन फंक्शन का एक प्रकार-सुरक्षित एनालॉग लिख सकते हैं। सबसे अधिक संभावना है, अधिकांश C ++ प्रोग्रामर को कभी भी वैरिएडिक टेम्प्लेट का उपयोग करके खुद को कुछ लिखने की आवश्यकता नहीं होगी, लेकिन लाइब्रेरी रचनाकारों के लिए यह सुविधा बहुत महत्वपूर्ण है। प्रस्तुति उन लोगों के लिए दिलचस्प होगी जो उपयोग किए गए सिंटैक्स को देखना चाहते हैं और समझते हैं कि वेरिएडिक टेम्प्लेट का उपयोग कैसे किया जाए।

प्रदर्शन में 3 भाग शामिल हैं:


पैनल: द इंपोर्टेंस ऑफ बीइंग नेटिव (बज़्ने, आंद्रेई, हर्ब, हंस, स्टीफ़न)

उत्तर प्रश्न सत्र:

दिलचस्प उद्धरण की एक जोड़ी:
“लेकिन मुझे लगता है कि गार्बेज कलेक्शन C ++ के लिए उतना महत्वपूर्ण नहीं है जितना कि कई अन्य भाषाओं के लिए है। हम बस इतना कचरा उत्पन्न नहीं करते हैं ”बज़्ने स्ट्रॉस्ट्रुप

"... ईमेल की सबसे लगातार श्रेणी मैं सी ++ प्रशिक्षण और जानकारी के बारे में लोगों से कह रहा हूं, जहां मैं जावा और सी # डेवलपर्स के लिए आधुनिक सी ++ 11 का उपयोग करने के बारे में एक अच्छा श्वेत पत्र खोजने जा सकता हूं ..." हर्ब सटर


दिन 2 - सी ++ 11 आज और कल - 3 फरवरी, 2012


हर्ब सटर: सी ++ 11, वीसी ++ 11 और परे

वीसी 11 के अगले संस्करण में सी ++ 11 मानक पुस्तकालय, साथ ही (सुखद आश्चर्य) के लिए सटर ने पूर्ण समर्थन का वादा किया, इस महीने के कारण बीटा संस्करण में, रेंज-फॉर और फाइनल / ओवरराइड समर्थन दिखाई देगा। नए मानक के लिए धीरे-धीरे समर्थन में सुधार के साथ VC11 की रिलीज़ के तुरंत बाद कई "आउट-ऑफ-बैंड" रिलीज़ (विजुअल स्टूडियो रिलीज़ से बंधे नहीं) को रिलीज़ करने की योजना बनाई गई है: इनिशलाइज़र लिस्ट, टेम्प्लेट एलियास, वेरैडिक टेम्प्लेट, कॉन्स्ट्रेक्स, नॉइसेप्ट, = डिफ़ॉल्ट / डिलीट, ... हाँ सर्वेक्षण में भाग लेने का अवसर, नए मानक की कौन-सी विशेषताएं सबसे महत्वपूर्ण हैं, और मैं इसे जल्द से जल्द देखना चाहूंगा : bit.ly/mscpp11

दूसरा भाग नई शैली, मुहावरों और C ++ में प्रोग्रामिंग के अनुशंसित तरीकों के लिए समर्पित है। सटर का दावा है कि सभी सी ++ पुस्तकें मानक के विमोचन के साथ पुरानी हैं, कि पुस्तक से प्रत्येक उदाहरण को एक नई शैली में लिखा जा सकता है और फिर से लिखना चाहिए: हमने ग्रह पर हर एक पुस्तक को तोड़ दिया, और हमने ग्रह पर हर एक प्रोग्रामर को तोड़ दिया। C ++ 11 पर कम से कम एक पुस्तक पहले से मौजूद है: bit.ly/meyers11 । C ++ की अन्य प्रसिद्ध पुस्तकों के लिए अपेक्षित अद्यतन तिथियां:

तीसरा भाग C ++ मानक के लिए संभावित विकास योजनाओं पर चर्चा करता है। उनकी राय में, शैली में ऐसा मौलिक परिवर्तन, और C ++ 11 में मुहावरे, निकट भविष्य में अवांछनीय है। भाषण के अंत में, कोट्स ऑफ आर्म्स ने प्रभावी रूप से C ++ का सबसे कमजोर पक्ष बताया, और बताया कि स्थिति को ठीक करने के लिए क्या करने की योजना बनाई गई थी।

चैंडलर कारूथ: क्लैंग - मर्फी मिलियन मिलियन से सी ++ का बचाव

Clang डेवलपर इस बारे में बात करता है कि आपको लाइव सीसीसी के साथ एक और C ++ कंपाइलर लिखने की आवश्यकता क्यों है:

नवीनतम संस्करण पूरी तरह से C ++ 98 मानक और आंशिक रूप से C ++ 11 का समर्थन करता है। लिनक्स, मैक पर काम करता है। कोई विंडोज समर्थन नहीं है, क्योंकि डेवलपर्स के बीच पर्याप्त विंडोज डेवलपर्स नहीं हैं।

समस्याग्रस्त C ++ कोड के कई उदाहरण दिए गए हैं, और संकलक द्वारा क्या त्रुटि संदेश और चेतावनी उत्पन्न की जाती है। ऐसा लगता है कि एक दिलचस्प स्थिर कोड विश्लेषक निकला है, लेकिन रन-टाइम में व्यवहार का विश्लेषण करने के अवसर भी हैं। संकलक के आधार पर, C ++ कोड को फिर से भरने और विश्लेषण करने के लिए बहुत दिलचस्प उपकरण विकसित किए जाते हैं। उदाहरण के लिए, अनावश्यक को हटाने के लिए एक उपकरण शामिल है

आंद्रेई अलेक्जेंड्रेस्कु: स्टेटिक इफ हैम हैमर

हम भाषा के मानक में static_if निर्माण को जोड़ने के प्रस्ताव के बारे में बात कर रहे हैं, जो डी भाषा में खुद को साबित कर चुका है। यह हमें कुछ टेम्प्लेट कोड को गंभीरता से सरल बनाने की अनुमति देगा, जो बिना कंपकंपी के अब नहीं देखा जा सकता है। यहाँ इसका उपयोग कैसा दिख सकता है:
 //     It – forward iterator template <class It> It rotate(It b, It m, It e) if (is_forward_iterator<It>::value) {...} //     WithParent       enum class WithParent { no, yes }; template <class T, WithParent wp> class Tree { class Node { ... }; static if (wp == WithParent::yes) { Node * parent_; } Node * left_, * right_; T payload_; }; Tree<string, WithParent::yes> dictionary; 


बज़्ने स्ट्रॉस्ट्रुप और एंड्रयू सुटन: सी ++ के लिए एक अवधारणा डिजाइन

अवधारणाएं एक लंबे समय से पीड़ित सुविधा है जो C ++ 11 भाषा मानक में शामिल नहीं थी, और इसके गोद लेने में गंभीरता से देरी हुई। स्ट्रैसपुप बताता है कि कैसे वह एक भाषा में अवधारणाओं को समझता है, और सटन तकनीकी विवरण पर बसता है। जैसा कि मैं इसे समझता हूं, अभी भी भाषा में अवधारणाओं को जोड़ने की इच्छा है, और प्रस्ताव मानकीकरण समिति को प्रस्तुत किया जाएगा। मूल की तुलना में सरलीकरण की दिशा में प्रस्ताव को गंभीरता से लिया गया है। यह कोड की तरह लग सकता है जो अवधारणाओं का उपयोग करता है:

 template<InputIterator I> DistanceType<I> distance(I first, I last); //       template<RandomAccessIterator I> DistanceType<I> distance(I first, I last); // ,    random-access  template<Sortable Iter> void sort(Iter first, Iter last); 


पैनल: हमसे कुछ भी पूछो! (सभी वक्ता)

प्रश्नोत्तर सत्र। बहुत सारे विषय शामिल हैं:

विवशता की चर्चा से:
चैंडलर कारूथ : ... लेकिन हम अभी तक नहीं किए गए हैं। यह मुश्किल है। यह कठिन है तो वैरेडिक टेम्प्लेट, मेरा मानना ​​है कि यह वास्तव में कठिन है तो लंबोदर। यह पूरे C ++ 11 में सही ढंग से सुविधाओं को लागू करने के लिए सबसे चुनौतीपूर्ण में से एक है
ब्रेज़न स्ट्रॉस्ट्रुप : यह ध्यान रखना दिलचस्प है, कि यह इन विशेषताओं में से एक है, जो मानकीकरण के दौरान अपने प्रस्तावकों और प्रारंभिक कार्यान्वयनकर्ताओं के मृत शरीर पर अधिक जटिल बना दिया गया था


सम्मेलन के आयोजकों और प्रतिभागियों को बहुत धन्यवाद !!!

Source: https://habr.com/ru/post/In139064/


All Articles