أول عائق يواجه أي شخص يريد تعلم البرمجة هو عدم وضوح الطريق. فتجده تائها بين لغات البرمجة الكثيرة والمسارات المختلفة. فيحبط ويعود من حيث جاء ظنا منه أن الأمر صعب بل مستحيل ولا داعي للمحاولة. والبعض الآخر يظنون أن البرمجة حكر على أصحاب التخصص الذين درسوا علوم الكمبيوتر في الجامعة. ولا يعلمون أن أفضل المبرمجين في العالم لم يدرسوا البرمجة في الجامعات بل وبعضهم لم يدخلوا الجامعة من الأساس ولا يحملون أي شهادة.
لقد أصبحت البرمجة اليوم عبارة عن حرفة. أي شخص يستطيع تعلمها ولا تحتاج لأي شهادة. بل نادرا أن يطلب أحدهم من المبرج شهادة لكي يوظفه. الشهادة في عالم البرمجة هي المشاريع. ماذا صنعت وماذا يمكنك فعله. أما تلك الورقة التي تعطى في آخر سنة من التعليم العالي فليس لها قيمة كبيرة في هذا المجال.
وبغض النظر عن إتخاذ البرمجة كوظيفة في المستقبل أم لا. للبرمجة فوائد كبيرة جدا ومتعددة.
فوائد تعلم البرمجة
1- دخل مادي إضافي
بالتأكيد أول إفادة ستحصل عليها بعد إتقانك للبرمجة هي تنمية مصادر دخلك. فكما هو معلوم البرمجة مصدر جيد للدخل. بل ويمكنك في مراحل متقدمة الإعتماد عليها كمصدر الدخل الرئيسي. يمكنك من خلال البرمجة العمل كفريلنسر (العمل الحر). أو البحث عن وظيفة أو إنشاء مشروعك الخاص. لا تقلق من هذه الناحية. فقط تعلم البرمجة بشكل صحيح وأبذل بعض الجهد لإتقانها وستجد أكثر من طريقة لكسب المال منها.
2- حل المشاكل
ستتعلم من خلال البرمجة أهم مهارة في الحياة وهي القدرة على حل المشاكل. ولا نعني حل المشاكل البرمجية فقط. بل حل المشاكل الحياتية بكل أنواعها. ستتعلم من خلال البرمجة التفكير المنطقي والتحليل المعمق للأمور. كما ستكتسب قناعة أن لكل مشكل حل. وأنه يمكن حل أي مشكل بأكثر من طريقة مختلفة. سيصبح تركيزك أكبر على الحلول بدل التركيز على المشكل في حد ذاته وتعقيده بشكل أكبر.
3- التفكير النقدي
بعد تعلمك للبرمجة. ستختلف نظرتك لكل شيء. ستصبح ترى الأشياء بطريقة مختلفة. فبعد أن كنت تنظر لبعض الأمور على أنها مسلمات. ستصبح تبحث عن طرق أفضل للقيام بالأشياء.
المسارات المختلفة للبرمجة
إذا كنت جاد فعلا في تعلم البرمجة فيجب عليك أولا إختيار تخصص ما من بين تخصصات البرمجة المختلفة. فالبرمجة بحر كبير جدا ولا يمكن أبدا التعمق في جميع إختصاصاتها. كل إختصاص يتفرع هو الآخر لمسارات فرعية.
أولا تطوير الويب
تطوير الويب مجال واسع جدا وينقسم إلى قسمين رئيسيين الأول مطور الواجهات الأمامية (Front-end developer) والثاني (Back-end developer) وهناك من هو متخصص في المجالين معا ويسمى (Full stack web developer) كما أن هناك العديد من لغات البرمجة المخصصة لتطوير المواقع.
بغض النظر عن تخصصك لابد لكل مطور ويب المرور على هذه اللغات
- HTML: وهي ليست لغة برمجة إنما تعتبر لغة ترميز تستخدم في إنشاء وتصميم صفحات ومواقع الويب، وتعتبر هذه اللّغة من أقدم اللّغات وأوسعها استخداما في تصميم صفحات الويب. HTML هيكل صفحة الويب وتعطي متصفّح الإنترنت وصفا لكيفيّة عرضه لمحتوياتها
- CSS: كذلك هذه اللغة ليست لغة برمجة إنما هي لغة تنسيق لصفحات الويب تهتم بشكل وتصميم المواقع.
- JavaScript هي لغة برمجة تستخدم في متصفحات الويب لإنشاء صفحات أكثر تفاعلية.
ثم بعد ذلك تختار التخصص المناسب لك، لكن أولا لابد لك من إتقان هذه اللغات الثلاثة.
ثانيا تطوير تطبيقات الموبايل
ينقسم تطوير تطبيقات الهاتف المحمول إلى قسمين. الأول تطوير تطبيقات الأندرويد والثاني تطوير تطبيقات الأيفون (ios).
بالنسبة لتطوير تطبيقات الأندرويد يجب عليك أولا تعلم لغة جافا (Java) أو كوتلن (Kotlin). ثم الدخول لعالم تطوير تطبيقات الأندرويد وتعلمها.
أما بالنسبة لتطوير تطبيقات الأيفون (ios) يجب عليك تعلم لغة Objective-C أو Swift.
ولكن ظهرت مؤخرا تكنولوجيات جديدة تمكن من تطوير تطبيقات الأندرويد و IOS في الوقت نفسه و بشفرة برمجية واحدة. أشهرها على الإطلاق Flutter المطور من قبل جوجل و React Native لفيسبوك. وأنصح كل شخص يريد الدخول الى هذا المجال إختيار واحد من هذه التكنولوجيات وتعلمها إلا أنني أنصح دائما بتعلم Flutter لعدة أسباب لا يسعنا ذكرها في هذه المقالة. إضافة إلى أنه مناسب أكثر للمبتدئين.
بالنسبة لفلاتر فهو إطار عمل مبني على لغة البرمجة Dart لتطوير تطبيقات الأندرويد و IOS كما يمكن من خلاله أيضا بناء مواقع الويب. ولتعلم فلاتر لابد أولا من تعلم لغة البرمجة Dart.
أما بالنسبة ل React Native فهو مبني على لغة الجافاسكريبت (JavaScript) قامت بتطويره شركة فايسبوك وذلك لتطوير تطبيقات الأندرويد وال IOS.
ثالثا تطوير تطبيقات سطح المكتب
المقصود بتطبيقات سطح المكتب (Desktop Application)، تطبيقات الكمبيوتر وهنا الخيارات لا محدودة. أما أشهر لغات البرمجة لتطوير تطبيقات سطح المكتب هي Java, C++ و C#. وحتى JavaScript يمكن بطريقة ما تطوير تطبيقات سطح المكتب بإستخدامها.
أفضل مصادر تعلم البرمجة
الأنترنت مليئة بمصادر التعلم المختلفة وخاصة منها مصادر تعلم البرمجة . بعض هذه المصادر مدفوع ولكن هناك الكثير من المصادر المجانية وأهمها موقع Youtube.
أما إذا كنت لا تمانع الإستثمار في نفسك وإنفاق بعض المال في سبيل تطوير نفسك وتنمية مهاراتك ستجد الكثير من المصادر الأكثر من الرائعة. ربما أهمها على الإطلاق موقع Udemy. يوجد على هذا الموقع مئات الدورات في جميع المجالات، بعضها مجاني لكن أغلبها مدفوع. وطبعا أغلب هذه الدورات باللغة الإنجليزية.
أما باللغة العربية، توفر أكادمية حسوب دورات تدريبية في مجالات البرمجة المختلفة.
في النهاية البرمجة ليست صعبة أو ليست بالصعوبة التي كنت تتخيلها. وإضافة إلى ذلك هي ممتعة ومفيدة. وبالتأكيد لن يكون تعلمك لها خسارة، مؤكد أنك ستحتاجها في يوم من الأيام.
اقرأ أيضا: أفضل 5 إستضافات مواقع مجانية 100٪