مجلة الرابط - العدد 1 سيبتصبر 2015
قصة ظهور قاصمة الظهور
البرمحة الكائنية التوجه
في بداية عصر المعلوميات لم تكن البرامج
سوى أوامر متسلسلة مكتوبة بلغة
للنشل اظة02 لتعهمل على مختلف
أنظمة التشغيل بل حتى على نفس نظام
التشغيل كانت تختلف أوامر لغة
الأسمبلي حسب نوع المعالج 20206865507
(30] مما يجعل البرتامج الواحد المكتوب
بلفغة الأسمبلي حكرا على عائلة واحدة من
المعالجات, لذتك ستسمع عدة نسخ من لغة
الأسمبلي حسب نوع المعالجات مثل لغة
أو الخاصة ب 0-32| |1018 أو الخاصة ب -8/1|
70 وغير ذلك
فكما نعلم جميعا يثم تخزين الأوامر في
الذاكرة الرئيسية على شكل بيانات ثنائية
فيأتي المعالج ليقوم بتنفيذها بدء بأول أمر
نهاية البرنامج فيقوم بإرسال النتيجة إلى
جهاز الإخراج اللخصص لذلك (الشاشة
مابعرضه اتشكل التالي:
تحقيل البزنامج في الذاكرة
مراحل تتفيدذ البرنامح بواسطة الممالح
تقوم بها البرامج فيمكن أن نعدها على
رؤوس الأصابع:
* قراءة البيانات وتخزينها في الذاكرة
* تغيير عناوين البيانات 80265565 على
الذاكرة عبر التعا المتغيرات
*القيام بالعمليات الحسابية (الجمع
دن نتيجة الشرط
مع تطور المعلوميات وزيادة الحاجة إلى برامج
وأنظمة معقدة, والحرص على التركيز على
حل المشاكل البرمجيبة بدل التركيز على حل
مشاكل كتابة الأوامر, ظهر نوع جديد من
لغات البرمجة متقدم نسبيا, غير مرتبط
بنوع معين من المعالجات (لأن عملية التحويل
برامج وسيطة تسمى مترجمات 40701162 /
مفسرات 0160026162) وبقدم أوامر قريبة
نوعا ما من اللغة البشرية إضافة إلى كونه
يسمح بتقسيم البرنامج إلى أجزاء وعند
المنضوية خته وسمي هذا النوع من اللغات
النمط الإجرائي حيث يتم جميع الأوامر
داخل نفس البرنامج على شكل إجراءات
65 بغرض تفادي إعادة كتابة
الأوامر من جهة وبغرض تسهيل عملية
مجلة الرابط - العدد 1 سبتمبز 2015
كتابة وصيانة الكود من جهة أخرى
عديدة تعل أبرزها على الإطلاق لغة سي )
ثم ما يردفها من لغات تمشي على نفس
المنوال متل لغقة باسكال [8568 فورتران
واستمرت الأنماط البرمجية في التقدم إلى
أن ظهر نمط جديد يسمى البرمجة الكائتية
التوجه 100 0189:5011 0180160 ععزط0
والمعروف اختصارا ب 008 وكان أول ظهور
له في بداية الستينات من القرن المنصرم
سنة 1960 في مجال الذكاء الصناعي -8]1
1018/0608 63 (وهو مجال معلوماتي
متفرع من علم الحخاسب ويرتكز بالأساس
على صناعة أنظمة ذكية تهدف إلى رفع
مستوى النجاح البرمجي)
جاءت البرمجة الكائنية كنمط برمجي
يهدف إلى حل مشكلة الأنظمة المعقدة
عبر اعتماد مجموعة من التدابير البرمجية
التي تهدق إلى تقسيم الشاكل الكبيرة
إلى مشاكل صغيرة ليبسهل حلها وكذلتك
من خلال ل#عتهاد على مفههوم الكائن
0 في جميع الببانات بحيث يتم اعتبار
كل وحدة مستقلة بذاتها نوعا شاملا
يصطلح عليه بالفئة 1355 هذه الأخيرة
تشمل جميع الخصائص 8165م6:0
والوظائف 11610005 والأحداث 785015 التي
يتميز بها الكاثن الذي بدوره يعد نسخة -0|
8 من الفئة
لهذه الأسباب يي
يفشل الناس ب
في البرمجة
تفتر وبهمة لد لحن كان يسعى إلى
يسعى إلى أن يجمع بين هاتين الملكتين؛
عقل قوي يقهر الخوارزميات؛ وجيب ثري
يحقق أسباب العيش الكريم
بقلم: خالد السعداني
مضت سنون طوال و "شادي" يداعب توحة المفاتيح ويعبث بالأكواد بعزمة متقدة لا تفتثر, وبهمة
غيتس كان يسعى إلى أن يجمع بين هاتين الملكتين عقل قوي يقهر الخوارزميات, وجيب ثري يحقق
أسباب العيش الكريم
كان مقبلا على هذا النجاح التجريدي إقبال الظامىء على الماء البارد في أليوم القانظ, قلا يرى دورة
حاسوبه الخاص مكتبة غنية بالمصادر بينما عقله منشفة تبتل بالأكواد ثم جف
ينسخ السورس كود ويغير تصميم الواجهات بحثا عن إرضاء نفسه وإبهار أقرانه قيبتسم في
حبور وفخر وفي داخل قرارة نفسه يردد؛ تبا لي من غبي, ألهذا أنهكت عقلي وبدني؟
استمر به الحال حينا من الزمن حتى ضجر من وضعه, وكره أن يستهر في خداع نقسه, وآن له أن
يصدع بما يختلجه من قلق لعل المحاسبة تفضح العيوب فتنفرج الكروب
توجه إلى كوخ حكيم البرمجة طرق بابه بآدب فقتح له و أذن له بالدخول
ألم تقل لي أن البرمجة سهلة؟ ألم تردد على الدوام أنها مدرة للأرباح؟ للأسف صدفتك وقطعت
مجاة الرابط - العدد 1 سبتمبر 2015
غضبهم تكلم يا حكيم فقد خابت أكوادي وضاع معها مرادي :
ابتسم الحكيم بهدوع ثم تخال لحيته الطويلة البيضاء بأصابعه في برود و"شادي" أمامه تصطك
قرائصه كالصريع
رفع الحكيم رأسه و نظر في عيني شادي وقال له هامسا:
تعلك لم تقهم الدرس يا بتي
ثم واصل بعد أن غير نبرة صوته ليشد انتباه "شادي" إليه
البرمجة عالم خاص يقع بين الفن والعلم فمن ظنها فنا صرفا أمضى عمره ينمق الأكواد ويزين
الواجهات فيتفاجاً حينما يخيب مسعاه لتيعود منها بمثل مايعود به دارس اترياضبات صاحب الخط
فيتصدم لما ينجلي السواد ليعود منها بمثل مايعود به دارس الرسم ذو القهم السليم والذوق
العقيم
لا يستقيمان يا بني البرمجة فن وعلم وإنما أصابك ما أصابكت من فشل وسقوط بسبب تزومك
سكت شادي في اندهاش ثم قطع صمته متسائلا
أولا: العجلة
جافا حتي تقفز إلى لغة بابتون ولا يكاد يستقيم حالك مع برمجة قواعد الببانات في سي شارب
مستهترا وتوجهت إلى لارافيل فأنت ملول عجول تبرمج لتتباهى أمام الأقران فتتتاهى كحطب
الأفران وتتعلم لتماري نفسك فتداري نقصك أما بلقك أن في الثاني السلامة وفي العجلة
الندامة أما وقد أدركت الآن أصل الخلل فاعزم على ترك العجلة في البرمجة فإنها مدعاة إلى
الفشل
ثائيا: كثرة الموارد
فلما نهجث للبرمجة نهج المستعجل أكثرت من جمع الدورات والمحاضرات والدروس والكتب
تقتح المحاضرة ونمرر شريط القراءة لتسمع فقط ما خب سماعه وما يقص به حلقك من معلومات
685ا06 و تفنية و10 وتعدد السارات 116800 ]-لاالا هروب السليم من الأجرب, ولو أدركت
مافي هذه اللفاهيم - وغيرها مما تهرب مته - من الخير تلعضضت عليها بالتواجة
قم بحذف جميع الكتب والدوارت والموارد المعرقية من حاسوبك واحتفظ مصدر واحد فقط لأن
الوقرة تدفع إلى الانتقائية والانتقائية تدقع إلى المماطلة
ثالثا؛ غياب الخطة والرؤية الواضحة
لعل غياب التخطيط يعد من أعظم أسباب الفشل في البرمجة لما له من أثر سريع على أداء
المبرمج لأن غياب التخطيط يعني عدم الجدية قي العمل, فكيف تكون جادا قي تعلم جاقا وأنت
لم تخصص لها وقنا؟ بل كيف تكون جادا في برمجة ألعاب الأندرويد وأنت لم تضع مخططا يوضح
اكتب أهدافك دائما وقم بالتخطيط لكل هدق غبر كتابة الخطوات القضية إليه لكي تنضح
رابعا: السحي إلص الربح السريع
قد تلتزم بالأناة في التعلم وقد ختفظ مصدر معرقي مكتمل وقد تضع مخططا سليما يشمل
مختلف خطوات بلوغ الهدف الذي حددثه لكن بمجره ما تفتح صفحتك على الفيسبوك تطالعك
صورة أمين رغيب وهو يتوشح وساما من حاكم دبي أو صورة لسيمو ليف وهو ينشر شيكا وصله
قتبدأ بالبحث عن كيفية الربح من التسويق الالكتروني ثم تدخل في دوامة جديدة لن تخرج منها
وثْق في الأدوات التي تستخدمها ولا تدافع عنها بعصبية أمام خصومها لأنك لن تقنعهم بأي حال
من الأحوال فهم أيضا متعصبون إلى أدواتهم وبرونها أبهى من ضفائر بثينة
إن كنت تبرمج بلقة سي شارب فلا تنتقص لغة جافا لأن ذلك سفاهة متك و سوء تقدير بل تصرف
نقاش جانبي لأن ذلك من خوارم المروءة قبل أن يكون من خوارم البرمجة
سنادسا: التقليد
في درب النجاح لا مكان للتسخ المكررة إما أن تكون نفسك أو تترك سبيل النجاح وتنهج سبيل
المقلدة الذين لن يضيقوا شيئا جديدا, وأقصى ما يستطيعون تقديمه لن بتجاوز بأي حال من الأحوال
سقف ما قدمه من سبفوهع لأن التقلبد يقتل الإبداع وإذا مات فيك الابداع فلا تفكر
استقد من الكل ولا تقلد أحدا حتى يجتمع فيك ما تفرق في غيرك
مجلة الرابط - العدد 1 سبتمبر 2015
المختصر النافع حول الأنواع المجهولة
الأنواع المجهولة 1/065 00000105 هي طريقة برمجية في لغة سي شارب تتمثل في استخدام
الكلمة 1187 عند التصريح مكان نوع البيانات وذلك بغرض تمكبن المترجم 60010162 من لحقديد نوغ
بيائات المتغير بناء على القيمة البدئيبة المسندة له
وهذه طريقة استخدام الكلمة المحجوزة 87/:
:25 # 6وة اقلا
:6لة) 122160اكا احلا
المترجم سبستنتج أن المتغير الأول 13016 نوع بياناته نصي 541100 بحكم قيمته الأساسية وبنفس
الكيفية سيعلم أن المتغير الثاني رقمي !10 والثالث منطقي [000, للتحقق من ذلك بمكننا
استخدام الوظيفة 6611/06 التي ترجع لنا نوع بيانات الكائن كما بلي:
وستكون النتيجة عند التنفيذ كما يلي:
زا ا اح ران م ا زا
سأمضي في الشرح وكانني كم أقراً تعليقفك (ي) لتواصل يا صديقي
تكنني ارتأيت أن أبسط الأمر لكي نتعرف على دور الكلمة :8لا أما الأن وقد استوعبت ذلك فتعال
بنا نتعرف على الأنواع المجهولة بشكل أعمق قليلا
تسمح لنا الأنواع المجهولة بإتشاء كائنات 006015 في نفس زمن التصريح دون الحاجة إلى إضاعة
الوقت في إنشاء القئات 135565 خصوصا حينما تحتاج إلى استخدام كائن لمرة واحدة في
البرتامج فلا داعي لإتشاء فئة كاملة له ثم استتساخه منها بل بكل بساطة نستخدم الكلمة
ونضع بعدها ما تشاء
سأقوم في المثال اتتالي بإنشاء كائن يشّمل عدة حقول دون أن أحتاج إلى ديد أنواع البيائات ولا إلى
إنشاء الفئات الرئيسية تابع معي:
هكذا بكل بساطة أنشأات كائنا أسميته 815017 دون أن أقوم بإنشاء القئة أو أحدد أنواع الحقول, لو
لو قرأت في ثنايا القيمة الطبوعة ستجد نوع بيانات كل حقل من حقول الكائن المعلن عنه توع
بيانات الحقلبن الأول والثاني 51110 والثالث نوعه رفمي ]7!, والأخير توعه منطقي ا500
هذا من جهة, ومن جهة أخرى سنحتاج إلى استخدام الأنواع ال مجهولة حينما يكون عندنا استعلام
على مصدر بيانات معين وجهل نوع بيانات النتبجة المرجعة