موضوع مهم يخص كل المبرمجين، و ليس مبرمج php فقط.
كان الأجدر أن يوضع في قسم تطوير المواقع، حتى يتسنى لكل أولائك الذين يتقنون لغات برمجة أخرى غير الphp أن يبدو بآرائهم
عن سؤالك الأول
عن رأيي أن تعلم ما تحفظ و لو قليل، خير من حفظ ما لا تعلم و لو كثير .
أن تعلم عمل ثلاثة دوال فقط، خير من حفظ عشرون دالة لا علم لك بعملهما
أما عن الخوارزميات فلذي بعض الآراء الخاصة قد تصيب مثلما قد تخيب
إن كنت تتقن التعامل بالخوارزميات في البرمجة فلن تجد صعوبة كبيرة في تعلم لغة برمجية أخرى، لأن الخوارزميات تتشابه في طريقة التطبيق.
للوصول إلى نتيجة معينة فهناك عدة طرق للوصل إليها عبر الخوارزمية، لكن أضمنها هي تلك الخوارزمية الصغير و المحكمة و أحظر أن لا تجعلها تدور على نفسها إلى ما لا نهاية.
الدوال و الخوارزميات:
الدالة قد تحتوي على أكثر من خوارزمية، وترسل القيم و تستقبلها، لكن تحتاج دائما إلى من يستدعيها من خارج الكود في كل مرة.
و الخوارزمية قد تحتوي بدورها على أكثر من دالة واحدة، وهي من تعالج القيم بعد استقبالها أو قبل إرسالها ، و لا تحتاج الخوارزمية إلا إلى دفعة واحدة(استدعاء) فتصبح بالتالي هي الوسيط الذي يستدعي الدوال الأخرى على حسب عدد المرات الذي حددناها فيها(أي الخوارزمية).
و أنا من أصحاب هذه المعادلة
الخوارزمية = منطق + إبداع
الإبداع هبة من عند الله و المنطق هو أن لا تفرط في تلك الهبة،و ليس كل موهوب منطقي وكل منطقي موهوب
لكن في الخوارزميات يجب أن تمتلكهم الاثنين، هو في الحقيقة يكفي أن تكون منطقي حتى تخرزم، لكن عندما تكون النتيجة برنامج أو نظام مذهل لا يخطر على بال فالأكيد أنه المنطق(لنقل المنطق الرقمي) و الإبداع.
ليست هناك لحظة أجمل عند المبرمج في برمجته أحلى من تلك اللحظات التي يفكر فيها في خوارزمية تسلكه طريق الوصول إلى غايته المرسومة، إنها كالنوتات الموسيقية السبعة لكن الموسيقى التي تنتجها لا تعد ولا تحصى، أو كالألوان الثلاثية التي أخرجت منها ألاف الآلاف من الألوان الأخرى.
إنك بالخوارزمية قد رسمت الخطوط الأساسية لمستقبل برنامجك، كم من برنامج جميل فكرته مذهلة تفكر فيه، لكن بدون خوارزمية محركة و محكمة، فهي شبيهة بسيارة جديدة بهيكل جميل، فيها كل ما تحتاج من audio vedio مكيف هوائي كراسي مريحة لكن بدون محرك!.
بمعنى أن الحمار(عزكم الله) في خريف أيامه أفضل منها بكثير، على الأقل يستطيع جر تلك العربة الجميلة (و
العكس غير ممكن)
من طريقة الخوارزمية الموضوعة قد تتعرف على بعض من نفسية واضعها
هل هو عقلاني ، منطقي ، ملتوي ، متلاعب ، يسبق الأكثر على الأصغر ، هل هو منظم ام لا ، ذكي ، الألوان التي يحب ، يقصر أو يطول و(...)
هناك من يضع خوارزمية لبرنامج معين في 30 سطرا و هناك من يضع خوارزمية لنفس غاية الرنامج في أقل من سبعة أسطر(الشطارة لها دورها)
يقولون: قديما كانت البرمجة أقرب إلى الآلة من الإنسان، و حديثا أصبحت أقرب من الإنسان إلى الآلة
و الخوارزمية أقول أنها أقرب إلى الفلسفة من الرياضيات .
كيف الوصول إلى مستوى رفيع في الخوارزمية
الجواب: علمي علمك لكن عندي بعض النقاط
-الكل تقريبا متفق على أن الخوارزمية من المنطق، و المنطق هو أن تفرز بين اليمين و الشمال و أن الأسود مثلا ليس بلون، بل هو نتيجة إختفاء الضوء الأبيض و أن الأبيض ليس بلون بقدر ما هو إجتماع جميع الألوان (و العكس صحيح في الألوان المادية)
-يجب أن تكون معلوماتك و متغيراتك في الحياة قابلة للتغير، فمثلا كنت تقول أن الشمس تدور على الأرضن فأتاك حديث علم أن الأرض هي من تدور على نفسها، فوجب أنداك أن تغير قيم متغيراتك و دوالك على حسب ما يتطلبه المنطق، و إلا فإنك ستحسب على الإصدارات الأولية و القديمة التي لا تنتمي حتى إلى إصدارات alpha beta .
أما إذا رقيت متغيراتك وغيرت مفاهيمك يصبح سهل عليك آنذاك إدراك أبعاد الأشياء وهذا سيوصلك إلى فهم أن في اليوم ما قبل قيام الساعة أن الأرض ستدور على نفسها بطريقة عكسية(كما حدث للمريخ في سبتمبر العام الماضي)
ففي الكود مثلا عندما تنظر إلى المتغير الفلان الفلاني فلا تنظر إلى اسمه و شكله بقدر ما تنظر إلى القيمة التي يحملها.
-أن تكون منطقي مع نفسك و مع غيرك(أحسن وسيلة لتربية المنطق)
-أن تعرف مسبقا إلى أية غاية تريد أن تصل، و لا تنسى أن الله سبحانه و تعالى قد سئل الملائكة قبل خلقنا، و هذا يعني أن خلق هذا الكون كان معلوم و معروف قبل خلقه، بداية الخلق و نهايته و حسابه كل في كتاب مكنون.
-إن كان من سيتعلمها ممن يؤمنون بنظرية سرمدية الكون و أن لا بداية له و لا نهاية و لا صاحب له، فقد تصيبه الخوارزمية بأمراض نفسية عديدة، بحكم أنك في التعامل معها يجب ان يكون منطقي أكثر من ألازم فيكتشف أن في أول أسطر الخوارزمية إن لم تحدد نقطة البداية على الأقل ثم نقطة النهاية فلن تنطلق الخوارزمية(بغض النظر عن الكود كله)
-أن تعرف مثلا أنه ليس في الأرقام رقم حقيقي إلا رقم واحد(دلالة على وجود شئ)، و أن الأصل في رقم ثلاثة مثلا هي 1+1+1 ثلاث وحدات موجودة(بغض النظر على نوعها) و إنما رقم ثلاثة قيمة رياضية حتى يسهل العد و أن صفر يحمل قيمة شئ غير موجود(ليس بالضرورة شئ غير موجود أصلا فدرجة حرارة الصفر لم نكن لنستدل بها لو لم تكن منخفظة أو مرتفعة قبلا)
و أن حتى رقم واحد إنما هو رمز متفق عليه
-الخوارزميات ماهي إلا تطبيقات شبيهة بخوارزمية أرقى بكثير سرها مجهول و كمؤمنين نقول سرها
عند الله، ألا وهي خوارزمية الدماغ. قد تجدها حتى عند المخبول عقليا مثال :
====================
مادمت(أفكر و أرى أو سمع){فأنا أعيش}
مادمت(أعيش){أحتاج ان آكل}
//لكن تختلف طريقة الأكل، هناك من يأكلها بالحلال و هناك من يأكلها بالحرام
//وهناك خوارزميات ثانوية
إذا (لم تكن عندي أضراس){أركب أضراس جديدة}
else
إذا(لم أركب أضراس جديدة){أبتعد عن الفول; أكتفي بالشربة فقط}
====================
هذه أمثلة فقط أما حقيقة الأمرفكما قلت سره رباني.
تعبت يداي بدوري من الكتابة أكتفي بهذا القدر خشية الوقوع في شطحات نحن بغنى عنها
و آسف على الأخطاء الإملائية و آسف جدا جدا إذا كنت قد تعديت على هاتين الكلمتين (المنطق و الخوارزمية(الله يسامح))
أذكر مرة أخرى ان كل ما أوردت هي أراء شخصية قابلة للمناقشة
و السلام