لدي اعمال كثيرة اقوم بها وليس لدي وقت لتعلم الكثير من الادوات او اللغات.
ارغب التركيز على لغة واحدة لمدة 6 اشهر .
لدي من الخيارات بعضها لغات برمجة وبعضها ربما لا :
- C#
- Java
- CSS
- PHP
- JavaScript
باي واحدة منهم تنصحوني؟ ولماذا ؟
الأمر يتوقف على ما هو هدفك وما هو مستواك الحالي .. هل أنت لم يسبق لك تعلم البرمجة من قبل وترغب في بداية طريقك وبناء أساس متين؟
إذا يجب أن نفرق بين شيئين .. بين لغة البرمجة وعلم البرمجة، لغة البرمجة ما هي إلا أداة للتواصل مع الحاسوب لا أكثر ولا أقل أما بالنسبة للبرمجة نفسها فيمكن تعريفها على أنها هي فن حل المشكلات المنطقية بإستخدام الحاسب الآلي، ليس كل من يجيد تشغيل سيارة مارسيدس والإقلاع بها يمكن أن نسميه سائقا ماهرا، لأن قيادة السيارة هي فن يتم اكتسابه باتباع المنهجية الصحيحة لمدرسة القيادة مثلا أو لسائق ماهر آخر ثم كثرة الممارسة .. السائق الماهر سيقود المارسيدس والبورش والبوغاتي وكل أنواع السيارات بدون أي عناء لأنه قد اكتسب الفن فعليا
وكذلك المبرمج الماهر المؤسَس بشكل جيد لن يشكل الانتقال من لغة برمجة إلى أخرى له أية مشلكة، فليكن هدفك هو تعلم فن البرمجة نفسه وليس لغة معينة .. هذه نقطة
ثانيا المنهجية التي ينصح بها أغلب مهندسو البرمجيات الكبار تتمثل في اتباع السلم التعليمي التالي
1- أساسيات البرمجة Programming fundamentals
2- البرمجة الكائنية Object Oriented Programming
3- هياكل البيانات والخوارزميات Data structures and Algorithms
4- أنماط التصميم Design patterns
وفي أثناء تعلمك لهذه الأمور يتوجب عليك حل ما لا يقل عن 1000 مسألة برمجية للتطبيق العملي على كل ما تتعلمه
كذلك ينصحون بتعلم تلك المبادئ بإستخدام لغة مفصلة تدعم كل المبادئ التي قد تحتاجها مثل ++C لكن يمكنك أيضا تعلم هذه الأمور باستخدام Java أو #C
هذه المرحلة لا أعدك أنك ستنهيها بسرعة بل ستستغرق منك وقتا طويلا حتى تنهيها وستشعر وكأنك لم تحقق أي شيء ولكن جرب بعدها أن تدرس أي مجال متعلق بتطوير البرمجيات وستجد نفسك ماضيا فيه بكل سهولة بل وتقطع أشواطا كبيرة في وقت قياسي لأنك ستكون قد اكتسبت عقلية المبرمج القوي القادر على العمل تحت أي ظروف وبأي أدوات
كلامك جميل اخي محمد لكن لنفترض اني حددت جافا او سي شارب .. ف تعلم الاساسيات سهل وربما اجد له مواقع كثيره لكن المواضيع المتقدمه مثل design patterns كيف اتعلمها من المواقع!
التعليقات