क्या उद्देश्य-सी ++ को चरणबद्ध किया जा रहा है? [बन्द है]


10

क्या उद्देश्य-सी ++ के लिए ऐप्पल चरणबद्ध समर्थन है? निम्नलिखित पर ध्यान दें:

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

क्या मुझे iOS विकास के लिए c ++ का उपयोग करने के बारे में चिंतित होना चाहिए?

जवाबों:


19

नहीं, मैं इसके बारे में चिंता नहीं करेगा।

सबसे पहले, ऐप्पल के दो मुख्य संकलक टूलचाइन्स (जीसीसी और क्लैंग) दोनों इसका समर्थन करना जारी रखते हैं। वास्तव में, क्लैंग के लिए मुख्य पृष्ठ बार-बार इंगित करता है कि उद्देश्य C ++ के लिए समर्थन "क्लैंग प्रोजेक्ट का लक्ष्य" है।

दूसरा, MSDN के विपरीत, Apple अक्सर अपने ऑनलाइन तकनीकी दस्तावेज में बदलाव करता है, और उनके डेवलपर वेबसाइट के लेखों के लिंक बहुत टूटते हैं। यह गर्दन में दर्द की तरह है - मैं अपने हार्ड ड्राइव पर क्विकटाइम एपीआई डॉक्यूमेंटेशन का एक गुच्छा रखता हूं क्योंकि मैं इसे ऑनलाइन ढूंढने के लिए थक गया हूं।

मैक के लिए प्रोग्रामिंग करते हुए 27 वर्षों में एप्पल का इतिहास यह रहा है कि जब वे एक एपीआई को चित्रित करने की योजना बनाते हैं, तो वे इसके बारे में बहुत सामने होते हैं, और आम तौर पर सार्वजनिक घोषणाओं के रूप में पांच या अधिक वर्षों का नोटिस देते हैं। , या कम से कम संकलक चेतावनी। इसलिए मुझे आश्चर्य होगा कि अगर वे चुपचाप एक प्रोग्रामिंग भाषा को चित्रित करते हैं जो कई, कई हजारों डेवलपर्स पर भरोसा करते हैं।


2

ऑब्जेक्टिव-सी आपके एप्लिकेशन के डिवाइस विशिष्ट भाग से निपटने के लिए उपयुक्त है। यह एक GUI प्रोग्राम को विकसित करना वास्तव में आसान बनाता है। दूसरी ओर C ++ की जरूरत है जहां आपको पोर्टेबिलिटी और / या अधिक नियंत्रण की आवश्यकता है जो आप कर रहे हैं।

क्या आपने कभी ऐसे एप्लिकेशन को विकसित करने की कोशिश की है जो ऑब्जेक्टिव-सी के साथ ओपनगैल पर निर्भर हो? आपका कोड एक गंदा गड़बड़ हो जाएगा (विशेष रूप से यदि आपको वेक्टर गणित की बहुत ज़रूरत है क्योंकि ऑब्जेक्टिव-सी ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है)।

OS X और iOS के लिए कई लाइब्रेरी C ++ पर निर्भर हैं इसलिए मैं Apple को C ++ के लिए समर्थन छोड़ने की चिंता नहीं करूंगा (यहां तक ​​कि Apple भी इस पर निर्भर करता है।)


इसका उद्देश्य ऑब्जेक्टिव- C ++ नहीं C ++
वैकल्पिक

1
@mathepic - जो स्वयं एक भाषा नहीं है, बल्कि ऑब्जेक्टिव-सी और सी ++ कोड मिश्रित करने के लिए संकलक की एक विशेषता है।
राफेल

1

बिल्कुल जवाब नहीं है। ऑब्जेक्टिव-सी रनटाइम के बहुत सारे और सार्वजनिक ढांचे के कई निजी हिस्से और ऐप्पल सॉफ्टवेयर को पॉवर करने वाले प्राइवेट फ्रेमवर्क आज ऑब्जेक्टिव-सी ++ में लिखे गए हैं और इससे बदलाव की संभावना नहीं होगी।

वे इसका इस्तेमाल मौजूदा ओपन सोर्स सॉफ्टवेयर लाइब्रेरी के साथ-साथ एसटीएल से भी करते हैं, जहां यह समझ में आता है। Clang C ++ में लिखा गया है

ओह और सभी IOKit C ++ है

Xcode उद्देश्य-सी ++ में लिखे गए कई हिस्सों में है

C ++ उन चीजों के लिए है, जो API और UI के लिए Objective-C के लिए समझ में आता है। (दूसरे शब्दों में, एक महान स्थिर एपीआई को उजागर करें जो सी ++ के साथ गिर गया है जहां यह समझ में आता है)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.