التخطي إلى المحتوى الرئيسي

لغير المبرمجين.. البرمجة كما لم تعتقدها من قبل ! – تبسيط فكرة البرمجة



main



من منا لا يعتقد أن المبرمجين هم كائنات تشبهنا في المظهر فقط؟!، و أنهم يحملون أدمغة خارقة الذكاء و يجب أن تكون شعورهم منسدلة أو هائجة، كما أن ثيابهم غير مرتبة أو غير متناسقة، وحياتهم غير منظمة… أليس هذا هو الوصف الذي تحمله أدمغتنا جميعا لإخوتنا من المبرمجين؟ :D
حسناً!، هذا المقال يثبت لك –على عكس ما تعتقد- ان البرمجة شئ سهل و يسير على معظم البشر، و أنك تقوم بصور مختلفة من عمليات البرمجة في كل يوم عدة مرات!. دعني أشرح لك الأمر على هيئة مثال، أنا أحب الأمثلة كثيراً، فهي تبسط أصعب الأشياء التي يكون على المرء شرحها.

كيف تبرمج ولدك؟!

فلنفترض جدلاً أن لك ولداً اسمه حسن، بعثت له برسالة على هاتفه فيها قائمة بأشياء حددتها له بأسمائها و من أين يشتريها أيضاً. ثم نفترض أنه وجد أحد تلك الأشياء غير متوفر، فإنه سيقف حائراً هل يلغيه من القائمة أم يشترى بديلاً له أم يتصل بك لتخبره ماذا يفعل.
 إن مَثـَلَ حسن كمثل الحاسوب، تدخل له البرنامج أو الأمر الذى تريد تنفيذه، و هو ما يمثل الرسالة هنا التى بعثت بها لحسن، فيقوم الحاسوب بالتنفيذ على الفور، فإذا حدثت مشكلة لم تكن فى الحسبان، مثلاً فتحت أيقونة مشغل الأقراص المدمجة (الإسطوانات)، و ليس هناك قرص أصلاً، فإن من المفترض أن يقف نظام التشغيل بالحاسوب عن العمل مثلاً، أو لا يستجيب لك، بسبب عدم توفر أوامر أو إرشادات لما ينبغى عمله فى هذه الحالة.. دعنا من الحاسوب الآن.
لم ﻻ نعطى الرسالة التى بها السلع و التى بعثتها لولدك اسماً رمزياً، و ليكن m v1.0 مثلاً، و التى تعنى نسخة الرسالة الأولى، حيث m ترمز إلى كلمة message و التى تعنى رسالة، أما حرف v فهو يرمز إلى version و التى تعنى نسخة أو إصدار.
Message v1.0

تعديل برمجة حسن!

الآن أنت تذكرت شيئاً و بعثت لحسن رسالة أخرى تخبره أنه إذا لم يجد سلعة ما من القائمة متوفرة، فليشتر بديلها أو ليتصل بك.
علاقة هذه الرسالة الثانية بأختها الأولى علاقة تكميلية، فهى ليست نفس الرسالة، و لكنها إضافة صغيرة إليها، و يمكن القول أن حسن قد ربط الرسالتين ببعضهما فى عقله و يتصرف وفقاً لهما معاً، فهو يشترى وفقاً للرسالة الأولى، و إذا لم يجد السلعة، فإن أمامه خيارين، إما أن يتصل بك، أو يشترى بديلها، و هو ما ذكر فى الرسالة الثانية. لن يقف حسن حائراً مرة أخرى أليس كذلك؟!.
الآن يمكن إعادة تسمية الرسالة هكذا m v1.1، حيث رقم الواحد الصحيح يرمز إلى الرسالة الأصلية التى لم تتبدل، أما الواحد بعد العلامة العشرية فهو يرمز إلى أن الرسالة الأصلية حدث فيها تعديل أو تغيير أو إضافة على مرة واحدة فقط.
Message v1.1
 و إذا تذكرت شيئاً آخر و أرسلت لحسن رسالة أخرى فيها تعليمات جديدة أو مشتروات أكثر فإن اسم الرسالة الكودى الذى أعطيناه لها يتغير من الجانب الأيمن فقط، أى من الأرقام العشرية و ليس الصحيحة، حيث كل رسالة تبعثها إلى حسن بتعليمات أو سلع جديدة تزيد الرسالة رقماً جديداً، فلو بعثت له رسالتين جديدتين، إذاً ستعطى مجموعة التعليمات الكلية التى أرسلتها لحسن، أو لنقل الآن البرنامج الكلى الذى يسير عليه حسن اسم m v1.3. أرأيت؟ لم يتغير إلا الرقم العشرى الذى يدل على التغييرات الطفيفة التى تحدث فى التعليمات الأصلية.
