بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
حين تكون فى بداياتك فى عالم البرمجة وخاصة السنوات الثلاث الاولى فانك غالبا ماترتكز على الكتب
وذلك حتى تتعلم اول لغة برمجة وتكون لديك دراية باركان المجال
ومع مرور الايام تجد نفسك تعتمد بعد ذلك على التجارب العملية والانترنت (المقالات - الادوات الجاهزة
- المنتديات) وايضا تعتمد على التوثيق الخاص باللغة Help
وعند مرور سنوات طويلة فانك قد تنتقل من لغة برمجة الى اخرى وبدون الحاجة الى قراءة مراجع كاملة
مثلما فعلت فى بدايتك بل يكون الاعتماد على الخبرات السابقة والمقالات والكتب التى تخاطب المبرمجين
الذين لديهم دراية بلغات سابقة.
وحين تستيقظ يوما ما كعادتك وتفتح الانترنت لترى بريدك الخاص فانه من الوارد جدا ان تستقبل بعض
من الاسئلة من المستجدين فى عالم البرمجة من اصدقائك او معارفك او زملاءك
وهناك اسئلة شهيرة جدا مثل
بماذا تنصحنى ان ابدا - ماهى اللغة التى ابدا بها ؟
ماهى الكتب التى يمكننى الاعتماد عليها لتعلم البرمجة ؟
هل هناك مشاريع للتعلم - اين هى - كيف احصل عليها ؟
ورغم ان هذه الاسئلة شائعة جدا الا انها بالفعل تجعل المبرمج يتوقف للحظات قبل ان يجيب
وكيف لايتوقف وقد سأل هو فى بدايته هذه الاسئلة مرارا وتكرار
وليس ليوم او يومين ولكن ربما لمدة عام كامل
ان اختيار اللغة والكتب والمشاريع التى تتعلم منها فى بدايتك هى التى تحدد المجال الذى سوف تبدا
بالعمل فيه وحيث ان لكل مبرمج الادوات التى يستخدمها والكتب التى تعلم منها والمشاريع التى اطلع
عليها فمن الطبيعى ان تسمع اجابات مختلفة ولامانع ايضا ان تسمع اجابات متشابهة.
ولعلها فرصة للناقش هذه الاسئلة الثلاثة ونرى كيف يقوم المبرمجين بالاجابة عليها
اولا : بالنسبة للسؤال المتعلق بلغة البرمجة
هناك فئة من المبرمجين تتحيز للغة البرمجة التى يستخدمونها وتكون الاجابة ببساطة تعلم لغة (س)
اذا كان المستجد يسال مبرمج بلغة (س) وهكذا
وهناك فئة توجه الشخص الى لغة معينة بذاتها استنادا على اجابات شائعة مثل
( تعلم لغة سى انها اقوى لغة برمجة وان كان هو نفسه لايستخدمها فى الواقع )
(تعلم الفيجوال بيسك انها اسهل لغة برمجة وربما هو من داخله غير مقتنع بها )
( لغة جافا انها متوفرة على كل انظمة التشغيل وان كان يكرهها لان برامجها بطيئة )
(تعلم سى شارب لانها اللغة الاولى فى الدوت نت وقوية جدا وان كان لايعمل تحت ويندوز)
وبالتاكيد هناك من يوجه المستجد استنادا على وجهة نظر وتفكير وليس مجرد اجابة وانتهى الامر لانها
مسئولية
فى رايى المتواضع هناك عوامل ينبغى مراعتها عند توجيه المستجد الى لغة برمجة معينة
1 - العمر فمثلا لغة سى لاتتناسب مع طفل صغير
2 - الهدف هل هو العمل التجارى ام الهواية
3 - المستوى الفكرى العام للشخص (وهذا العامل ليس من السهل او الشائع معرفته)
4 - هل ترغب فعلا فى مساعدته باستمرار ام تدله على الطريق وحسب
ثانيا : بالنسبة للسؤال المتعلق بالكتب ؟
هنا قد يقع الكثير من المبرمجين فى ورطة ذلك لانهم تعلموا البرمجة منذ زمن بعيد من خلال كتب ومراجع
للغات قديمة بمعنى انها اصبحت الان كتب منتهية الصلاحية لانه ترتكز على تكنولوجيا قديمة
وقد يكون المبرمج متذكر لاسم مؤلف او شركة فتكون الاجابة بهذه المعلومة رغم ان وجود كتاب جيد لمؤلف
لايعنى ان كل كتبه جيدة وان وجود كتب جيدة لشركة لايعنى ان كل كتبها بنفس المستوى.
فى رايى المتواضع :-
كن مهتما بالكتب ذات الصلاحية المستمرة بمعنى الكتب التى تتعرض لفن البرمجة و الاساليب البرمجية
لانها هى الباقية وستكون مفيدة لك اولا وللاجيال القادمة ايضا.
ثالثا : بخصوص المشاريع التعليمية
فانك قد ترفض وبشدة ان تضحى بالشفيرة المصدرية للمشاريع التى قمت بها وهذا من حقك
ولكن هل ستقدم تجارب وامثلة بسيطة ام ستبخل بها ايضا خشية ان تسقط من عين من يسالك
حين يرى اعمال غير كاملة وليست على المستوى المطلوب
ام سترى ان الافضل وقتها ان تدله على موقع للمشاريع مفتوحة المصدر حتى يدخل الموقع
فيجد نفسه قد سقط فى محيط من البرامج والمشاريع العملاقة التى ربما يقف المحترفين امامها لفترة
حتى يتاملوا ماذا ينتقون منها لانفسهم.
والان عزيزى المبرمج جاء دورك لتقول لنا بماذا تجيب على المستجدين
فيما يتعلق بهذه الاسئلة الثلاثة
والله الموفق



