أساسيات لغة البرمجة Objective C

الكاتب: سامي -
أساسيات لغة البرمجة Objective C
"محتويات
? ما هي لغة البرمجة
? ما هي لغة البرمجة Objective C
? من ماذا تتكون لغة البرمجة Objective C؟
?.? أنواع البيانات الأساسية
?.? المتغيرات
?.? المعرف
? مزايا وعيوب لغة البرمجة Objective C
?.? ما هي مزايا لغة البرمجة Objective C؟
?.? ما هي عيوب لغة البرمجة Objective C؟
? الفرق بين Objective C و Swift
ما هي لغة البرمجة

تعرف لغة البرمجة بأنها لغة أو مجموعة من الأوامر التي يستخدمها مبرمجو الحواسيب لتصميم وتطوير التطبيقات أو البرامج أو مجموعات أخرى من التعليمات لتقوم بتنفيذها أجهزة الكمبيوتر، كما تمتلك كل لغة من لغات البرمجة مجموعة من الخصائص التي تميزها عن غيرها، وعندما يتعلم المبرمج القواعد وبنية اللغة وبناء الجمل، فيمكنه كتابة شيفرة المصدر للبرامج في محرر النصوص أو في بنية التطوير المتكاملة IDE، ثم يقوم بترجمة الشيفرة إلى اللغة التي يمكن أن يفهمها الكمبيوتر.

ومع تطور أجهزة الكمبيوتر تمكن المبرمجون من تطوير المئات من لغات برمجة الكمبيوتر المختلفة لأغراض مختلفة من التطوير، فعلى سبيل المثال يمكن استخدام لغة البرمجة ++C أو Java لتطوير التطبيقات والبرامج كمتصفح الإنترنت، ويمكن استخدام لغة البرمجة AIML أو Python لتطوير برمجيات الذكاء الاصطناعي كألعاب الكمبيوتر، أو استخدام لغة البرمجة JavaScript أو Perl لإنشاء صفحات الويب أو تطبيقات الإنترنت أو المهام الأخرى المتعلقة بالإنترنت ومنها أيضًا لغة البرمجة Objective C التي سيوضحها هذا المقال.

ولمعرفة المزيد عن لغات البرمجة وخصائصها يمكن قراءة المقال الآتي: خصائص لغات البرمجة.

ما هي لغة البرمجة Objective C

تعرف لغة البرمجة Objective C بأنها إحدى لغات البرمجة التي يتم استخدامها في أنظمة التشغيل OS X و iOS وواجهة برمجة التطبيقات الخاصة بها (APIs)، كما تعد لغة Objective C بأنها لغة كائنية التوجه وتضيف ميزات جديدة في لغة برمجة C، ولقد تم تطوير هذه اللغة من قبل Brad Cox و Tom Love في شركتهما Stepstone في ثمانينيات القرن العشرين، ولقد تم استخدام هذه اللغة بشكلٍ كبير في ذلك الوقت على أجهزة كمبيوتر NeXT، ومن ثم تم ربط لغة البرمجة Objective C مع لغة Smalltalk بهدف توسيع قابلية استخدام كلتا اللغتين.




تم تطوير لغة Objective C بشكلٍ أساسي لتوفير رسائل بأسلوب حديث صغير إلى لغة البرمجة C، كما يمكن لمستخدمي هذه اللغة تحديد بروتوكول من خلال الإعلان عن الفئات وأعضاء البيانات، إذ يمكن جعلها عامة وخاصة ومحمية، ومن الجدير بالذكر أنه قد تم تطوير لغة Swift لتحل محل لغة Objective C في عام 2014.

