لاحت في ذهني هذه الخاطرة و أنا أقرأ المواضيع من نوعية "أي لغة أتعلم؟". هناك من يسأل عن اللغات المطلوبة في سوق العمل و هناك من يرفض هذا الإتجاه و يسأل عن اللغات التي ستزيد مهارته البرمجية. عندها تنبهت أن الهدف من تعلم البرمجة ليس موحداً. هناك من يريد أن يتعلمها لتصبح مهنة يرتزق منها. و هناك من يريد أن يتعلمها كنوع من توسيع المدارك. و طبعاً هناك من يريد الإثنين.
أود أن أنوه قبل أن أسترسل في الكلام أنني لا أجد تعلم البرمجة من أجل الترزق عيباً. السعي وراء الرزق ليس عيباً. و تعلم العلم للترزق ليس عيباً. أنا لست إنساناً مثالياً و أدرك تماماً أن من أسباب دخولي في هذا المجال هو أكل العيش، و لذا لن انتظر المثاليات من غيري و لن أعيب على غيري.
البرمجة كمهنة:
البرمجة بحد ذاتها أراها حرفة أكثر منها علماً (في كثير من الحالات على كل حال). مثلها مثل النجارة و الحدادة. صحيح أن من يمتهن النجارة يمكن أن يستفيد كثيراً من معرفة كيف تعمل أدواته و لكنها ليست معلومة أساسية و خاصةً عندما يقوم بأعمال بسيطة. البرمجة نوعاً ما هكذا. أو دعني أقول صنع البرامج هكذا (سأوضح الفرق بين البرمجة و صنع البرامج لاحقاً). كل من عمل في مجال صنع البرامج يعلم تماماً أنها عملية نوعاً ما عشوائية بسبب العدد الهائل من المتغيرات (لا أقصد المتغيرات البرمجية) التي تدخل في هذه العملية. نوع الأجهزة. نوع نظام التشغيل. البيئة البرمجية. المستخدم النهائي و توقعاته (التي تكون فى 99% من الحالات شئ مختلف تماماً عن ما كنت أنت كمبرمج تتصوره). و هلمجرا. نعم هناك أسس علمية بدأت تطبق على صنع البرامج و لكنه ما زال علماً حديثاً و النظريات و أساليب العمل ما زالت تتوالى كل يوم.
ما دام صنع البرامج حرفة فمن يتعلمها سيريد في النهاية عائداً من هذا الإستثمار من الوقت و الجهد. لذا لإختصار الطريق من المفضل تعلم الحرفة التي يتطلبها السوق. لغات البرمجة عديدة و المنصات و بيئات العمل أيضاً كثيرة و العمر يكفي لتعلمها كلها ناهيك الإحتراف فيها. لذا فمن المنطقي جداً للطالب الذي بسعى وراء البرمجة من أجل العائد المادي أن يعرف سوق العمل. و لكن معرفة الحالة الراهنة للسوق لا تكفي في مجال ديناميكي مثل عالم الحاسب. يجب أيضاً معرفة الإتجاهات المستقبلية أيضاً حيث أن التغيير في هذا العالم سريع و سريع جداً.
النصيحة التالية هي لطلاب السنوات الأخيرة في مجال الحاسب (الطلاب المستجدون ما زال أمامهم وقت طويل قبل أن يفكروا في سوق العمل). كطلاب درسوا الحاسب لمدة سنتين أو ثلاث سنوات على الأقل ففكرة البرمجة ليست غريبة بالنسبة لهم. صحيح أنهم ربما تعلموا بلغة لا مكان لها في السوق و لكن هذه ليست مشكلة. في تعلمهم هذا درسوا (عن وعي و بغير وعي) أسس البرمجة و يمكنهم بجهد بسيط الإنتقال لأي لغة أخرى. النصيحة أيضاً لمن يريد دخول مجال الحاسب كمهنة عن طريق الدورات و لكن ليس لديه خلفية سابقة عن البرمجة لذا عامل المخاطرة لديهم أكبر و عليهم الإختيار بعناية.
1. فيجوال بيسك 6: نعم ما زالت العديد من الشركات تطلب هذه اللغة و هي حتماً لغة مطلوبة و ليس في منطقتنا فحسب بل في العالم أجمع. و لكن (ضع تحتها خطين) هذه اللغة في طريقها للإنقراض على الأقل في سوق العمل (و لا يزعل مني جماعة فيبي 6). ميكروسوفت قد سحبت دعمها لهذه اللغة. صحيح أن المراجع ما زالت موجودة و لكن كبرى الشركات تعتمد إعتماد شبه كامل على دعم الشركة المصنعة لذا حصة الفيبي 6 في السوق ستتراجع شيئاً فشيئاً. لا بأس من تعلمها و لكم كن مستعداً لتركها و تعلم شئ آخر.
2. أوراكل: هناك سوء فهم شديد لدى العديد من شبابنا بأن أوراكل لغة برمجة و هذا خطأ. أوراكل قاعدة بيانات. كلمة مبرمج أوراكل تقصد شخص يستخدم تقنيات إنتاج البرامج التي تأتي مع أوراكل مثل الفورمز الديفيلوبر Forms Developer و الآن في النسخ الجديدة الـJ Developer. لا أنصح بتاتاً (خطين) بتعلم الفورمز ديفيلوبر. لأنها تقنية قديمة و في طريقها للإنقراض (أكثر من فيبي 6) و لم تعد تأتي مع الإصدارات الجديدة من أوراكل. أما الـJ Developer فشئ آخر تماماً و هي تعمل بلغة جافا و سأذكرها لوحدها بعد قليل.
3. جافا: حصتها ليست بحجم الفيبي 6 و لكنها ليست حصة صغيرة. قد لا تستعملها الشركات الصغرى كثيراً و لكنها حتماً منتشرة في الشركات الأكبر حجماً. مرونة هذه اللغة سمحت لها بالتغلغل في جميع أنواع التطبيقات. بدئاً من تطبيقات الويب إلى تطبيقات الويندوز وصولاً إلى "وصلات العمل" Business components المهمة جداً لدى الشركات الكبرى ذات العمليات الكثيرة.
4. فيجوال بيسك دوت نت و #C: الحصان الأسود الجديد في عالم البرمجيات. هذه اللغتين و تقنية الدوت نت عموماً هي تقنية حديثة نسبياً (لم يمر عليها أكثر من أربع سنوات) و لكن سوق العمل بدأ يتلقمها بسرعة متزايدة بالذات لدينا في العالم العربي. مثل الجافا مرونتها العالية تجعلها مناسبة لعدد كبير من التطبيقات. و دعم شركة ميكروسوفت لها شئ هائل. أي شخص حضر واحد من ورش العمل التي تقيمها ميكروسوفت لهذه التقنية يعرف تماماً عماذا أتكلم. هذه اللغتين (بالذات فيبي دوت نت) هي التي بدأت تأخذ حصة فيبي 6.
5. PHP: هذه اللغة ما زالت تتسيد عالم تطبيقات الويب و لو أن حصتها بدأت تتراجع قليلاً (جداً) لصالح جافا و منصة دوت نت. كونها لغة سهلة و ذات أداء جيد و مجانية يضمن بقائها في سباق تطبيقات الويب لمدة طويلة. و لكن تنبهوا أنها لغة محدودة نوعاً ما و مجالها الرئيسي هو الويب.
6. سيكول SQL: لازم لازم لازم تعلمها! هذه اللغة تستخدم للقراءة الكتابة من قواعد البيانات. و بما أن الغالبية العظمى البرامج في سوقنا هي برامج تعتمد إعتماد كلي على قواعد البيانات فتعلم على الإقل أساسيات هذه اللغة شئ حتمي فمن خلالها يمكنك التعامل مع أي من قواهد البيانات المستخدمة في السوق سواءً كانت أوراكل أو SQL Server أو أكسيس أو MySQL. و لكن ليس وحدها. فهي تتطلب العمل مع لغة أخرى لإنتاج تطبيق كامل. و يمكن تعلمها و أنت تتعلم لغة أخرى فهي سهلة جداً.
و للحديث بقية....
ملاحظة: الكلام السابق كله رأي شخصي و يحتمل الخطأ و التعديل و لكنه مبني على خبرتي في سوق العمل هنا في منطقة الخليج.







