निश्चित रूप से, यदि आपने अपने जीवन में जो कुछ भी देखा है वह वस्तुनिष्ठ सी है, तो इसका सिंटैक्स एकमात्र संभव जैसा दिखता है। हम आपको "प्रोग्रामिंग वर्जिन" कह सकते हैं।
लेकिन चूंकि बहुत से कोड C, C ++, Java, जावास्क्रिप्ट, पास्कल और अन्य भाषाओं में लिखे गए हैं, आप देखेंगे कि ObjectiveC उन सभी से अलग है, लेकिन अच्छे तरीके से नहीं। क्या उनके पास इसका कोई कारण था? आइए देखें अन्य लोकप्रिय भाषाएँ:
C ++ ने C में बहुत अधिक अतिरिक्त जोड़े, लेकिन इसने मूल सिंटैक्स को केवल आवश्यकतानुसार बदल दिया।
C # ने C ++ की तुलना में बहुत अधिक एक्सट्रैस जोड़े लेकिन यह केवल उन चीजों को बदल दिया जो C ++ में बदसूरत थे (जैसे इंटरफ़ेस से "::" को निकालना)।
जावा ने बहुत सी चीजों को बदल दिया, लेकिन इसमें उन हिस्सों को छोड़कर परिचित सिंटैक्स रखा गया जहां परिवर्तन की आवश्यकता थी।
जावास्क्रिप्ट एक पूरी तरह से गतिशील भाषा है जो कई चीजें कर सकती है जो उद्देश्य नहीं कर सकते हैं। फिर भी, इसके रचनाकारों ने कॉलिंग विधियों और पासिंग मापदंडों के एक नए तरीके का आविष्कार नहीं किया जो कि बाकी दुनिया से अलग हो।
Visual Basic, ObjectiveC की तरह ही पैरामीटर को क्रम से बाहर कर सकता है। आप मापदंडों को नाम दे सकते हैं, लेकिन आप उन्हें नियमित रूप से भी पारित कर सकते हैं। जो भी आप उपयोग करते हैं, वह सामान्य अल्पविराम-सीमांकित तरीका है जिसे हर कोई समझता है। केवल प्रोग्रामिंग भाषाओं में ही नहीं, बल्कि पुस्तकों, समाचार पत्रों और सामान्य रूप से लिखित भाषा में कोमा सामान्य परिसीमन है।
ऑब्जेक्ट पास्कल में C की तुलना में एक अलग सिंटैक्स है, लेकिन इसका सिंटैक्स वास्तव में प्रोग्रामर के लिए पढ़ने के लिए आसान है (शायद कंप्यूटर के लिए नहीं, लेकिन जो कंप्यूटर को लगता है कि परवाह करता है)। इसलिए शायद वे पचा गए, लेकिन कम से कम उनका परिणाम बेहतर है।
पायथन में एक अलग वाक्यविन्यास है, जो पास्कल की तुलना में (मनुष्यों के लिए) पढ़ना आसान है। इसलिए जब उन्होंने इसे बदल दिया, तो इसे अलग बना दिया, कम से कम उन्होंने इसे हमारे प्रोग्रामर के लिए बेहतर बना दिया।
और फिर हमारे पास ObjectiveC है। C में कुछ सुधार जोड़ रहे हैं, लेकिन अपने स्वयं के इंटरफ़ेस सिंटैक्स, विधि कॉलिंग, पैरामीटर पासिंग और क्या नहीं का आविष्कार कर रहे हैं। मुझे आश्चर्य है कि उन्होंने + और - को स्वैप क्यों नहीं किया ताकि प्लस दो संख्याओं को घटाए। यह और भी अच्छा होता।
स्टीव जॉब्स ने ऑब्जेक्टिव का समर्थन करते हुए अपना जलवा बिखेरा। बेशक वह C # का समर्थन नहीं कर सकता है, जो बेहतर है, लेकिन अपने सबसे खराब प्रतियोगी के अंतर्गत आता है। इसलिए यह एक राजनीतिक निर्णय है, व्यावहारिक नहीं। तकनीक हमेशा पीड़ित होती है जब राजनीतिक कारणों से तकनीकी निर्णय किए जाते हैं। उसे कंपनी का नेतृत्व करना चाहिए, जो वह अच्छा करता है, और वास्तविक मामलों के लिए प्रोग्रामिंग मामलों को छोड़ देता है।
मुझे यकीन है कि iPhone के लिए और भी अधिक ऐप होंगे अगर उसने iOS और लेखन पुस्तकालयों को ObjectiveC के अलावा किसी अन्य भाषा में लिखने का फैसला किया। डाई-हार्ड प्रशंसकों, वर्जिन प्रोग्रामर और स्टीव जॉब्स को छोड़कर सभी के लिए, ObjectiveC हास्यास्पद, बदसूरत और प्रतिकारक दिखता है।