9 حقائق يعرفها المبرمجون دون باقي الناس

إن مبرمجي الحاسوب يعرفون عن الحاسوب والبرمجة أكثر بكثير مما يعرفه غالبية الناس، ويمكن لهذه المعرفة أحياناً أن تكون مرعبة.

computer-facts

الحقيقة الأولى:

في الخفاء , معظم البرمجيات التي تستخدمها يومياً (مثل نظام التشغيل ماك أو فيسبوك) تحتوي على عدد هائل من الاختصارات والأعمال المرقعة وغير الكاملة التي يحدث أنها بالكاد تعمل معاً عندما تنظر إليها نظرة عمومية، إن الموضوع يشبه نظرتك  لطائرة 747  لتكتشف أن خط الوقود فيها موجود بجانب شماعات المعاطف ومعدات الهبوط تم جمعها بشريط لاصق – Ben Cherry

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

الحقيقة الثانية:

حوالي 25% من الساعات التي يتم قضائها في كتابة برنامج يتم قضائها في التفكير بأن المستخدم النهائي لبرنامج سوف يقوم بشئ ما خاطئ – Brain Humes

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

الحقيقة الثالثة:

المبرمج ليس ذات الشخص الذي يصلح الحواسيب – Ritesh Kumar Gupta

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

الحقيقة الرابعة:

 البرمجة تفكير وليست طباعة – Casey Patton

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

الحقيقة الخامسة:

نظام العد يبدأ من الصفر وليس الواحد

هذا مهم جداً في حياة كل مبرمج، العد يبدأ من صفر ”0“. رقم ”1“ بالنسبة لك هو ”0“ بالنسبة لنا، ورقم ”10“ بالنسبة لك هو ”9“ بالنسبة لنا. السبب في ذلك بأن البرمجة تعتمد على الفعالية بالدرجة الأولى وحتى أصغر تحسين يمكن أن يزيد من الفاعلية على المستوى الكلي.

الحقيقة السادسة:

البرمجة تكون منتجة أكثر  في ”حالة“ ذهنية سعيدة، حيث التركيز على المهمة الموكلة اليك يصبح أسهل، هذا يشبه إلى حد ما “حالة” الموسيقي و الرياضي – Morgan Jahansson

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

الحقيقة السابعة:

النوم مع مشكلة يمكن في الحقيقة أن يقوم بحلها

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

قد واجهت في العديد من المرات مشاكل برمجية قضيت ساعات وساعات محاولاً حلها باعتبارها مشاكل بسيطة تحتاج لحل بسيط، دون جدوى، ولكن عند الذهاب لأخذ قيلولة لحوالي 20 دقيقة، ساعة، 6 ساعات أو حتى 12 ساعة فإننا نستيقظ مباشرةً مع معرفة لكيفية حل المشكلة.

الحقيقة الثامنة:

يمكن لأب أن يقوم بقتل أبنائه عندما تصبح مهماتهم غير ذات فائدة

ليس بالشيئ الني تود سماعه وتكراره بصوت عال (إذا كنت تحب سماع ذلك فعليك مراجعة منشأة للأمراض العقلية أو قم بتسليم نفسك لأقرب مركز شرطة).

Parent-Child

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

الحقيقة التاسعة:

 إنك لا تحب تفاخرنا بقدر معرفتنا عن الحواسيب، وفي المقابل لا يعجبنا تفاخرك بمدى جهلك بها

جدياَ، توقف! أرجوك إن ذلك مزعج، إننا لا نهتم، نحن جدياً لا نهتم كم أنت فخور بنفسك لأنك لا تريد تعلم أشياء جديدة. من المفهوم قولك: ”أنا لا أعلم الكثير عن الحواسيب“ أو ”أنا غير مهتم ببرمجة الحواسيب“، ولكن التفاخر بضآلة معرفتك عن الحواسيب مزعج جداً، توقف!

المصدر

مترجم بتصرف عن Nine Truth Computer Programmers Know That Most People Don’t

حيان أبو فخر

مطور ويب سوري. عاشق للموسيقى والبرمجة والكوميديا الارتجالية.

مواضيع الكاتبموقع الكاتب

لمتابعة الكاتب:
TwitterFacebook

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *