إن عملية التواصل بين البشر والآلة أمر مهم جدًا، فليس من المعقول أن يقوم الإنسان باختراع آلة دون معرفته الطريقة للتعامل معها، لذلك تم تصميم لغات خاصة للتعامل مع الآلات، وتدعى بلغات البرمجة، وتعرف هذه اللغات بالنظام الثنائي، أي باستخدام الرقمين صفر وواحد، فإن كنت مهتم حقًا في التعرف على البرمجة فتابع المقال معنا.
ما هي البرمجة؟
البرمجة هي صلة الوصل بين الإنسان والآلة الإلكترونية، فعندما يريد الإنسان أن يصدر الأوامر لهذه الآلات لا يصدرها بشكل مباشر، فليس من المعقول أن أتحدث إلى الحاسوب باللغة العربية أو الإنكليزية وآمره بأن يفتح، بل تم تصميم الحاسوب وفق خطوات برمجية معينة تأمره بالعمل عند الضغط على زر التشغيل.
إن أردنا تبسيط معنى البرمجة فهي الأكواد التي يقوم الإنسان بكتابتها للآلة حتى تفهم الوظيفة المطلوبة منها، فإن أردت مثلًا تصميم لعبة تهتم بالسيارات، فلن تحتاج إلى مصمم جرافيكي، بل أنت تحتاج إلى مصمم برمجي يقوم بتصميم هذه اللعبة لك، ونفس الأمر بالنسبة للمواقع والمتاجر الإلكترونية.
لا تتوقع من الحاسوب أن يقوم بمهام لم تبرمجه عليه أنت، لنقرب المثال أكثر، كيف تطلب من طفلك السباحة وأنت لم تدربه عليها من قبل، وذات الشيء بالنسبة للحاسوب، كيف تطلب منه الآلة الحاسبة ولم تقم ببرمجتها وبرمجة الأمر المطلوب منه عند كل ضغطة زر يقوم بها المستخدم.
لا تعتبر لغات البرمجة سهلة بل هي تحتاج إلى الكثير من الممارسة والإتقان، علاوةً على ذلك؛ فهي عديدة ومتنوعة ومتطورة نظرًا للتطور التقني الذي نعيشه في عصرنا اليوم.
اقرأ أيضًا: 7 نصائح مهمة قبل تعلم البرمجة!
ما هي اتجاهات البرمجة؟
بعد أن تعرفت على المعنى المبدئي للبرمجة، عليك الآن الخوض فيها، فهي تمتلك العديد من المسارات المختلفة، ولكن إن كنت تريد أن تكون مبرمجًا مميزًا، يجب أن تمتلك خبرة كافية في جميع هذه المسارات، حتى لو كنت متخصصًا في مجال معين، ويجب التنويه إلى أن مسارات البرمجة الفرعية تزيد وتتطور، ولكن هنالك مسارات أساسية هي المدخل الأول للبرمجة وهي:
- تصميم المواقع الإلكترونية على الويب.
- تصميم الألعاب المختلفة.
- تحديث برامج الحاسوب الأساسية.
- تحديث تطبيقات الأجهزة المحمولة.
لقد أكّدت سابقًا على ضرورة المعرفة الجيدة بجميع هذه المسارات، ومن ثم التخصص والتعمق بمجال محدد، لذلك سأقوم بشرح مختصر عن كل مسار.
-
تصميم المواقع الإلكترونية:
يشهد عصرنا اليوم توسعًا كبيرًا في المواقع الإلكترونية، فبالرغم من وصول العرب متأخرين، إلا أنهم يسعون جدًا للتطور والتمييز في هذا المجال.
يعتبر تصميم المواقع أمرًا سهلًا نسبيًا، فهو لا يحتاج إلى دراسة أكاديمية مسبقة للقيام بذلك، وهذا ما أدى لزيادة عدد مصممين المواقع.
ينقسم هذا المسار إلى فرعين أساسيين هما:
الفرونت أند: عند دخولك إلى الموقع ستلاحظ وجود الأزرار، والنصوص والألوان، والصور، والخطوط، وغيرها الكثير من التفاصيل التي يتمكن المستخدم من التحكم بها والزائر من رؤيتها، إن لغات البرمجة المستخدمة في هذا الفرع هي جافا وCSS وHTM، ولكن لا يكفي أن تتقن هذه اللغات وحسب، بل أنت بحاجة ماسة إلى امتلاك حس إبداعي ونظرة إيجابية، فما يهم الزائر أولًا وأخيرًا هو التصميم النهائي للموقع، كما يجب أن يمتلك المصمم خبرة كافية تصميم الواجهات، أي يجب عليه التعرف على الUX والUI وهذا من أجل تبسيط استخدام الموقع.
الباك أند: هو الفرع الذي يهتم بالأوامر التي يقوم السيرفر بقراءتها وتنفيذها، والذي يهتم بمتابعة إرسال البيانات واستقبالها وفق النحو الصحيح، فهو يهتم ببناء رابط بين الصفحات الظاهرة والتطبيقات والبيانات المختلفة، عليك التركيز معي الآن؛ إن كل الأوامر في الباك أند لا تظهر لدى المستخدم أو الزائر على عكس الفرونت أند فمثلًا، عندما يطلب منك الموقع تسجيل الدخول، هذا الأمر متعلق بالفرونت أند لأنه ظهر لك، أما عملية التحقق من بريدك وكلمة مرورك فهي من الباك أند، حيث أنك ستحصل على النتيجة النهائية لا على خطوات العمل وهذا هو الأهم، ويتم استخدام لغة جافا والPython والPHP وغيرها الكثير من اللغات
إن المبرمج الذي يمتلك خبرة كافية في كلا الفرعين المذكورين يسمى Full Stack، ولكن ليس بالضرورة أن تكون كذلك، لا أريد أن أحبطك؛ ولكن تعلم برمجة المواقع يحتاج إلى وقت طويل وخاصة عندما يتعلق الامر بالباك أند، فقد يستغرق منك الأمر سنوات، وإن إتقانك للباك أند لا ينفي أبدًا أهمية امتلاكك خبرة في الفرونت أند والعكس صحيح، ولكن قم أولًا بإتقان فرع ما والتمييز به، ثم اكتسب خبرة في باقي الفروع والمسارات، ولكن الخطوة الأولى لنجاحك هي أن تبدأ.
-
تصميم الألعاب المختلفة:
إن كنت تمتلك فكرة عن لعبة جديدة وتمتلك حس تصميمي إبداعي، فكل ما تبقى عليك إذًا هو تعلم البرمجة، والبدء في تصميم لعبتك الخاصة، ولكن لا تعتقد أن الأمر سهلًا إلى هذا الحد، بل يحتاج حقًا إلى الكثير من الجهد والتعب حتى تحصل على النتائج التي تطمح لها، وليس من الضروري دائمًا أن تبدأ برمجة اللعبة من الصفر، بل يوجد هنالك العديد من المحركات التي تساعدك على استخدام قالب مجهز سابقًا للعبة ما، وهذا ما سيجعل الأمر لك أسهل فمن أشهر هذه المحركات Unreal التي تستخدم لغة ++C و محرك Unity الذي يستخدم لغة C وغيرها الكثير من المحركات.
أحب التنويه في هذا القسم أن العالم العربي لا يمتلك الكثير من المؤهلات والإبداع في هذا المجال على عكس العالم الغربي.
-
تحديث برامج الحاسوب الأساسية:
يعتبر هذا المسار معقدًا من جميع النواحي، فأنت مطالب بتطوير برامج الحاسوب الموجودة على سطح المكتب، فمثلًا قد يطلب شخص أن تقوم بتطوير برنامجه التجاري الخاص، وبرنامج مكافحة الفيروسات، ويطلب منك شخص آخر القيام بتطوير برنامج الحاسبة وبرنامج محاسبة بسيط لمحله التجاري، وهذا الاختلاف بين البرامج والتطبيقات قد يضعك في حيرة كبيرة، ولكن من الأمور التي يجب ذكرها هي أن هذه البرامج جميعها تعتمد على لغات البرمجة الأساسية وهي ++C وC والجافا وهذا ما سيجعل الأمر سهلًا عليك.
-
تحديث تطبيقات الأجهزة المحمولة:
المبرمجون هنا يسعون لتطوير تطبيقات موجودة مسبقًا على الأندرويد وأيفون أو يقومون بابتكار تطبيقات جديدة، فمثلًا برنامج واتس آب الشهير أصبح له العديد جدًا من النسخ المطورة والتي يكثر استخدامها بين البشر، كما أن المبرمجين يقومون بتقديم أكثر من 6000 تطبيق إلى متجر بلاي بشكل يومي، وهذا ما يزيد من التنافس بينهم ويصبح النجاح هنا صعبًا ويحتاج إلى الكثير من التفكير والإبداع، فلم يعد مهمًا أن تلقي بتطبيقك الجديد بين بحر التطبيقات، بل يتوجب عليك تقديم تطبيق مميز ومفيد للبشرية كي يظهر تطبيقك على الوجود، فمثلًا تطبيق Alarmy الذي صنع ضجة كبيرة، فهو يعمل كمنبه ذكي يطلب منك القيام بنشاط رياضي معين حتى تتمكن من إيقاف صوت المنبه، وبهذه الطريقة يتأكد البرنامج بأنك قد صحوت حقًا، في الحقيقة يحتاج البشر بشكل كبير إلى هذا النوع من التطبيقات وهذا السبب الأول لشهرته وانتشاره، لذلك حاول التفكير في تطبيق مفيد وجديد.
كيف أتعلم البرمجة؟
علينا السعي الدائم لتعلم البرمجة ونشرها بين جميع مستويات المجتمع، فلم يعد عالمنا العربي بحاجة إلى المزيد من الجهل، فالعالم اليوم يشهد تطورًا وتقدمًا تقنيًا مرعبًا، ونحن لا زلنا نعتقد ان البرمجة تخصص لفئة محددة من البشر، بالطبع أنني لا أطالب البشر جميعًا بالغوص في بحر البرمجة، ولكن يكفي الحصول على معلومات بدائية محددة، فليس من الطبيعي أن يذكر أحدهم أمامك لغة جافا وتظن أنها لغة يتحدث بها أحد سكان الأرض، لذلك لا تدع للجهل طريقًا منك، وابدأ بتعلم البرمجة.
لا يعتمد تعلم البرمجة على التعلم الأكاديمي فقط، بل بإمكانك تعلمها من الكتب، أو من اليوتيوب، أو الدورات التعليمية أون لاين، أو في الواقع، ولا تنسَ أن السبيل الأول للإبداع في هذا المجال هو المثابرة والتدريب.
أخيرا إن كنت تريد التعرّف أكثر على مجال البرمجة فإن دورة مقدمة في علوم الحاسب – CS50x المقدمة من إدراك تعي بتقديم الطلبة المتخصصين والغير المتخصصين إلى مجال البرمجة وعلوم الحاسب. اشترك في الدورة مجانًا من هنا