2009-08-06 17 views
8

एक सी ++ स्टिकर के रूप में, यह वास्तव में मुझे परेशान कर रहा है। मुझे हमेशा "भाषा-स्वतंत्र ढांचे" का विचार पसंद आया है जो माइक्रोसॉफ्ट लगभग एक दशक पहले आया था। उन्होंने इस विचार पर गेंद क्यों गिरा दी है? क्या किसी को इसके पीछे तर्क पता है?WPF क्यों C++ का समर्थन नहीं करता है। नेट - WinForms जिस तरह से करता है?

+0

मेरा अनुमान है कि सी ++ कंपाइलर टीम को कम किया जाता है, और दो भाषाओं को बनाए रखना (सी ++ और सी ++/सीएलआई) बहुत अधिक बोझ है। सी ++/सीएलआई वैसे भी वीएस 11 के साथ मर जाएगा, और आप लाइटवेट कंपाइलर एक्सटेंशन की मदद से COM ऑब्जेक्ट्स लिखेंगे, जो आईएमएचओ बहुत अधिक है (और .NET दोस्ताना सी ++/सीएलआई था)। मैं दो भाषाओं के लिए एक फर्जी कंपाइलर की तुलना में एक भाषा के लिए एक सही संकलक पसंद करता हूं। –

उत्तर

4

कारण का एक हिस्सा यह होगा कि सी ++ समर्थन वास्तव में दो भाषाओं में है - देशी और सीएलआई संस्करण; विज़ुअल सी ++ टीम द्वारा उस अतिरिक्त विकास भार को स्वीकार किया गया है क्योंकि उचित एमएसबिल्ड एकीकरण को अन्य भाषाओं के पीछे लापरवाही (पिछला? मैंने 2008 या बाद में चेक नहीं किया है)।

एक और हिस्सा संकलन के दौरान कोड पीढ़ी के साथ करना होगा जो सी # निर्माण में समर्थन के लिए लागू होता है उदा। बाध्यकारी "जादू"; मैंने पाया है कि एफ # में भी, आपको यह "बस हो रहा है" नहीं मिलता है।

1

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

मुझे लगता है कि तर्क यह है कि सी # लोकप्रिय है (और सी ++ के रूप में क्रॉस प्लेटफ़ॉर्म के रूप में नहीं) इसलिए उन्होंने अपने विकास प्रयासों को न्यूनतम आवश्यक रखने के लिए निर्णय लिया है।

2

यदि यह मेरा तर्क था तो सी ++। नेट को जीयूआई लिखने के लिए इस्तेमाल नहीं किया जाना चाहिए।

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

+2

यह बस इसलिए है क्योंकि सी # ने इसे आसान बनाने के लिए सभी प्रयास किए हैं। अगर वे चाहते थे तो वे सी ++ के साथ ऐसा कर सकते थे। वे बस नहीं करते हैं। – gbjbaanb

+0

क्या कोई अच्छा कारण है? –

+0

क्या एक बहु-भाषा रनटाइम होने का कोई अच्छा कारण है, अगर यह सभी भाषाओं में जीयूआई प्रोग्रामिंग का समर्थन करने के लिए बहुत अधिक काम करता है? –

0

आप प्रबंधित सी ++ के साथ डब्ल्यूपीएफ कर सकते हैं।

कारण यह है कि लगभग सभी नए एप्लिकेशन प्रोग्रामिंग अब जावास्क्रिप्ट, जावा, वीबी.नेट या सी # - सभी जीसी भाषाओं में किया जाता है। कम कौशल सेट के लिए उच्च गुणवत्ता पर जोर दिया जाता है और सी ++ डेवलपर से बहुत अधिक मांग करता है, कंपनियां चाहते हैं कि लोग अपने पहले दिन लॉग बग कोड लिखें।

अनुप्रयोगों के लिए सी ++ मुख्य रूप से मौजूदा अनुप्रयोगों के रखरखाव के लिए है या जहां अत्यधिक प्रदर्शन की आवश्यकता है। डिवाइस ड्राइवर और ओएस अभी भी सी ++ में अक्सर लिखे जाते हैं, लेकिन यह भी बदल रहा है (कोयोटोस सीबीटी, ई #, कॉसमॉस/मोसा सी #, सिंगुल्युलिटी/मिडोरी) हैं।

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

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