14

[للنقاش] ما الوقت المناسب للانتقال لتعلم إطار عمل؟

هناك مدرستان في تناول هذه القضية:

الأولى: بتعلم إطار العمل بأسرع ما يمكن لأنه يوفر الوقت والجهد وهو مطلوب في أي شركة أو عمل حقيقي.

والثانية تدعو للتمهل؛ لأنه بحسبها تعلم الأساسيات جيدًا يمكنك من الاستثمار الطويل لمهارتك وستستطيع الانتقال لأي إطار عمل بسهولة وأنت راسخ في الأساسيات وستكون مبرمجًا جيدًا على المدى الطويل..

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

ما المتطلبات للانتقال لتعلم إطار عمل ولنقل Laravel، تعلم مبادئ البرمجة الكائنية OOP والانتقال مباشرة، أم بحاجة تعلم أنماط التصميم Design Pattern وبناء مشاريع سابقة وبناء إطار عمل مصغر من عمل يدك؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

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

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

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

MohammadAtwi أضف ردا

بحسب تجربتي، لم يعجبني استخدام إطار عمل (للبرمجة) وشعرت أنه محدود. لذلك، وبحسب تجربتي الخاصة، الأفضل هو بناء إطار عمل خاص بك. وهذا ما فعلته وتمكنت من خلاله بناء مواقع ضخمة ومعقدة وأنا أستخدمه وأطوره من حوالي ثلاث سنوات إلى الآن. الجميل في الأمر أن جميع برامجك ستكون متشابهة بحيث تستطيع نسخ sub-systems كاملة من مشروع إلى آخر بدون أي مشاكل. كما أنها أكثر أماناً (إذا كنت تعرف بالطبع أسس الحماية). فإطار العمل الخاص بي مثلاً يملك خاصيات عديدة فقط للحماية وأخرى لل logging وأخرى لتسريع عملية التعامل مع قاعدة البيانات وغيرها.

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

سعدت بمشاركتك لأنها مختلفة عن السائد.. سؤال: كيف بنيت إطارك الخاص وما الوسائل التي أعانتك ليبني أحدهم إطاره الخاص ويكون جاهزا لعمل حقيقي احترافي؟

Watheq_Alshowaiter أضف ردا

طبعا، كلام مؤسس اللغة البرمجية لن يكون دقيقا، لأنه (يفهم) كل شيء في اللغة، ولكن هذا لن ينطبق على مبرمجين (مساكين) مثلي.. وفي الأخير تحدث عن أطر العمل على أنها سيئة لكن لا يمكن تجاوزها فهي حقيقة موجودة في سوق البرمجيات..

هو ركز على فكرة أساسية هي مشكلة الإعتماد على إطار العمل وحده لأنه سيسبب مشاكل في المستقبل خاصة مشكلة التطوير المستمر. لذلك لا يجب أن يدخل المبرمج في دوامة الـ plugins والمكتبات العشوائية لأن برنامجه سيكبر ويتعقد بشكل كبير لدرجة يصعب بعدها التعامل مع التطويرات المستقبلية وهذا ما رأيته بنفسي في برنامج كان حجمه حوالي 700 mb لمشروع متوسط التعقيد مبني على إطار Laravel وعند فحصه تبين أن المبرمجين الذي بنوه كانوا يستخدمون مكتبات بشكل عشوائي وغير منطقي حتى لأبسط الأمور .. تخيل أن هناك أكثر من 100 مكتبة وإضافة تم استخدامها .. وتخيل كم من ثغرات أمنية ستوجد في هذه الإضافات ناهيك عن عدم إمكانية التعديل على هذه الإضافات وتطويرها بسبب تعقيدها واعتمادها هي ذاتها على إضافات أخرى أيضاً! وهنا بدل أن يكون إطار العمل نعمة للمبرمجين الذين سيعملون على البرنامج من بعدهم ستكون هذه مشكلة كبيرة لأن المبرمج نفسه لا يعلم كيفية عمل الإضافات التي استخدمها. فهو فقط قام ب "تركيب" البرنامج حرفياً و ليس كتابته.

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

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