PyObjC
पायओबीजेसी पायथन और ऑब्जेक्टिव-सी प्रोग्रामिंग भाषाओं के बीच एक द्विदिशात्मक सेतु है, जो प्रोग्रामरों को पायथन का उपयोग करके ऐप्पल के कोको फ्रेमवर्क जैसे मौजूदा ऑब्जेक्टिव-सी पुस्तकालयों का उपयोग करने और उनका विस्तार करने की अनुमति देता है। पायओबीजेसी का उपयोग शुद्ध पायथन में मैकोस अनुप्रयोगों को विकसित करने के लिए किया जाता है। जीएनयूस्टेप के लिए भी सीमित समर्थन है, जो कोकोआ का एक खुला स्रोत, क्रॉस-प्लेटफ़ॉर्म कार्यान्वयन है। पायथन प्रोग्रामरों के लिए पायओबीजेसी का सबसे महत्वपूर्ण उपयोग प्रोग्रामरों को शुद्ध पायथन में कोको पुस्तकालयों का उपयोग करके जीयूआई अनुप्रयोग बनाने में सक्षम बनाना है। इसके अलावा, सी प्रोग्रामिंग भाषा (यह एक शुद्ध सुपरसेट है) के साथ ऑब्जेक्टिव-सी के घनिष्ठ संबंध के प्रभाव के रूप में, डेवलपर्स किसी भी सी-आधारित एपीआई को ऑब्जेक्टिव-सी रैपर के साथ लपेटकर और फिर पायओबीजेसी ब्रिज पर लिपटे कोड का उपयोग करके शामिल करने में सक्षम हैं। उद्देश्य-सी + + का उपयोग करके, सी% 2बी% 2बी पुस्तकालयों के साथ भी ऐसा ही किया जा सकता है। उद्देश्य-सी प्रोग्रामरों के लिए कोको डेवलपर्स को भी लाभ हो सकता है, क्योंकि पायथन में लिखे गए कार्य आम तौर पर उद्देश्य-सी समकक्ष की तुलना में कम पंक्तियाँ लेते हैं। इसका उपयोग उनके लाभ के लिए किया जा सकता है क्योंकि यह तेजी से प्रोटोटाइपिंग को सक्षम बनाता है। पायओबीजेसी की उत्पत्ति 1996 में हुई थी, जब लेल गैफैक्स ने उसी वर्ष सितंबर में मूल मॉड्यूल का निर्माण किया था। श्रेय दिए गए योगदानकर्ताओं में पायथन प्रोग्रामिंग भाषा के निर्माता गुइडो वैन रॉसम थे। पी. ओ. बी. जे. सी. को 2002 में फिर से लिखा गया था। उल्लेखनीय परिवर्धन में पायथन से सीधे उद्देश्य-सी वर्गों को उपवर्गित करने की क्षमता और फाउंडेशन, ऐप किट और पता पुस्तक ढांचे के लिए लगभग पूर्ण समर्थन शामिल है। बाद में उसी वर्ष, गैर-फ्रेमवर्क पायथन निर्माण के लिए समर्थन जोड़ा गया था, साथ ही साथ मैक ओएस एक्स के साथ पायथन वितरण के लिए बाद में समर्थन शामिल किया गया था। इन परिवर्तनों के साथ प्रोजेक्ट बिल्डर के साथ उपयोग के लिए स्टैंडअलोन कोको अनुप्रयोगों के लिए परियोजना टेम्पलेट आए, जो वर्तमान ऐप्पल प्लेटफॉर्म आईडीई, एक्सकोड के पूर्ववर्ती थे। एप्पल ने 2007 में मैक ओएस एक्स में पायओबीजेसी को शामिल किया, मैक ओएस एक्स 10.5 तेंदुए के विमोचन के साथ। संदेश और विधियाँ उद्देश्य-सी में, वस्तुएँ संदेश भेजकर एक दूसरे के साथ संवाद करती हैं, जो अन्य वस्तु-उन्मुख भाषाओं में विधि कॉल के समान है। जब किसी वस्तु को कोई संदेश प्राप्त होता है, तो वह संदेश के नाम या चयनकर्ता को देखता है, और उसे उसी चयनकर्ता द्वारा निर्दिष्ट विधि के साथ मिलाता है, जिसे वह फिर बुलाता है। इन संदेश अभिव्यक्तियों के लिए वाक्यविन्यास स्मॉलटॉक से विरासत में मिला है, और एक वस्तु के रूप में दिखाई देता है, जिसे रिसीवर कहा जाता है, जिसे संदेश के नाम या चयनकर्ता के बाईं ओर रखा जाता है, और दोनों वर्ग कोष्ठक की एक जोड़ी के भीतर संलग्न होते हैं (वर्ग कोष्ठक वाक्यविन्यास स्मॉलटॉक से विरासत में नहीं मिला है)। एक चयनकर्ता के भीतर कॉलम इंगित करते हैं कि यह एक या अधिक तर्कों को स्वीकार करता है, प्रत्येक कोलन के लिए एक। कोड पठनीयता में सुधार करने के उद्देश्य से, कोलन को चयनकर्ता के भीतर इस तरह रखा जाता है कि जब आवश्यक तर्क स्थान पर होते हैं, तो अभिव्यक्ति का इरादा स्पष्ट होता हैः [मायलिटलडक मेकसमनोइजः क्वैक आईज़ क्लोज्डः @YES ऑनवनफूटः @YES]; यह पायथन में उपयोग किए जाने वाले वाक्यविन्यास से अलग है, और कई अन्य भाषाओं में, जहां एक समकक्ष अभिव्यक्ति पढ़ी जाएगीः myLittleDuck.makeSomeNoise_eyesClosed_onOneFoot_ (क्वैक, ट्रू, ट्रू) उद्देश्य-सी चयनकर्ताओं को पायथन विधि नामों में अनुवाद करना प्रत्येक कोलन को एक एकल कोलन के साथ बदलकर और अंत में कोष्ठक की एक जोड़ी के भीतर तर्कों को सूचीबद्ध करके पूरा किया जाता है, जैसा कि ऊपर दिखाया गया है। वर्ग उद्देश्य-सी वर्गों को सामान्य पायथन वर्ग के समान ही उपवर्गीकृत किया जाता हैः वर्ग माईडक (एन. एस. ओ. ऑब्जेक्ट): #एन. एस. ओ. ऑब्जेक्ट एक आधार उद्देश्य-सी वर्ग है। डेफ इनिट (सेल्फ): सेल्फ = सुपर (माईडक, सेल्फ). इनिट () #एक उद्देश्य-सी मुहावरा, जिसमें #सबक्लास उदाहरण, सेल्फ, को सुपरक्लास को अपना #नामित आरंभकर्ता भेजकर तुरंत #किया जाता है। रिटर्न सेल्फ मायलिटलडकवन = MyDuck.alloc (). init () यह भी देखें libffi RubyCocoa संदर्भ बाहरी लिंक Xcode 4.0 पायथन (प्रोग्रामिंग भाषा) पुस्तकालयों पर रोनाल्ड ऑसोरेन की चेतावनी macOS प्रोग्रामिंग उपकरण