لقد أصبح المبرمجون جزء لا يتجزأ من حياة البشرية. ولا يستطيع أي شخص كان أن ينكر هذا الواقع، ولن نستطيع تصور هذه الحضارة الدقيقة بأجزائها المعتمدة على الأجهزة والآلات بدون هؤلاء المبرمجين،
ومن وجهة نظري عالم هؤلاء المبرمجين الخاص عالم رائع حيث يحكمه المترجم بقوانينه ( Compiler ) ،فكل من يخالف القوانين يعاقب فورا، بل يتوجب عليه أن يصلح خطأه على الفور إذا أراد الاستمرار، بصدق عالم رائع بقوانين صارمة.
كم نتمنى أن يصبح عالمنا يتحكم به الكومبايلر وأن يصبح نظامه كنظام المبرمجين، ونستيقظ ونرى هذه الأخطاء البرمجية وشوائبها قد اختفت وما عدنا نسمع بها إلا عند قراءة التاريخ.
أقول لكم بأن الحلم تحقق ولكن نحتاج إلى أن ندرك هذا الحلم، فمن باب أن نصبح مبرمجين فجميعنا مبرمجين، والدليل على كلامي بسيط
أنت طوال يومك تبرمج، فمثلا تقول :
إذا استيقظت باكرا سأذهب إلى الجامعة وإلا سأكمل نومي، با الله ألا تشبه هذه جملة IF الشرطية ؟
بلى، إنها هي.
ثم ترجع إلى البيت وأثناء الطريق تقول :
اختر حالة الغذاء
1 في حالة كان كبسة : سأكل وأملأ معدتي ثم أنام
2 في حالة كان مفتول : سأكل قليلا
3 في حالة كان ملوخية : لن آكل منها
4 أخرى : سأفكر في الأمر
أليست هذه Select Case أو switch ؟
ألسنا كائنات مصرحة من فئة إنسان ؟
ألسنا نحن الكائنات لنا أسماء وشروط في التسمية ولنا خصائص وطرق وأفعال وأحداث ولنا نقطة بداية إنشاء في ذاكرة العالم إلى أن ننتهي ونمحى من الذاكرة.
ولكن لماذا هذه الأمور والعيوب تحصل في العالم ؟!!!
طالما أننا نبرمج فأين المشكلة
المشكلة ليست في المنطق البرمجي واستخدام الصيغ البرمجية Syntax
المشكلة في أمرين:
1- الكومبايلر
2- لغة البرمجة نفسها
ولننظر الآن للكومبايلر
تخيل لو أن الكومبايلر سمح لك بالقسمة على صفر، أو سمح لك بأن تحجز متغير باسم محجوز مسبقا أو سمح لك باستخدام دوال غير موجودة مسبقا.
أو أن نفس الكومبايلر لم ينفذ الشرط الثاني في الجملة الشرطية أو قام بحذف متغير من الذاكرة بدون سبب.
عندها سيختل برنامجك ولن تستطيع البرمجة بالشكل المطلوب.
وهذا ما يحدث الآن
في عهد الرسول الكريم صلى الله عليه وسلم كان هنالك تقيد بالقوانين، إذا سرق أحد تقطع يده، وإذا قتل أحد شخص بغير حق يقتل.
تخيل لو أن شخص سرق ولم يقم الكومبايلر بتنفيذ الحكم الشرعي عليه، أو أن الكومبايلر نفذ الحكم بغير ما هو مصمم عليه وقام بسجنه أو بإطلاق سراحه بدلا من قطع يده.
عندها سنحصل على برنامج مثل دولنا بكومبايلر سيفشل في النهاية.
ونأتي للمشكلة الثانية وهي لغة البرمجة
فالعالم مليء بلغات البرمجة والتي يصعب ذكرها جميعا هنا ، حتى أصبح لا يذكر منها إلا اللغات الكبرى فقط كالإسلام والمسيحية والبوذية…….إلخ.
وأصبح البعض متعصب للغته بأنها الأفضل بدون تفكير وبدون تحكيم العقل، حتى ولو رأى كل الأدلة التي تشير للعكس، وأن هذه الأدلة تبرهن بأن لغته سيئة ولا تسمو لتكون لغة برمجية للبشر ولا حتى للقطط ، وأن هذه اللغة لا تدل على كونها من مبدع ومبرمج وخالق هذا الكون بل تدل إلى أنها من أدنى بني البشر فكرا وأخلاقا ، فبكل بساطة يقوم بمسحها.
هنالك بعض اللغات من شدة التهاون ومن باب الانفتاح كل شيء جائز بها، حتى أنك تستطيع أن تصل لمؤشر (Pointer ) أية فتاة من دون مقدمات، في حين نجد بعض اللغات والتي تصرم في قوانينها، وتنفذها تسمح لك بالوصول الآمن للمؤشر عن طريق التفويض (Delegate ) وهذا بالذهاب للمحكمة والاعتراف بهذا أمام العالم وعندها لا مجال للخوف.
بل وأكثر من ذلك بأن تعطيك هذه اللغة مسارات تنفيذ متعددة (Multithreading ) بحيث تسمح لك بأربع مسارات تنفيذ، في حين اللغة التي تعطيك وصول مباشر للمؤشر لا تعطي سوى مسار تنفيذ واحد عند الرغبة بالتعامل الآمن، ولكم أعزائي المبرمجين تصور عالم بمسار تنفيذ واحد، سيبقيك هذا المسار – إذا كانت برامجك تريد المزيد – مشغول البال ومقيد، وإمكانيات برنامجك محدودة إذا كنت لا تستطيع الاعتماد على مسار واحد لتمضية بقية هذه الحياة إلى الوصول للمسارات الحقيقة في الآخرة.
وسأذكر هذه اللغة الشائعة والتي لها أكثر من مبدأ وأكثر من بيئة عمل وأكثر من مرجع ، وحيث أنها تعتقد بمبدأ الثالوث في البنية، فحينما تسأل تجد من يرد عليك ويقول إنها ثلاثة أو أربعة أو لسنا متأكدين ولكنها في النهاية تشير إلى واحد.
حيث تجد في بعض الصحاح كلام بأن الأساس الأول مساوي للأساس الثاني والثالث في كل شيء ، ولكن في صحاح آخر يقول الأساس الثاني أبي أقوى مني، وهنالك مفارقات كثيرة لا يسعني ذكرها.
حتى مبادئها ليست مفهومة ومعقدة من كثر الإضافات والتعديل، فكل يضيف ويعدل ليشتري به ثمنا قليلا.
هناك لغات أخرى تعبد الحجر، وهناك عبدة النار، وهناك عبدة البقر ، ولك أن تتصور كيف أن مبرمجين يعتمدون على البقر لبرمجة برنامج يعمل على الكمبيوتر !!!!!!!!
لا يسعني هنا ذكر كافة اللغات ولكن سأذكر اللغة الأنسب والأفضل من وجهة نظري ومن وجهة نظر كل من يفكر ويستطيع التفريق بين الصواب وما هو خير له ولحياته وبين الخطأ وما هو شر له ولحياته، وهذه اللغة بدون أدنى شك هي الإسلام.
هذه اللغة التي شهد كافة عظماء البشرية بأنها من خالق هذا الكون وتسمو لتكون لغة البشرية جمعاء، فهي صالحة لكل زمان ومكان وبها من الإمكانيات ما يكفي لاستمرارها دائما.
نظام حياة به دوال تكفي لتصنع بها كل ما يخطر ببالك ولن تضطر للبحث عن دوال في خارج إطارها، هنالك مسارات التنفيذ والتفويض والبرمجة الكائنية وبرمجة الويب وبرمجة الجوالات الذكية …. بحيث لا يمكن ذكر كافة مزاياها، ولكن سأذكر أكثر ما يعجبني وهو تكامل لغات البرمجة، فتجد البشر كل له ميول مختلفة وله اتجاهات فكرية قد لا تعجب الجميع، ولهذا تجد مذاهب وتشريعات لا تخالف المبدأ الأساسي، ولكنها تريح المبرمج بأن يأخذ ما يجد أنه صواب وأسهل له، فتارة تجد من يعجبه مذهب الفيجوال بيسك، وتارة تجد من يحب السي شارب، وتارة تجد من يجمع بين الأمرين ويختار الأسهل في الموضوع الذي يراه أنسب.
كيف لا وهذه اللغة لغة إلهية وضعها من خلق هذا الكون وهذه النفوس، وهو بدون أدنى شك يعلم ما الأفضل لتسيير حياتها، وقد أرسل من عنده أشرف الخلق وأطهرهم وأفضلهم وأكرمهم وأرحمهم وأحبهم إلى قلبي ، محمد صلى الله عليه وسلم ليعلمهم لغته ويطبقها في مسيرة حياته ويثبت بأنها لغة كاملة ويجب تطبيق ما فيها، وأنه لا يجب الاعتماد على لغات عبدة المال أو الأصنام، لأنها لغات وضعية ولن تصلح لخلق الله وأنها ستنهار بالنهاية.
بقى لي أن أوضح بأن البرنامج في الكمبيوتر ما هو إلا كيان وهمي ولا وجود له ماديا، وكذلك نحن مبرمجون لغات نسير بلغة برمجة أيضا لا يمكنا الآن فهم ماهيتها، وعلينا أن نؤمن دائما أننا برامج مبنية بلغة لم نفهمها بعد، وأن هذا الكون هو أيضا برنامج وهمي، وأننا في برنامج أوسع يختبرنا لننتقل بعدها إلى عالم الحقيقة، والأهم من هذا هو أن هنالك مبرمج حقيقي وفعلي يتحكم بنا ويسيرنا وسيرينا بإذنه بعد أن ينهي هذا الاختبار حقيقة أنفسنا، وحقيقة حياتنا الفانية وحقيقة أن هذا المال وهذه الأملاك وهذه المجوهرات وهذه الأبراج الكبيرة أنها فعلا كانت وهم وأن من آمن بهذا الكلام هو من سيربح ويفوز الفوز العظيم.
قد تتساءلون ، كيف عرفت هذا ؟!
الأمر بسيط فلغتي التي تسير حياتي وتنظم تفكيري والتي أخبرتكم عن مزاياها وإمكانياتها وفوائدها الرائعة أخبرتني بهذا ،
فمع الإسلام ….. برمج العالم بأفضل نظام حياة.