एक सी ++ स्टिकर के रूप में, यह वास्तव में मुझे परेशान कर रहा है। मुझे हमेशा "भाषा-स्वतंत्र ढांचे" का विचार पसंद आया है जो माइक्रोसॉफ्ट लगभग एक दशक पहले आया था। उन्होंने इस विचार पर गेंद क्यों गिरा दी है? क्या किसी को इसके पीछे तर्क पता है?WPF क्यों C++ का समर्थन नहीं करता है। नेट - WinForms जिस तरह से करता है?
उत्तर
कारण का एक हिस्सा यह होगा कि सी ++ समर्थन वास्तव में दो भाषाओं में है - देशी और सीएलआई संस्करण; विज़ुअल सी ++ टीम द्वारा उस अतिरिक्त विकास भार को स्वीकार किया गया है क्योंकि उचित एमएसबिल्ड एकीकरण को अन्य भाषाओं के पीछे लापरवाही (पिछला? मैंने 2008 या बाद में चेक नहीं किया है)।
एक और हिस्सा संकलन के दौरान कोड पीढ़ी के साथ करना होगा जो सी # निर्माण में समर्थन के लिए लागू होता है उदा। बाध्यकारी "जादू"; मैंने पाया है कि एफ # में भी, आपको यह "बस हो रहा है" नहीं मिलता है।
यह मुझे भी खराब करता है, अगर उन्होंने इसका समर्थन किया है, तो हम सी ++ कोड को एक नए जीयूआई में माइग्रेट करने में सक्षम होंगे, मूल रूप से सी # में सबकुछ फिर से लिखने से कहीं अधिक आसान और सस्ता। यह हमें अपने ऐप्स को फिर से काम करने के लिए एक भाग्य की लागत है, बस हम मंदी में क्या चाहते थे।
मुझे लगता है कि तर्क यह है कि सी # लोकप्रिय है (और सी ++ के रूप में क्रॉस प्लेटफ़ॉर्म के रूप में नहीं) इसलिए उन्होंने अपने विकास प्रयासों को न्यूनतम आवश्यक रखने के लिए निर्णय लिया है।
यदि यह मेरा तर्क था तो सी ++। नेट को जीयूआई लिखने के लिए इस्तेमाल नहीं किया जाना चाहिए।
मैं यहां snarky होने की कोशिश नहीं कर रहा हूं, शायद कोई मुझे मेरे तरीकों की त्रुटि दिखा सकता है लेकिन मुझे नहीं लगता कि यह एक अच्छा विचार है। मैं अभी एक के साथ गड़बड़ कर रहा हूं और सी # में आवेदन लिखा गया था उससे कहीं ज्यादा धीमा विकास। मेरी भावना यह है कि यदि सी ++ में विशेषताएं हैं, तो एप्लिकेशन के लिए नेट या सिर्फ नियमित सी ++ की आवश्यकता होती है, ऐसा लगता है कि भारी उठाने के लिए एक डीएलएल बनाना बेहतर होगा और सी # के साथ इंटरफेस कर सकता है।
यह बस इसलिए है क्योंकि सी # ने इसे आसान बनाने के लिए सभी प्रयास किए हैं। अगर वे चाहते थे तो वे सी ++ के साथ ऐसा कर सकते थे। वे बस नहीं करते हैं। – gbjbaanb
क्या कोई अच्छा कारण है? –
क्या एक बहु-भाषा रनटाइम होने का कोई अच्छा कारण है, अगर यह सभी भाषाओं में जीयूआई प्रोग्रामिंग का समर्थन करने के लिए बहुत अधिक काम करता है? –
आप प्रबंधित सी ++ के साथ डब्ल्यूपीएफ कर सकते हैं।
कारण यह है कि लगभग सभी नए एप्लिकेशन प्रोग्रामिंग अब जावास्क्रिप्ट, जावा, वीबी.नेट या सी # - सभी जीसी भाषाओं में किया जाता है। कम कौशल सेट के लिए उच्च गुणवत्ता पर जोर दिया जाता है और सी ++ डेवलपर से बहुत अधिक मांग करता है, कंपनियां चाहते हैं कि लोग अपने पहले दिन लॉग बग कोड लिखें।
अनुप्रयोगों के लिए सी ++ मुख्य रूप से मौजूदा अनुप्रयोगों के रखरखाव के लिए है या जहां अत्यधिक प्रदर्शन की आवश्यकता है। डिवाइस ड्राइवर और ओएस अभी भी सी ++ में अक्सर लिखे जाते हैं, लेकिन यह भी बदल रहा है (कोयोटोस सीबीटी, ई #, कॉसमॉस/मोसा सी #, सिंगुल्युलिटी/मिडोरी) हैं।
- 1. जीसीसी समर्थन नग्न कार्यों का समर्थन क्यों नहीं करता है?
- 2. जावा समर्थन और ऑटोबॉक्सिंग का समर्थन क्यों नहीं करता है?
- 3. पर्यवेक्षण चयन क्यों बड़े बदलावों का समर्थन नहीं करता है?
- 4. जिस तरह से पीडीओ parametrized क्वेरी काम करता है
- 5. यह एमएसबिल्ड स्क्रिप्ट इस संपत्ति को जिस तरह से उम्मीद करता है, क्यों सेट नहीं करता है?
- 6. क्या WPF समर्थन WMF/EMF फ़ाइलों को मूल रूप से पढ़ने/लिखने का समर्थन करता है?
- 7. मेरा आईई 9 कैनवास का समर्थन क्यों नहीं करता है?
- 8. कोई डेटाबेस पूरी तरह से एएनएसआई या आईएसओ एसक्यूएल मानकों का समर्थन क्यों नहीं करता है?
- 9. विंडोज फोन 7 पूरी तरह से सी # विनिर्देश का समर्थन क्यों नहीं करता है?
- 10. क्यों GreenDAO LIKE ऑपरेटर का पूरी तरह से समर्थन नहीं करता है?
- 11. विम यूनिकोड का समर्थन नहीं करता है?
- 12. क्यों std :: queue स्पष्ट() फ़ंक्शन का समर्थन नहीं करता है?
- 13. auto_ptr का समर्थन क्यों नहीं करता है -> *()
- 14. XmlSerializer शब्दकोश का समर्थन क्यों नहीं करता है?
- 15. एंटिटी फ्रेमवर्क ओडीबीसी का समर्थन क्यों नहीं करता है?
- 16. एफ # नेस्टेड कक्षाओं का समर्थन क्यों नहीं करता है?
- 17. आईआईएस क्यों चंक ट्रांसफर एन्कोडिंग का समर्थन नहीं करता है?
- 18. जावा सूची इंटरफ़ेस getLast() का समर्थन क्यों नहीं करता है?
- 19. `getattr` लगातार गुण पुनर्प्राप्ति का समर्थन क्यों नहीं करता है?
- 20. एसक्यूएल सर्वर सीई वर्चर्स का समर्थन क्यों नहीं करता है?
- 21. xcode4 पर्सफोर्स का समर्थन नहीं करता है?
- 22. सी ++ 11 अज्ञात structs का समर्थन क्यों नहीं करता है, जबकि सी 11 करता है?
- 23. क्यों FontStretch WPF में काम नहीं करता है?
- 24. किसी ऑब्जेक्ट के गुणों के लिए बाध्यकारी WPF समर्थन क्यों नहीं करता है, लेकिन फ़ील्ड नहीं?
- 25. हास्केल का डेटा क्यों नहीं है। समर्थन अनंत सेट का समर्थन करता है?
- 26. Google संग्रह क्यों Apache संग्रह की तरह MultiKeyMap का समर्थन नहीं करता है?
- 27. सी ++ 11 इस तरह नाम लुकअप का समर्थन क्यों नहीं करता है?
- 28. jQuery इवेंट मॉडल इवेंट कैप्चर का समर्थन क्यों नहीं करता है और केवल इवेंट बबलिंग का समर्थन करता है
- 29. एवीएम 2 किस तरह के अनुकूलन का समर्थन करता है?
- 30. Guid.ToByteArray() बाइट्स को जिस तरह से करता है उसे आदेश देता है?
मेरा अनुमान है कि सी ++ कंपाइलर टीम को कम किया जाता है, और दो भाषाओं को बनाए रखना (सी ++ और सी ++/सीएलआई) बहुत अधिक बोझ है। सी ++/सीएलआई वैसे भी वीएस 11 के साथ मर जाएगा, और आप लाइटवेट कंपाइलर एक्सटेंशन की मदद से COM ऑब्जेक्ट्स लिखेंगे, जो आईएमएचओ बहुत अधिक है (और .NET दोस्ताना सी ++/सीएलआई था)। मैं दो भाषाओं के लिए एक फर्जी कंपाइलर की तुलना में एक भाषा के लिए एक सही संकलक पसंद करता हूं। –