هل أنت المبرمج الذي يحفظ أم المبرمج الذي يبحث؟

يوجد نوعان من المبرمجين:

  1. مبرمج يحفظ الدوال.
  2. مبرمج يبحث عن الدوال وفق الحاجة.

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

كما تعلم، المشكلة الواحدة من الممكن أن تُحل بألف طريقة، ما يعني أن المبرمج يقوم بكتابة مئات الأفكار يومياً ليوفر حلولاً للمشاكل أو يجعل الحاسب ينفذ مهمةً ما،

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

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

فماذا ستكون حالتك إذا كانت فكرتك الجديدة تتطلب استخدام جزء من لغة البرمجة لم تستخدمه من قبل؟ (في العادة تكون أسماء دوال أو متغيرات).

خضت هذا الحوار مع أحد أصدقائي المبرمجين وكان كلاً منا يتبنى نظريةً مختلفةً عن الآخر، سأستعرضُ لك الرأين ثم أخبرني عن موقفك بعد ذلك وكيف تعمل؟

نظريةُ صديقي: البحث عن الدوال عند الحاجة

البحث عن الشفرات المصدرية
البحث عن الشفرات المصدرية

النظرية التي يتبناها صديقي -وهنا أتقمص موقفه- أن جميع لغات البرمجة المعروفة اليوم لها توثيقٌ جيّد على الأقل، وبالتالي أغلب -إن لم يكن كل- ما تحتاجه من معلومات عن الدوال التي لم تتعامل معها من قبل متوفرٌ في الانترنت.

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

ولا تنسى أن هنالك موقعاً يسمى stackoverflow والذي فيه تقريباً جميع المشاكل البرمجية التي واجهتك أو قد تواجهك أو لم تواجهك بعد مع حلّها !

فلماذا نعيد اختراع العجلة ونهدر الوقت والجهد في محاولة تذكر العديد من الأسماء التي قد لا نحتاجها أثناء البرمجة؟!!

دعنا نستثمر ذلك الوقت في كتابة بعض الشفرات المصدرية وعندما نحتاج إلى شيءٍ ما فإن قووقل قريب والمواقع مليئة بشروحات مساعدة.

نظريتي: حفظ جميع الدوال قد الامكان

تذكر الشفرات المصدرية
تذكر الشفرات المصدرية

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

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

صحيحٌ أن جميع الدوال والأسماء موجودة بالانترنت، ولكن لا يجبُ الاعتماد عليها كمصدرٍ أساسي لاتمام عملية البرمجة، فمن الممكن مثلاً أن ينقطع الانترنت لأي سببٍ كان أثناء العمل البرمجة أو أن يعمل المبرمج في منشأة لا تسمح باستخدام الانترنت اطلاقاً !! جهةٌ أمنية مثلاً !!

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

وبذلك تستطيع أن تبرمج بلا انقطاع لأطولِ وقتٍ ممكن، وستعود إلى الانترنت والبحث نادراً.

ما هي النظرية التي تتناها أنت؟

آخذاً في الاعتبار أن النظريتين السابقتين تتفقان على أن المبرمج يجب أن يعلم الأساسيات، مثل أن يعلم ما هي أنواع البيانات الرئيسية وكيف يتم تعريف المتغيرات وكيف يتم استخدام الدوال وغيرها من المفاهيم الرئيسية، ولكن الاختلاف في التعمق في معرفة مهام وتذكَُر أسماء الدوال والمتغيرات التي لا تستخدم بكثرة.

ما هي النظرية التتي تتبعها أنت؟ وما هي الطريقة التي ترى أنها أكثر فائدةً وصحةً للمبرمج وللعمل البرمجي كذلك؟

مصطفى الطيب

صديقٌ لنُظمِ المعلُومات و عُلومِ الحَاسِب و مُختصٌ بهما، مُحبٌ للعِلمِ و نَشرِه. أُشاركُ معارفي و تَجاربي و خِبراتي في تَدويناتٍ و دوراتٍ من خلال مُدونةِ عُلوم.

‫13 تعليقات

  1. برأيي ان الاثنيين ليسوا على خطأ ولكن اميل اكثر الى الطريقة الثانية , فيجب على المبرمج معرفة اهم الدوال والوظائف المهمة على الاقل في اللغة البرمجية التي يعمل بها

    1. موقف وسطي جميل …

      في لغة البرمجة المستخدمة يومياً تُحفظ الأسماء .. بينما اللغات التي تُستخدم بصورة متقطعة فمن الممكن استخدام طريقة البحث.

      أعجبني ذلك..

  2. حسب رئي الطريقة الثانية لانو بتجدد مجموعة من الافكار البرمجية
    ومجموعة من الحلول مبنية علي الدالة الانتا حافظا

  3. في رئي الطريقة الاولى تناسب الشخص المبتدي لاداعي ليزحم وقته ليحفظ كل شي ولكن مع الوقت سيجد نفسه حفظ الدوال التي بحث عنها في ما سبق.

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

    1. كيف اعالج بطريقه بسيطه بدون اخطاء احفظ طرق المعالجه وابتكر طرق معالجه

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

      أشكرك على تعليقك

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

    1. وعليكم السلام ورحمة الله وبركاته حليمة، جزُيتِ الجنّة،
      أرى أنكِ تتفقين مع أغلب المعلقين في أن البحث هو الطريقة المفضّلة. أتساءل.. كيف تتعاملين مع حالة الانقطاع المتكرر لتسلسل أفكارك أثناء البرمجة عندما تضطرين لاجراء العديد من البحوث لكتابة شفرة مصدرية جديدة عليك؟

      شكراً لوجودك في مدونة علوم وأتمنى لكِ التوفيق كذلك.

  6. بارك الله فيك يادكتوروجعل الله العلم في ميزان حسناتك-رايي انه لابد من حفظ الدوال فبكثرة تكرار استخدامها قد تصل لتطويرها بل لايجاد صيغة اسهل اواقرب لحل المشكلة من ابتكارك انت لكن البحث عن الدالة المطلوبة يلغي التفكير والابتكار-اقدم اعجابي بعلم حضرتك واتمني لسيادتك مزيد من التوفيق

    1. بورك فيك أخي حسام، يبدو أننا نتفق في أهمية حفظ الدوال وتأثيرها على تسريع العملية البرمجية. من جميل ما ذكرتَ

      قد تصل لتطويرها بل لايجاد صيغة اسهل اواقرب لحل المشكلة من ابتكارك انت

      سرعة التطور والتقدم ورقي الحل.

      أخاك مصطفى يقدم اعجابه برأيك 🙂 وأتمنى كل من التوفيق أكثر.

اترك تعليقاً

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

مقالات ذات صلة

زر الذهاب إلى الأعلى