Message v2.0

الإسقاط على برمجة الحواسيب

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

إصدارات البرامج

و بالنسبة لإعطاء البرامج تلك الأرقام اللاحقة بها، فإن الأمر يعود للمبرمج بشكل عام، فعندما يرى أن البرنامج قد نالته تعديلات كفاية لينتقل إلى الإصدار الثانى المعدل أو لنكون أدق المحسن و المطور، فإنه سيزيد قيمة الجانب الأيسر، أى الأرقام الصحيحة. فمثلاً فى مثال حسن، ذلك الفتى المسكين الذى أرهقته رسائلك!، عندما تبعث له برسالة فيها مهمات أخرى لينجزها غير السلع التى سيشتريها.
بالإضافة لأغراض لأمه تحتاجها منه، و تخبره أن هذه الرسالة بجانب الرسائل السابقة، فإننا نخرج الآن باستنتاجين وفقاً للقواعد التى ذكرتها فى هذا الملحق عامة، و هذه الفقرة خاصة.
#الإستنتاج الأول أن البرنامج الجديد الذى أصبح حسن يتبعه أو يسير وفقاً له، تغيرت صفته بدرجة كبيرة، فلم يعد ذلك البرنامج الذى إن نفذه حسن سيأتى بأغراضك أنت وحدك، بل إن البرنامج الجديد سوف يلبى أغراضك و أغراض أمه أيضاً..
لذا يمكن القول أن البرنامج الجديد قد تطور إلى إصدار جديد و لنعطيه اسماً رمزياً جديداً هو   m v2.0. أما الإستنتاج الثانى فهو أن حسن لن يعود قبل منتصف الليل!، كما أنه سيغلق هاتفه لكى لا تحاول إخباره بأغراض جديده!!.
يمكن تمثيل أمر تلك الأرقام الخاصة بالإصدارات بشركة مقاولات تضع مشروعاً لإنشاء وحدات سكنية، و أوكلت مسألة التخطيط العمرانى إلى مهندس أو مجموعة مهندسين لنعطيهم رمز (س) افتراضاً، و أوكلت عدد الوحدات و تقسيمها على الطوابق بكل مبنى إلى مجموعة أخرى من المهندسين و لتكن (ص). فهى الآن قد قسمت المشروع إلى مجموعتين هما س و ص.
ولنفرض أن كل مجموعة قامت بالعمل المنوط بها، إذاً سيكون الترقيم الخاص بالمجموعة س هو 1.1.1، حيث الواحد الأول من اليسار هو مشروع الوحدات ككل، و الواحد الأوسط هو رمز المجموعة س، و الثالث إلى اليمين هو العمل الذى قامت به س. و يمكنك فعل المثل بالنسبة لمجموعة ص، فما سيتغيرهو رمز المجموعة ص و الذى سنفرض أنه سيكون رقم 2، إذاً سيكون الترقيم الخاص بمشروعهم هو 1.2.1.
و بفرض أن س عدلت فى عملها مرتين، فإن ترقيمها سيصبح 1.1.3، حيث 3 ترمز إلى العمل الأصلى و التعديلين الذين تبعوه. لكن على أى حال أعود لأقول إن مسألة الترقيم هذه تعود للمبرمج أولا و أخيراً، فإن إصدارات نواة لينكس (نظام تشغيل مشابه لويندوز) قد استمرت أعواماً طويلة و هى فى الإصدار الثانى، ثم انتقلت للإصدار الثالث على الرغم من أنها لم يحدث فيها تعديلات كثيرة، غير أن الإنتقال لم يتعد كونه انتقالا تذكارياً احتفالاً بمرور عشرين عاماً على إصدار لينكس.

تعليقات

المشاركات الشائعة من هذه المدونة

الحجاب الصح

لكل نساء وبنات المسلمين الحجاااااااااااااااااااااا اااااااب ليس غطاء الشعر فقط الحجاب هو ارتداء ما لا يصف ولا يشف هل ملابسك بهذا الشكل ؟؟؟ رجاء راجعي نفسك ولا تكونى سببا فى فتنة الرجال بملابسك الضيقة واللافتة للنظر والبنطلونات والاسترتش والبادي هل هذه ملابس تستطيعى انى تقفي بها مثلا امام السيدة خديجة او السيدة عائشة رضي الله عنهما ؟؟؟ فما بالك لو وقفتى امام الله عز وجل يوم القيامة !!!!!!!!!!! اجعلي رضاء الله عليكى قبل رضاء الناس لان الناس لن تفيدك بشئ يوم القيامة

هل كان إيلون ماسك العقل المدبّر وراء ابتكار البيتكوين؟

في ظلّ الارتفاع المجنون لسعر عملة البيتكوين، والتي وصلت لحدود الـ 10.000 دولار للبيتكوين الواحد، فقد أصبحت عملة البيتكوين حديث الساعة، ونسبة كبيرة جدًا من المستخدمين قد سمعوا بلا شك عن هذه العملة، حتى أولئك الذين لا يغوصون كثيرًا في التقنية. حتى أنّ العديد من المواقع ومنصّات الألعاب أصبحت تقبل الدفع بعملة البيتكوين جنبًا إلى جنب مع الوسائل الأخرى كالبطاقات المصرفية والباي بال، إضافةً إلى وجود ماكينات صرف وشراء البيتكوين في عدد من الدول الأوروبية، بل حتى في الشرق الأوسط، في فلسطين المحتلة. في بداية معرفتي للبتكوين قبل سنتين تقريبًا، كان سعر 1 بيتكوين يساوي 400 دولار، أمّا اليوم وفي لحظة كتابة هذه المقالة فإنّ البيتكوين الواحد يساوي 9860 دولار، لكن السؤال الأهم من الذي ابتكر البيتكوين؟ تم إدراج اسم ساتوشي ناكاموتو كمبتكر لعملة البيتكوين، وقد اشتهر هذا الاسم في عام 2008 بعد الإعلان عن عملة بيتكوين ضمن ورقة بحثية، ثم تلاشى الاسم تدريجيًا في عام 2010 ولم يتم معرفة من هو هذا الشخص بشكل مؤكد. العديد من الأشخاص ادّعوا أنّهم ساتوشي ناكاموتو، كان آخرهم رجل الأعمال الأست...

المناطق العشر الأكثر تلوثاً على سطح الأرض !

تبقى المناطق الشديدة التلوث معروفة لقلة من الناس حتى بالنسبة للبلدان التي توجد فيها على الرغم من أنها تؤثر على الملايين من البشر فتسبب السرطانات، التشوهات الخلقية، التخلف العقلي و تؤدي إلى انخفاض متوسط الأعمار العالمي المتوقع. في ما يلي 10 من أكثر المناطق تلوثاً في العالم.. تشيرنوبل – أوكرانيا تشيرنوبل هو الموقع الذي حدثت فيه أسوأ كارثة نووية في العالم، ففي ال26 من نيسان أبريل إنصهر قلب المفاعل النووي و أطلق كمية من الإشعاع أكبر ب100 مرة من من القنابل النووية التي أسقطت على هيروشيما و ناغازاكي. و الآن بعد مضي كل هذا الزمن على الحادثة ما تزال منطقة الحجر الذي يبلغ قطرها 30.6 كيلومتراً غير مأهولة، و ما تزال آثار هذه الكارثة تظهر على المدنيين حتى اليوم. استمرت الآفات الجلدية وأمراض الجهاز التنفسي، والعقم والعيوب الخلقية في الظهور في السنين التي تلت الحادثة في المناطق التي تعرضت للتلوث في يبلاروسيا و روسيا و أوكرانيا و في السنوات بين 1993 و 2000 شخصت 4000 حالة لسرطان الغدة الدرقية بين الأطفال والمراهقين في هذه المنطقة. دزيرجينسك – روسيا كانت دزيرجينسك ح...