मुख्य अंतर - उद्देश्य सी बनाम स्विफ्ट
ऑब्जेक्टिव सी और स्विफ्ट प्रोग्रामिंग लैंग्वेज हैं जो आईओएस और मैक एप्लिकेशन डेवलपमेंट के लिए व्यापक रूप से उपयोग की जाती हैं। ऑब्जेक्ट-ओरिएंटेशन और अन्य नई सुविधाओं के साथ ऑब्जेक्टिव C, C भाषा का एक सुपर-सेट है। स्विफ्ट Apple द्वारा विकसित एक नई भाषा है। ऑब्जेक्टिव सी और स्विफ्ट के बीच महत्वपूर्ण अंतर यह है कि, ऑब्जेक्टिव सी एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा है जो सी प्रोग्रामिंग लैंग्वेज में स्मॉल टॉक स्टाइल मैसेजिंग जोड़ती है जबकि स्विफ्ट सामान्य प्रयोजन प्रोग्रामिंग भाषा है जिसे ऐप्पल द्वारा सुरक्षित प्रोग्रामिंग पैटर्न के साथ विकसित किया गया है। उद्देश्य C के विकल्प के रूप में इस्तेमाल किया जा सकता हैस्विफ्ट को ऑब्जेक्टिव सी के विकल्प के रूप में इस्तेमाल किया जा सकता है। स्विफ्ट सुरक्षित मेमोरी मैनेजमेंट, टाइप इंटरफेरेंस और जेनरिक प्रदान करता है। कुल मिलाकर, स्विफ्ट कोड की पठनीयता और रखरखाव में सुधार करती है।
ऑब्जेक्टिव सी क्या है?
सी प्रोग्रामिंग भाषा 1970 के आसपास पेश की गई थी। चूंकि सी एक संरचित प्रोग्रामिंग भाषा थी, इसलिए सी भाषा का ऑब्जेक्ट-ओरिएंटेड संस्करण होना आवश्यक था। उद्देश्य सी, स्मॉलटाक शैली के साथ सी भाषा का सुपरसेट है। उद्देश्य सी एक चिंतनशील, वर्ग-आधारित, वस्तु-उन्मुख प्रोग्रामिंग भाषा है। यह वस्तु-उन्मुख प्रोग्रामिंग अवधारणाओं का समर्थन करता है जो विरासत, एनकैप्सुलेशन, बहुरूपता आदि हैं। उद्देश्य सी सी भाषा पर आधारित है। कोई भी मान्य C प्रोग्राम ऑब्जेक्टिव C में भी मान्य है।
ऑब्जेक्टिव सी, सी का एक सुपर-सेट है। सी भाषा के मूल सिद्धांतों के अलावा, इसमें कक्षाएं, ऑब्जेक्ट, प्रॉपर्टीज, मैसेजिंग और प्रोटोकॉल जैसी अवधारणाएं हैं। प्रोटोकॉल किसी विशेष स्थिति के लिए उपयोग की जाने वाली अपेक्षित विधियों की घोषणा करते हैं। उद्देश्य सी में, यदि प्रोग्रामर कक्षाओं में मूल्यों की जांच करना चाहता है, तो वे कुंजी-मूल्य अवलोकन का उपयोग कर सकते हैं या स्वयं के कस्टम सेटर्स लिख सकते हैं।आरंभीकरण कॉल के लिए "आवंटन" और "इनिट" का उपयोग किया जाता है। कंपाइलर को इंगित करने के लिए, नियमित सिंटैक्स की तुलना में नई सुविधाएँ, @ प्रतीक हैं। कुछ उदाहरण हैं @interface, @implementation, @property, @protocol। NSArray, NSSet, NSDictionary जैसे विस्तारित डेटा प्रकार हैं। ऑब्जेक्टिव सी में बहुत सारे NS एक्सप्रेशन देखे जा सकते हैं। उदाहरण के लिए, लॉग को प्रिंट करने के लिए NSLog पद्धति का उपयोग किया जाता है।
स्विफ्ट क्या है?
कुछ प्रोग्रामर्स को ऑब्जेक्टिव C के साथ काम करना ज्यादा कठिन लगता है। इसलिए, Apple ने स्विफ्ट भाषा की शुरुआत की। यह मुख्य रूप से IOS और Mac अनुप्रयोग विकास के लिए उपयोग कर रहा है। यह सुरक्षित प्रोग्रामिंग पैटर्न वाली एक आधुनिक प्रोग्रामिंग भाषा है। यह बहु-प्रतिमान भाषा है जो वस्तु-उन्मुख प्रोग्रामिंग और कार्यात्मक प्रोग्रामिंग का समर्थन करती है।
स्विफ्ट के कुछ डेटा प्रकार हैं। सबसे अधिक उपयोग किए जाने वाले डेटा प्रकार इंट, फ्लोट, डबल, बूल, स्ट्रिंग, कैरेक्टर, वैकल्पिक, टुपल्स हैं। वैकल्पिक डेटा प्रकार या तो कोई मान रख सकता है या नहीं। Tuples एकाधिक मानों को एकल मान के रूप में संग्रहीत कर सकता है।स्विफ्ट में सेट्स, एरेज़, डिक्शनरी भी शामिल हैं। कोड संकलित करते समय स्विफ्ट टाइप सुरक्षा प्रदान करता है। यदि प्रोग्रामर ने एक चर को एक स्ट्रिंग के रूप में घोषित किया है (जैसे var str="hello"), तो वह इसे एक पूर्णांक में str=10 के रूप में नहीं बदल सकता है। स्विफ्ट वैरिएबल इनिशियलाइज़ेशन प्रदान करता है, एरे बाउंड्स और इंडेक्स की जाँच करता है, पूर्णांक ओवरफ्लो की जाँच करता है। स्विफ्ट में क्लोजर हैं। उनका उपयोग कार्यों के अंदर परिभाषित स्थिरांक और चर संदर्भों को पकड़ने और संग्रहीत करने के लिए किया जाता है। स्विफ्ट में, फ़ंक्शन प्रथम श्रेणी की वस्तुएं हैं। अन्य कार्यों से कार्यों को वापस किया जा सकता है।
स्विफ्ट में, ऑब्जेक्टिव सी की तरह हेडर फाइलों का उपयोग करने की कोई आवश्यकता नहीं है। स्विफ्ट कई आधुनिक प्रोग्रामिंग भाषाओं के रूप में नाम स्थान प्रदान करती है। यह कोड को नेमस्पेस में अलग करने में मदद करता है, इसलिए कोड को व्यवस्थित करना आसान है। एप्लिकेशन को मजबूत और कुशल बनाने के लिए स्विफ्ट को नियमित अपडेट मिलते रहते हैं।एक लोकप्रिय संस्करण स्विफ्ट 4 है। यह कुशल अनुप्रयोगों के निर्माण के लिए एक उपयोगकर्ता के अनुकूल भाषा है।
ऑब्जेक्टिव सी और स्विफ्ट में क्या समानताएं हैं?
- मैक और आईओएस के विकास के लिए दोनों भाषाओं का उपयोग किया जा रहा है।
- दोनों केस-संवेदी प्रोग्रामिंग भाषाएं हैं।
- दोनों संकलक आधारित भाषाएं हैं।
- दोनों वस्तु-उन्मुख प्रोग्रामिंग का समर्थन करते हैं।
- व्हाइटस्पेस कोड की पठनीयता में सुधार करते हैं। संकलक उन्हें अनदेखा करता है।
ऑब्जेक्टिव सी और स्विफ्ट में क्या अंतर है?
ऑब्जेक्टिव सी बनाम स्विफ्ट |
|
ऑब्जेक्टिव सी एक सामान्य प्रयोजन प्रोग्रामिंग भाषा है जो सी प्रोग्रामिंग भाषा में स्मॉलटाक स्टाइल मैसेजिंग जोड़ती है। | स्विफ्ट एक सामान्य प्रयोजन की प्रोग्रामिंग भाषा है जिसे एप्पल इंक द्वारा विकसित किया गया था और इसमें सुरक्षित प्रोग्रामिंग पैटर्न हैं। |
प्रतिमान | |
उद्देश्य सी चिंतनशील, वर्ग-आधारित और वस्तु-उन्मुख प्रतिमानों का समर्थन करता है। | स्विफ्ट वस्तु-उन्मुख और कार्यात्मक प्रतिमानों का समर्थन करता है। |
अर्धविराम का प्रयोग | |
उद्देश्य C में कथन के अंत में अर्धविराम आवश्यक है। | अर्धविराम की आवश्यकता तभी होती है जब दो कथन एक ही पंक्ति में हों। |
परिवर्तनीय घोषणा | |
उद्देश्य सी में, प्रकारों को स्पष्ट रूप से घोषित किया जाना चाहिए। | स्विफ्ट में प्रकारों का अनुमान लगाया जाता है। कंपाइलर डेटा प्रकार का पता लगा सकता है। |
मुख्य विशेषताएं | |
ऑब्जेक्टिव सी में क्लास, ऑब्जेक्ट, मैसेजिंग, प्रोटोकॉल आदि हैं। | स्विफ्ट में क्लोजर, जेनरिक, नेमस्पेस आदि जैसी विशेषताएं हैं। |
हैडर फ़ाइलें | |
ऑब्जेक्टिव सी में हेडर फाइलें होती हैं। | सी में हेडर फाइलों की कोई जरूरत नहीं है। |
संग्रह | |
उद्देश्य C. में NS सरणियों, NS शब्दकोशों का उपयोग करें | स्विफ्ट में जेनरिक का उपयोग करके संग्रह दृढ़ता से टाइप किए जाते हैं। |
स्ट्रिंग हेरफेर | |
उद्देश्य सी में स्ट्रिंग हेरफेर जटिल है। यह प्रारूप विनिर्देशक आदि का उपयोग करता है। | स्विफ्ट सरल स्ट्रिंग मैनिपुलेशन फ़ंक्शन प्रदान करता है। |
स्विच | |
ऑब्जेक्टिव सी अगले केस स्टेटमेंट का मूल्यांकन करने के लिए ब्रेक स्टेटमेंट से बच सकता है। | अगले केस स्टेटमेंट का मूल्यांकन करने के लिए त्वरित उपयोग विफल रहता है। |
कोड पठनीयता | |
ऑब्जेक्टिव सी कोड को स्विफ्ट कोड की तुलना में पढ़ना कठिन है। | ऑब्जेक्टिव सी की तुलना में स्विफ्ट कोड को पढ़ना आसान है। कोड ऑब्जेक्टिव सी कोड की तुलना में अधिक साफ और प्रबंधनीय है। |
निष्पादन का समय | |
उद्देश्य सी में, निष्पादन का समय अधिक होता है क्योंकि जब भी कोड में कोई परिवर्तन किया जाता है तो पूरा कोड बनाया जाता है। | स्विफ्ट में, अपरिवर्तित फाइलों को फिर से संकलित नहीं किया जाता है। इसलिए, निष्पादन का समय कम हो जाता है। |
कोड रखरखाव | |
उद्देश्य C प्रोग्राम को बनाए रखना कठिन है। | स्विफ्ट प्रोग्राम को मेंटेन करना आसान होता है। |
सारांश – उद्देश्य सी बनाम स्विफ्ट
इस लेख में दो प्रोग्रामिंग भाषाओं ऑब्जेक्टिव सी और स्विफ्ट के बीच अंतर पर चर्चा की गई है। ऑब्जेक्टिव सी और स्विफ्ट के बीच का अंतर यह है कि ऑब्जेक्टिव सी एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा है जो सी प्रोग्रामिंग भाषा में स्मॉलटाक स्टाइल मैसेजिंग जोड़ती है और स्विफ्ट सामान्य उद्देश्य है जिसे ऐप्पल द्वारा सुरक्षित प्रोग्रामिंग पैटर्न के साथ विकसित किया गया है। यह ऑब्जेक्टिव सी के लिए एक वैकल्पिक भाषा है। स्विफ्ट ऑब्जेक्टिव सी की समय लेने वाली विशेषताओं को समाप्त करती है। स्विफ्ट कोड की लंबाई को कम करती है, और सिंटैक्स ऑब्जेक्टिव सी की तुलना में आसान है। ऑब्जेक्टिव सी की तुलना में स्वच्छ सुव्यवस्थित कोड लिखना उपयोगी है।
ऑब्जेक्टिव सी बनाम स्विफ्ट का पीडीएफ संस्करण डाउनलोड करें
आप इस लेख का पीडीएफ संस्करण डाउनलोड कर सकते हैं और उद्धरण नोट के अनुसार इसे ऑफ़लाइन उद्देश्यों के लिए उपयोग कर सकते हैं। कृपया पीडीएफ संस्करण यहां डाउनलोड करें उद्देश्य सी और स्विफ्ट के बीच अंतर