على الرغم من ذلك إلا أن هنالك الكثير من الشركات التي لا تزال تحتفظ بتطبيقاتها القديمة المبرمجة بلغة Objective C، ويكمن الفرق بين لغتي البرمجة Objective C ولغة C، بأن لغة C لغة برمجة إجرائية لا تدعم مفاهيم الكائنات والفئات، بينما تعد لغة Objective C لغة موجهة للكائنات تشمل كل من لغات البرمجة الإجرائية واللغات الموجهة للكائنات، كما تعد لغة Objective C لغة آمنة مقارنةً مع لغة C، وذلك لأنها تستخدم مؤشرات فارغة في عمليات البرمجة، ومن الجدير بالذكر أنه في حال كان الغرض من تعلم لغة البرمجة هو المتعة، فيفضل تعلم لغة Swift، حيث تعد هذه اللغة جيدة للمبتدئين لعدم التعثر في بناء الجملة والتركيز بسهولة أكبر على بناء التطبيق نفسه، كما يمكن باستخدام لغة Swift إنتاج كود جيد بجهد أقل.




عادةً ما تستخدم لغة Objective C مؤشرات فارغة، وبالتالي ستكون أكثر أمنًا من لغة C، ومن الجدير بالذكر أن هذه اللغة تتبع أسلوب البرمجة من أسفل إلى أعلى على عكس لغة البرمجة C التي تتبع أسلوب البرمجة من أعلى إلى أسفل، كما يتم تقسيم أكواد البرامج الكبيرة عند استخدام لغة Objective C إلى أكواد أصغر تسمى الكائنات والفئات، كما تتميز لغة Objective C بأن متغيرات اللغة يمكن الإعلان عنها في أي مكان في البرنامج، بينما يتم الإعلان عن المتغيرات في لغة C في بداية البرنامج، كما تدعم هذه اللغة تحديد الوظائف المراد تطبيقها باستخدام الوسائط الافتراضية كما تدعم الوظائف المضمنة والحمل الزائد للمشغل، ومن أهم ميزات لغة البرمجة Objective C إمكانية تشغيل مواد لغات برمجة أخرى.




من ماذا تتكون لغة البرمجة Objective C؟

كباقي لغات البرجمة الأخرى فإنّ لغة Objective C تم تطويرها باستخدام ثلاثة مكونات رئيسة وهي؛ المتغيرات والمعرف وأنواع البيانات الأساسية، وفيما يأتي سيتم الحديث عن مكونات لغة البرمجة Objective C:




أنواع البيانات الأساسية

تتشكل أنواع البيانات الأساسية المكونة للغة البرمجة Objective C من ستة أنواع بيانات تقسم إلى؛ بيانات رقمية أي أنها بيانات بسيطة ومباشرة نسبيًا وهي؛ int وfloat وBOOL وchar، وأخرى أنواع بيانات أكثر تعقيدًا وهي؛ NSString وNSNumber، وفيما يأتي سيتم الحديث عن أنواع البيانات الأساسية للغة البرمجة Objective C:

int: وهي جميع الأعداد الصحيحة التي لا تحتوي على أرقام عشرية وتتضمن الصفر والأرقام السالبة.
float: قيم حقيقية ذات العلامة العائمة والدقة العادية والتي تتضمن أكبر عدد ممكن من الأعداد العشرية، ويمكن أن تكون هذه القيم غير دقيقة من الناحية الفنية، وذلك لأن مكان القيم العشرية يمكن أن يتغير.
BOOL: وهي القيم المنطقية TRUE وFALSE.
char: تستخدم لتخزين حرف واحد أو رمز واحد مثل؛ الحرف A أو الرمز #، ومن الجدير بالذكر أن الأحرف الصغيرة تختلف عن الأحرف الكبيرة، لذا فإن a حرف و A حرف آخر.
NSString: وهي مجموعة من الأحرف مجمعة معًا لإنشاء نص، كلافتة معلقة في حفلة.
NSNumber: وهي فئة مجمعة توفر ميزات موجهة للكائنات لأنواع الأرقام الأولية المذكورة أعلاه.





 
المتغيرات

تعرف المتغيرات بأنها الحاوية الأساسية المستخدمة في حفظ البيانات، فعند إنشاء متغير في Objective C يجب تحديد نوع البيانات التي سيحتويها، فعلى سبيل المثال إذا كان الغرض من المتغير أن يحتوي على رقم فيجب تحديد ذلك، ولن يتم حفظ أي شيء آخر في هذا المتغير، فعلى سبيل المثال يتم الإعلان عن المتغير على النحو الآتي:


؛int favoriteNumber = 24

حيث تعبر الكلمة الأولى int عن نوع البيانات الذي سيحتويها هذا المتغير وهي أعداد حقيقية صحيحة، بينما تمثل الكلمة الثانية favoriteNumber اسم المتغير، حيث يمكن أن يكون اسم المتغير أي شي، ولكن يجب ألا يحتوي على أية مسافات أو أحرف خاصة وألا يبدأ برقم، ثم يتم إدخال علامة المساواة الرياضية = وهي عبارة عن عامل التشغيل والتي تستخدم لتعيين قيم للمتغيرات، ويلي ذلك يتم إدخال القيمة المراد تحديدها والتي يجب أن تكون عدد صحيح، ثم يتم إدخال فاصلة منقوطة ؛ في نهاية السطر والتي تعبر عن إنهاء إنشاء المتغير، وبالتالي يجب أن تنتهي كل عبارة في لغة Objective C بفاصلة منقوطة.




المعرف

المعرف هو جزء من الكتابة الديناميكية، فمن المعروف بأن لغة الترجمة Objective C لغة مكتوبة بشكل ثابت، أي أن نوع البيانات التي ستحتويها كل متغير يتم الإعلان عنها مقدمًا، وعلى الرغم من ذلك إلى أن لغة Objective C تعرف بأنها لغة ديناميكية، حيث يمكن قراءة التعليمات البرمجية وتعديلها أثناء تشغيل التطبيقات، إذ يتم استخدام ما يعرف بالمعرف ID لتمثيل متغير يمثل كائنًا دون تحديد نوع الكائن، ويشار لهذه الخاصية باسم الكتابة الديناميكية، حيث يمكن من خلالها التحقق من نوع الكائن في وقت التشغيل وبالتالي التحقق من ملاءمته لعملية معينة.




مزايا وعيوب لغة البرمجة Objective C

تعد لغة Objective C واحدة من أهم لغات البرمجة التي تستخدمها Apple لبرمجة تطبيقات نظام iOS، حيث تتميز هذه اللغة بكونها مجموعة شاملة من لغة البرمجة C، وبالتالي ستوفر القدرة للمطورين على أن يكونوا أكثر توجهًا نحو التفاصيل بالإضافة إلى دعم أكثر للكائنات واللغات الأخرى، كما تتميز هذه اللغة بإدارة ذاكرة جيدة، حيث يقوم بعض المبرمجين بتحويل كود Objective-C إلى كود ثابت، ومن ثم تقوم هذه اللغة بفرز المعلومات المفيدة وغير المفيدة في فئتين منفصلتين، وعلى الرغم من تطوير لغة Objective C في ثمانينيات القرن العشرين، إلا أنها لا تزال تتمتع بالعديد من الميزات التي تستخدم في تطوير تطبيقات الهواتف المحمولة الخاصة بنظام iOS، وفيما يأتي سيتم الحديث عن مزايا وعيوب لغة البرمجة Objective C:

ما هي مزايا لغة البرمجة Objective C؟

تتمتع لغة البرمجة Objective C بالعديد من المزايا التي تميزها عن غيرها من لغات البرمجة الأخرى، وهي واحدة من أكثر لغات البرمجة استقرارًا، وفيما يأتي ذكر لمزايا لغة البرمجة Objective C:

إمكانية التشغيل البيني مع لغة البرمجة ++C و ++Objective C.
ميزات ديناميكية مثل طريقة الدوران.
دعم أكثر موثوقية لترميز الأطر الثنائية.




ما هي عيوب لغة البرمجة Objective C؟

على الرغم من أن لغة البرمجة Objective C هي واحدة من أهم لغات البرمجة وأكثرها استقرارًا إلا أن هذه اللغة لا تخلو من العيوب، حيث هنالك بعض العيوب الشائعة في استخدام لغة Objective C، وفيما يأتي ذكر لأبرز هذه العيوب:

تتسبب القدرة على إرسال رسالة على كائن صفري دون تعطل وعدم وجود كتابة صارمة إلى أخطاء يصعب تتبعها وإصلاحها.
لغة Objective C لغة مطولة ومعقدة من الناحية التركيبية، ويعود السبب في ذلك لكونها لغة قديمة إلى حد ما.
تحتوي لغة البرمجة Objective C على مؤشرات صريحة.
نظرًا لأن لغة Objective-C مبنية على لغة البرمجة C، فإنها تفتقر إلى مساحة الاسم، إذ يجب أن تكون جميع الفئات في تطبيق Objective-C فريدة من نوعها في جميع أنحاء العالم.




الفرق بين Objective C و Swift

عند الرغبة بتعلم كيفية إنشاء تطبيقات iOS يجب أولًا تحديد لغة البرمجة التي يجب تعلمها لإنشاء هذه التطبيقات، حيث تختلف كل لغة برمجة عن الأخرى في الوظائف التي تقدمها، فعلى سبيل المثال بالنسبة للغة Objective C و لغة Swift، في حال كان الهدف من تعلم اللغة هو إنشاء تطبيق شديد التحمل أو العمل لدى شركة لديها تطبيق موجود بالفعل في App Store، فيجب تعلم لغة Objective-C، وذلك لكون لغة Swift حديثة بعض الشيء، كما أن معظم التطبيقات الحالية مدمجة بلغة Objective C، وعند تعديل التطبيقات الحالية أو تحويلها إلى Swift يجب فهم كود لغة Objective C، وإضافةً إلى ذلك لا تزال لغة Swift تحتوي على العديد من الأخطاء التي يتم إصلاحها عن طريق التحديثات.

يمكن القول إذًا بأن لغة Objective C لغة أكثر استقرارًا مقارنة بلغة Swift، وفيما يأتي بعض الفروقات بين لغة Objective C ولغة Swift:

تعد لغة Swift أحدث لغة برمجة تم تطويرها من قبل شركة أبل والتي يمكن أن تعمل على أنظمة تشغيل متعددة المنصات مثل Linux و Darwin و Free BSD وغيرها، بينما تعد لغة Objective C لغة برمجة موجهة للأغراض العامة تستخدمها أبل في أنظمة التشغيل و APIs Cocoa.
تحتوي لغة Swift على العديد من ميزات البرمجة كأنماط البرمجة الآمنة وبناء الجمل مثل Objective C والوصول الكامل إلى أطر عمل Cocoa، بينما يدعم Objective C أيضًا نفس الميزات مثل C ++ باستثناء STL ويتضمن الأطر التأسيسية.
تحتوي لغة Swift على ميزات إجرائية موجهة للكائنات في لغته والوظائف المضمنة في مكتبته، بينما تحتوي لغة Objective C على أنواع بيانات مختلفة ورموز للتعرف على المعرفات والإعلانات والتعيينات والمعالج المسبق لتحديد الثوابت.
تدعم لغة Swift القواميس والوظائف والتعداد والتراكيب، بينما يدعم Objective C الوضع والإضافات والربط الديناميكي والبروتوكولات والكائنات المركبة وإدارة الذاكرة والتعداد.
تدعم لغة Swift التسلسل الاختياري، والتلبيس، والبروتوكولات، والنصوص، بينما تدعم Objective C الإرسال الديناميكي، والتوليد التلقائي للوصول إلى متغيرات الأعضاء وخصائصهم، كما تسمح للطريقة والاسم بمشاركة نفس المعرف.
يمكن معالجة الأخطاء في لغة Swift باستخدام البروتوكولات لتجنب التدفق غير المتوقع للتحكم في البرنامج، بينما لا تحتوي لغة Objective C على شيء يمكن معالجته بأمان بطريقة قوية عن طريق إرسال رسائل إلى كائنات معدومة.
"
شارك المقالة:
450 مشاهدة
هل أعجبك المقال
0
0

مواضيع ذات محتوي مطابق

التصنيفات تصفح المواضيع
youtubbe twitter linkden facebook