PyObjC
પી. ઓ. બી. જે. સી. એ પાયથોન અને ઓબ્જેક્ટિવ-સી પ્રોગ્રામિંગ ભાષાઓ વચ્ચે દ્વિદિશાત્મક સેતુ છે, જે પ્રોગ્રામરોને પાયથોનનો ઉપયોગ કરીને એપલના કોકોઆ માળખા જેવી હાલની ઓબ્જેક્ટિવ-સી લાઈબ્રેરીઓનો ઉપયોગ અને વિસ્તરણ કરવાની મંજૂરી આપે છે. પી. ઓ. બી. જે. સી. નો ઉપયોગ શુદ્ધ પાયથોનમાં મેકઓએસ કાર્યક્રમો વિકસાવવા માટે થાય છે. જીએનયુસ્ટેપ માટે પણ મર્યાદિત ટેકો છે, જે એક ઓપન સોર્સ, કોકોના ક્રોસ-પ્લેટફોર્મ અમલીકરણ છે. પાયથોન પ્રોગ્રામરો માટે પી. ઓ. બી. જે. સી. નો સૌથી મહત્વપૂર્ણ ઉપયોગ પ્રોગ્રામરોને શુદ્ધ પાયથોનમાં કોકોઆ લાઈબ્રેરીઓનો ઉપયોગ કરીને જી. યુ. આઈ. કાર્યક્રમો બનાવવા માટે સક્ષમ કરે છે. તદુપરાંત, સી પ્રોગ્રામિંગ લેંગ્વેજ (તે એક શુદ્ધ સુપરસેટ છે) સાથે ઓબ્જેક્ટિવ-સીના નજીકના સંબંધની અસર તરીકે, વિકાસકર્તાઓ કોઈપણ સી-આધારિત એપીઆઈને ઓબ્જેક્ટિવ-સી આવરણ સાથે લપેટીને અને પછી વીંટાળેલા કોડનો ઉપયોગ કરીને તેનો સમાવેશ કરી શકે છે. ઓબ્જેક્ટિવ-C + + નો ઉપયોગ કરીને, તે જ C% 2B% 2B લાઈબ્રેરીઓ સાથે કરી શકાય છે. ઓબ્જેક્ટિવ-સી પ્રોગ્રામરો માટે કોકો વિકાસકર્તાઓને પણ ફાયદો થઈ શકે છે, કારણ કે પાયથોનમાં લખાયેલા કાર્યો સામાન્ય રીતે ઓબ્જેક્ટિવ-સી સમકક્ષ કરતા ઓછી રેખાઓ લે છે. આનો ઉપયોગ તેમના લાભ માટે થઈ શકે છે કારણ કે તે ઝડપી પ્રોટોટાઇપિંગને સક્ષમ કરે છે. પાયઓબીજેસીની ઉત્પત્તિ 1996 માં થઈ હતી, જ્યારે લેલ ગેફેક્સે તે વર્ષના સપ્ટેમ્બરમાં મૂળ મોડ્યુલ બનાવ્યું હતું. શ્રેય મેળવનારાઓમાં પાયથોન પ્રોગ્રામિંગ લેંગ્વેજના નિર્માતા ગુઇડો વાન રોસમ હતા. પી. ઓ. બી. જે. સી. ને 2002 માં ફરીથી લખવામાં આવ્યું હતું. નોંધપાત્ર ઉમેરાઓમાં પાયથોનમાંથી ઓબ્જેક્ટિવ-સી વર્ગોને સીધા પેટા વર્ગ કરવાની ક્ષમતા અને ફાઉન્ડેશન, એપ કિટ અને એડ્રેસ બુક માળખા માટે લગભગ સંપૂર્ણ સમર્થનનો સમાવેશ થાય છે. પાછળથી તે જ વર્ષે, નોન-ફ્રેમવર્ક પાયથોન બિલ્ડ માટે સપોર્ટ ઉમેરવામાં આવ્યો હતો, તેમજ મેક ઓએસ એક્સ સાથે સમાવિષ્ટ પાયથોન વિતરણ માટે અનુગામી સપોર્ટ ઉમેરવામાં આવ્યો હતો. આ ફેરફારોની સાથે વર્તમાન એપલ પ્લેટફોર્મ IDE, Xcode ના પુરોગામી પ્રોજેક્ટ બિલ્ડર સાથે ઉપયોગ કરવા માટે સ્વતંત્ર કોકો એપ્લિકેશન્સ માટે પ્રોજેક્ટ નમૂનાઓ આવ્યા. એપલે 2007માં મેક ઓએસ એક્સ 10.5 ચિત્તાના પ્રકાશન સાથે મેક ઓએસ એક્સમાં પી. ઓ. બી. જે. સી. નો સમાવેશ કર્યો હતો. સંદેશાઓ અને પદ્ધતિઓ ઓબ્જેક્ટિવ-સીમાં, ઓબ્જેક્ટો સંદેશાઓ મોકલીને એકબીજા સાથે વાતચીત કરે છે, જે અન્ય ઓબ્જેક્ટ-ઓરિએન્ટેડ ભાષાઓમાં મેથડ કોલ્સ સમાન છે. જ્યારે કોઈ ઓબ્જેક્ટ સંદેશ મેળવે છે, ત્યારે તે સંદેશનું નામ અથવા પસંદગીકાર જુએ છે, અને તેને તે જ પસંદગીકાર નિયુક્ત પદ્ધતિ સાથે મેળ ખાય છે, જેને તે પછી બોલાવે છે. આ સંદેશ અભિવ્યક્તિઓ માટેનું વાક્યરચના સ્મોલટૉકમાંથી વારસામાં મળે છે, અને સંદેશના નામની ડાબી બાજુએ અથવા પસંદગીકાર તરીકે ઓળખાતી વસ્તુ તરીકે દેખાય છે, અને બંને ચોરસ કૌંસની જોડીમાં બંધ હોય છે (ચોરસ કૌંસ વાક્યરચના સ્મોલટૉકમાંથી વારસામાં મળતી નથી). પસંદગીકારની અંદરના કોલોન સૂચવે છે કે તે એક અથવા વધુ દલીલો સ્વીકારે છે, દરેક કોલોન માટે એક. કોડ વાંચનીયતામાં સુધારો કરવાના હેતુથી, કોલોનને પસંદગીકારની અંદર એવી રીતે મૂકવામાં આવે છે કે જ્યારે જરૂરી દલીલો સ્થાને હોય, ત્યારે અભિવ્યક્તિનો ઉદ્દેશ સ્પષ્ટ હોયઃ [માયલિટલડક મેકસોમ્નોઇઝઃ ક્વેક આઇઝ ક્લોઝ્ડઃ @YES ઓનવનફૂટઃ @YES]; આ પાયથોનમાં ઉપયોગમાં લેવાતા વાક્યરચનાથી અલગ છે, અને અન્ય ઘણી ભાષાઓમાં, જ્યાં સમકક્ષ અભિવ્યક્તિ વાંચશેઃ myLittleDuck.makeSomeNoise_eyesClosed_onOneFoot_ (ક્વેક, ટ્રુ, ટ્રુ) ઉદ્દેશ-સી પસંદગીકારોને પાયથોન પદ્ધતિના નામોમાં અનુવાદિત કરવું દરેક કોલોનને એક જ કોલોન સાથે બદલીને અને અંતે કૌંસની જોડીમાં દલીલોને સૂચિબદ્ધ કરીને પૂર્ણ કરવામાં આવે છે, જેમ ઉપર દર્શાવેલ છે. વર્ગો ઉદ્દેશ્ય-સી વર્ગોને સામાન્ય પાયથોન વર્ગની જેમ જ પેટા વર્ગીકૃત કરવામાં આવે છેઃ વર્ગ માયડક (એનએસઓબ્જેક્ટ): #એનએસઓબ્જેક્ટ એ મૂળભૂત ઉદ્દેશ્ય-સી વર્ગ છે. ડેફ ઇનિટ (સેલ્ફ): સેલ્ફ = સુપર (માયડક, સેલ્ફ). ઇનિટ () #એક ઓબ્જેક્ટિવ-સી રૂઢિપ્રયોગ, જેમાં #સબક્લાસ ઇન્સ્ટન્સ, સેલ્ફ, સુપરક્લાસને તેનું #નિયુક્ત ઇનિશિયલાઈઝર મોકલીને ત્વરિત થાય છે. રીટર્ન સેલ્ફ માયલિટલડકવન = MyDuck.alloc (). ઇનિટ () આ પણ જુઓ libffi RubyCocoa સંદર્ભો બાહ્ય લિંક્સ Xcode 4.0 પાયથોન (પ્રોગ્રામિંગ લેંગ્વેજ) લાઈબ્રેરીઓ પર રોનાલ્ડ ઓસોરેનની ચેતવણી મેકઓએસ પ્રોગ્રામિંગ ટૂલ્સ