سمعت عن البرمجة وتريد أن تفهم ما هي؟ نصحك أصدقاؤك بتعلم البرمجة لأنها من الوظائف الأعلى راتب في سوق العمل؟ أم أنك طالب جديد في مجال الحوسبة وتريد أن تتعلم عن البرمجة ولغاتها بشكل مبسط؟. أيًا ما كان هدفك فقد جئت إلى المكان الصحيح، ففي هذا المقال سنشرح لك بشكل سهل وممتع ما هي البرمجة وسنحدثك عن لغاتها المختلفة واستخداماتها، كما سنقدم لك مصادر عديدة لتبدأ تعلم اللغة التي تريدها. ابدأ معنا خطوة بخطوة.
المحتويات
ما المقصود بالبرمجة؟
لغات البرمجة واستخداماتها
كيف أبدأ تعلم البرمجة؟
مصادر تعلم البرمجة باللغتين العربية والانجليزية
اللغة هي وسيلة التواصل بين البشر وبعضهم، وحتى في عالم الحيوان والنباتات توجد لغة خاصة لكل فصيلة يتواصل من خلالها أفراد الفصيلة سويًا بغرض التعارف وبناء المجتمعات والتنبيه من المخاطر، إلخ. ولأن الحاسوب وحده دون استعمال هو مجرد قطعة خردة تقوم باستهلاك الكهرباء فقد كان لابد من تطوير لغة ليتواصل بها الإنسان مع هذه الآلة، ومن هنا جاءت كلمة البرمجة والتي تنوعت تعريفاتها ولكن يمكننا اختصارها جميعًا في جملة واحدة وهي "البرمجة هي عملية إعطاء الأوامر للحاسوب لأداء وظيفة ما كحل التمارين الرياضية مثلًا".
تكون هذه الأوامر أو التعليمات مكتوبة بلغة يفهمها الحاسوب وهي اللغة البرمجية وسنتحدث عنها بشئ من التفصيل فيما بعد، أما بالنسبة للوظائف التي يمكن للحاسوب أن يقوم بها فتختلف حسب التعليمات المُعطاة إليه فقد تكون المهمة المطلوبة منه هي تحليل البيانات أو أداء عمليات حسابية، أو التنبؤ بنتائج ما، إلخ. والمُبرمج هو من يقوم بتحديد الأمر وإعطاء التعليمات للحاسوب لأداء المهمة من خلال إحدى لغات البرمجة.
تقوم البرمجة على ثلاثة أسس وهم:
التتابع أو ترتيب وتسلسل التعليمات المُقدمة إلى الحاسوب.
نوع الأوامر التي سيقوم الحاسوب بتنفيذها.
عملية تكرار الأمر أو ما يُسمى بالـ Iteration.
تقدم قناة أكاديمية حسوب على يوتيوب فيديو بعنوان ما هي البرمجة ولماذا تصبح مبرمجًا يتناول فيه معنى كلمة برمجة وما هو تاريخ البرمجة و مفهوم مصطلح الخوارزميات، ومن هو المبرمج وما الذي يحتاجه لإتمام عملية البرمجة. وأكاديمية حسوب هي أكاديمية متخصصة في علوم الحاسوب ولغات البرمجة توفر للدارسين في العالم العربي مصادر عديدة لتعلم لغات البرمجة المتنوعة باللغة العربية وتقدم مسارات تعليمية على يد خبراء ومهندسين مختصين في مجال الحوسبة، وسنتحدث عن مسارات الدراسة التي تقدمها أكاديمية حسوب بشئ من التفصيل في الجزء الخاص بمصادر تعلم البرمجة.
تطورت اللغات البرمجية على مدار الوقت لتصبح أبسط في التركيب اللغوي وظهر أثناء عملية التطور تلك لغات عديدة مشتقة من بعضها البعض كما هو الحال في اللغات الإنسانية التي كلها لها نفس الأصل ولكن تختلف في البناء اللغوي والتعبيرات والمفردات اللغوية. ومن هنا انطلق مبدأ توظيف كل لغة برمجية لأداء وظيفة معينة أفضل من غيرها، ولتوضيح هذا المبدأ سنستعين بأمثلة من اللغات الإنسانية. مثلًا، معروف أن اللغة الإنجليزية هي اللغة التي يُفضل التعلم بها على الرغم من أنه يمكننا التعلم باللغة العربية أو أي لغة أخرى ولكن الإنجليزية هي الأفضل في هذا الأمر لأنها لغة عالمية يسهل على أغلب سكان العالم التحدث بها ويصدُر بها الكتب والمجلات العلمية وغيرهم. مثال آخر، اللغة الفرنسية معروفة بأنها لغة رقيقة ويُقال عنها أنها لغة الحب رُغم أنه يمكن التعبير عن الحب بأي لغة أخرى ولكن يجد البعض أن الفرنسية هي الأفضل في هذا المجال، هكذا هو الحال في البرمجة، يمكن لأكثر من لغة القيام بنفس الوظيفة ولكن يكون هنالك اللغة الأفضل دائمًا للقيام بهذه الوظيفة.
مثلًا فيما يخص تطوير مواقع الويب وتطبيقات الحاسوب، تعد لغة الجافاسكربت - JavaٍScript الأمثل في هذه الحالة، أما في مجالات الذكاء الاصطناعي والتعلم العميق وتعلم الآلة فلغة بايثون - Python هي الأكثر استخدامًا في المجال. أما إذا كنت تعمل في مجال علوم البيانات، فلغة R قد وجدت لهذا الغرض لأنها تُستخدم أساسًا في التحليلات الإحصائية.
وبالنسبة لتطوير تطبيقات أندرويد، يمكن استحدام لغتي الجافا - Java وكوتلن - Kotlen، كما يمكن استخدام JavaٍScript باستخدام ReactNative، ولتطوير تطبيقات الهاتف والحاسوب لأنظمة iOS وmacOS، تكون لغة سويفت - Swift هي اللغة المتخصصة لهذا الغرض. يستخدم المطورون لغة #C في تطوير خدمات الويندوز المبنية على الدليل النشط - Active Directory المُقدم من شركة مايكروسوفت، ويمكن استخدام هذه اللغة أيضًا في تطوير ألعاب الفيديو وتطبيقات الهاتف باستخدام امتداد NET. أما لغة الـ ++C لها استخدامات كثيرة ومتنوعة ابتداءً من ألعاب الحاسوب وحتى المحاكاة الرياضية.
لغة الـ PHP مشهورة هي الأخرى في عالم بناء المواقع التي تنشر محتوى مثل فيسبوك، ويكيبيديا، وإذا أردت بناء تطبيق يحتاج لمعالجة بيانات كبيرة، فعليك بتعلم لغة Go، حيث تستخدم هذه اللغة من قِبل الشركات لبناء تطبيقات مثل نتفلكس، تويتش وأوبر.
تتوفر العديد من اللغات الأخرى التي تُستخدم في أغراض متخصصة مثل:
1. دارت - Dart والتي تستخدم لبرمجة التطبيقات التي يمكن تشغيلها على أنظمة تشغيل مختلفة.
2. ماتلاب - MATLAB وهي تستخدم بشكل كبير في البحث العلمي في مجالات الفيزياء والطب.
3. بيرل - Perl وهي تُستخدم في تطوير إثبات المفهوم.
4. سكالا - Scala وتُستخدم في التطبيقات المبنية على السحابة.
تبدأ رحلتك لتعلم البرمجة بفهم ماذا يعني مصطلح البرمجة بشكل أعمق والتعرف على مكوناتها ومتطلباتها، ويمكن لفيديو أريد تعلم البرمجة من أين أبدأ؟ مساعدتك بشكل كبير في هذا الصدد.
تأتي بعد ذلك عملية تحديد الهدف من تعلم البرمجة واختيار اللغة المناسبة، ولكي تتمكن من إتمام هذه الخطوة لابد أولًا من تعلم أساسيات علوم الحاسوب ويمكن البدء بدورة أساسيات علوم الحاسوب التي تقدمها أكاديمية حسوب باللغة العربية، وهي دورة متكاملة تساعدك على تحديد اختياراتك وتقدم لك خلفية كبيرة في كل الأساسيات وتتكون من 8 مسارات. في أول مسار ستتعلم المفاهيم الأساسية لعلوم الحاسوب مع التطبيق العملي، أما المسار الثاني فيشمل أساسيات البرمجة باستخدام لغة جافا سكريبت - JavaScript، وفي المسار الثالث ستتعلم أكثر عن أنظمة التشغيل المختلفة مثل Linux - لينكس وغيره من الأنظمة الأخرى، أما المسار الرابع يقدم أساس جيد وقوي في تعلم قواعد البيانات ولغة SQL. في المسار الخامس ستتعلم كل شئ عن عالم الويب وأساسيات الشبكات والحماية في الويب، وفي المسار السادس ستتعلم البرمجة الكائنية - Object Oriented Programming من خلال لغة بايثون، أما المسارين الأخيرين فهما سيساعدانِك في بناء أساس قوي في الخوارزميات وبني المعطيات وأنماط التصميم مع التطبيق العملي من خلال لغة بايثون أيضًا.
أما إذا كنت من محبي التعلم باللغة الإنجليزية، توفر جامعة هارفارد العريقة دورة مميزة باللغة الإنجليزية في علوم الحاسوب باسم CS50 متوفرة على يوتيوب.
يساعدك أيضًا التحدث مع خبراء المجال أو قراءة المقالات والكتب التي تقدم محتوى مُبسط عن علوم البرمجة والحاسوب بشكل عام، على التعرف على المجال أكثر فأكثر، فهذا يمكنّك من تكوين صورة عامة وشاملة عن المجال وفروعه المختلفة. إن القراءة والاطلاع بشكل عام وخاصة في مجال الفلسفة والعلوم الرياضية، تساعدك على اكتساب مهارات ذهنية عديدة من بينها حل المشكلات والتفكير المنطقي وهما من المهارات التي تسهل عملية تعلم البرمجة.
يقدم لك فيديو كيف تحترف البرمجة من قناة أكاديمية حسوب تبسيطًا للخطوات التي يمر بها أي مبرمج أثناء أداء عملية البرمجة، وهذا سيساعدك في تكوين صورة أوضح عن متطلبات البرمجة.
وها أنت يا صديقي قد أتممت قراءة المقال ووصلت للختام، فلنعتبر أن هذه هي خطوتك الأولى في رحلتك لتعلم البرمجة، هنيئًا لك وفي انتظار خطوتك الثانية والثالثة والرابعة، إلخ. إن رحلة التعلم طويلة وقد تكون متعبة في بعض الأوقات ولكنها ممتعة فلا تفوتها.