هل سمعت مصطلح برمجة الحاسوب سابقاً ووجدت نفسك تطرح أسئلة مثل “ماذا تعني البرمجة” و “من أجل ماذا تُستخدم”؟
في هذه المقالة، سنقدم لك الدليل الشامل لشرح البرمجة، مما يساعدك على الإجابة على السؤال، ما هي البرمجة؟
سنغطي أيضاً الفرق بين برمجة الحاسوبية وكتابة الكود، وسنشرح ما هي لغة البرمجة، وفوائد البرمجة، وبعض النصائح المفيدة لمساعدتك على البدء فيما إذا كنت مبتدئاً.
ما هي البرمجة؟
لنبدأ بتعريف بسيط للبرمجة، تتضمن البرمجة تكليف أجهزة الكمبيوتر لأداء مهام. قد تكون مهمة بسيطة مثل جمع رقمين أو حل مشكلات معقدة مثل تشغيل السيارات ذاتية القيادة.
بعد أن عرفنا البرمجة، دعونا نفكر في مكانتها في العالم المتطور. حسناً، يمكننا أن نقول بأمان إن البرمجة تتشابك مع حياتنا اليومية بطرق أكثر مما نعرفه غالباً.
يمكن رؤية استخدامات البرمجة لجعل الحياة أكثر راحة في جميع مناحي الحياة تقريباً، بدءاً من الأعمال والترفيه والنقل والرعاية الصحية والزراعة والرياضة والسياسة وغير ذلك.
أول مبرمج حاسوب
يعود الفضل إلى عالمة الرياضيات الإنجليزية في القرن التاسع عشر Ada Lovelace باعتبارها أول منشئ لبرنامج حاسوبي لديه خوارزمية لحساب أرقام برنولي.
بالتعاون مع Charles Babbage، طورا ما يعتبر أول جهاز حاسب. كان جهازاً ميكانيكياً بدائياً يسمى المحرك التحليلي، وكتبت Lovelace خوارزميتها لهذا الجهاز.
ومنذ ذلك الوقت، تطورت البرمجة لتصبح مجالاً واسع النطاق داخل صناعة التكنولوجيا وخارجها.
ما هي لغات البرمجة؟
ربما تتساءل كيف يقوم المبرمجون (البشر) بكتابة التعليمات على أجهزة الكمبيوتر، حيث يتم ذلك باستخدام لغات البرمجة
تحتوي اللغات البشرية مثل الإنجليزية والإسبانية على قواعد نحوية تمكننا من تكوين العبارات والجمل. كذلك تحتوي لغات البرمجة على قواعد نحوية تساعد المبرمجين على الوصول للمنطق خلف الكود المكتوب.
عندما نشير إلى لغات البرمجة، يمكننا عادةً تصنيفها إلى أربع فئات مميزة.
1. Machine code:
هل سبق لك أن سمعت العبارة “الحاسب لا يفهم سوى 1 و0″؟ هذه هي لغة الآلة أو (machine code). إنها مجموعة من الأرقام الثنائية (1 و0) التي تستخدمها وحدة المعالجة المركزية للكمبيوتر للتنفيذ مباشرة.
يحتوي الكمبيوتر على ترانزستورات، وهي مفاتيح كهربائية صغيرة ذات خيارين، إما التشغيل (للرقم 1) أو الإيقاف (للرقم 0). ويمكن لوحدة المعالجة المركزية للكمبيوتر قراءة مجموعات من إشارات (التشغيل/الإيقاف) الكهربائية هذه وإنشاء الناتج المطلوب. بشكل عام، يشار إلى التعليمات البرمجية الآلية بلغة منخفضة المستوى.
ومن باب التسلية والفهم فقط، إليك مثال على التعليمات البرمجية الآلية لكلمة “Hello”.
مثال على لغة الآلة:
01001000 01100101 01101100 01101100 011011112. لغة: Assembly Language(ASM)
تم اختراع هذه التعليمات لأن التعليمات البرمجية الآلية قد تكون مملة وعرضة للخطأ. لذا، بدلاً من استخدام الأرقام الثنائية، تتم كتابة التعليمات البرمجية باستخدام أوامر تتضمن رموزاً وأحرفاً
نظراً لأن الكمبيوتر يمكنه فقط تنفيذ الأصفار والواحدات (machine code)، فيجب على المبرمجين استخدام برنامج assembler لترجمة لغة التجميع إلى machine code قبل التنفيذ.
ومع ذلك، فإن هذه اللغة ليست سهلة الاستخدام بالنسبة للبشر، وتتطلب معرفة عميقة بذاكرة الحاسب وعمليات وحدة المعالجة المركزية لفهمها. ومثلها كمثل لغة الآلة، يمكن أيضاً الإشارة إلى لغة التجميع باعتبارها لغة منخفضة المستوى.
لقد قمنا بتضمين مثال للغة التجميع لطباعة الكلمة “Hello” على الشاشة باستخدام لغة التجميع x86.
مثال على لغة Assembly:
org 0x100
mov dx, msg
mov ah, 9
int 0x21
mov ah, 0x4c
int 0x21
msg db 'Hello', 0x0d, 0x0a, '$'3. لغة:Mid-Level
عندما تبتعد عن لغات المستوى المنخفض، فمن المرجح أن تواجه لغات المستوى الأعلى التي يفكر فيها معظم الأشخاص عندما يسمعون مصطلح لغة البرمجة.
وطالما من الجيَد تجميع كل هذه اللغات معاً، فمن المفيد تقسيم هذه اللغات الحديثة إلى فئتين فرعيتين، بدءاً من لغات المستوى المتوسط.
تتيح لك هذه اللغات الكتابة بلغة أكثر ملاءمة للإنسان مع الاحتفاظ بالقدرة على الوصول إلى طبقة التجريد في نظام الكمبيوتر. لا يزال بإمكانك التحكم في الأجهزة الأساسية بشكل مباشر، مما يجعل اللغات متوسطة المستوى بمثابة جسر بين اللغات ذات المستوى الأدنى والأعلى.
تستخدم لغات المستوى المتوسط المترجمين لترجمة تركيبها النحوي إلى machine code، مما يسمح لأجهزة الكمبيوتر بتنفيذ الكود.
تتضمن بعض الأمثلة الشائعة للغات المستوى المتوسط لغات C وPascal وCobol. وللحفاظ على عادتنا في النظر إلى الكود الفعلي، أضفنا كتلة صغيرة من كود C لإخراج كلمة “Hello” إلى الشاشة.
مثال على لغة Mid-Level:
#include <stdio.h>
int main() {
printf("Hello");
return 0;
}4. لغة High-Level:
تماماً مثل لغات Mid-Level، عندما تسمع مصطلح لغة البرمجة، فإن هذه هي اللغات التي يُشار إليها عادةً. يستخدمها معظم مبرمجي الكمبيوتر في أنشطتهم اليومية وأعمالهم.
تستخدم اللغات عالية المستوى مترجمين خاصين يطلق عليهم اسم المترجمين لترجمتها إلى machine code، مما يسمح لأجهزة الكمبيوتر بتنفيذ منطق الكود.
تتميز هذه اللغات بقواعد نحوية سهلة الاستخدام وتتضمن لغات برمجة عامة مثل Python وJavaScript وPHP. يمكنك أيضاً اعتبار اللغات الخاصة بمجالات محددة مثل SQL وHTML لغات عالية المستوى.
لقد قمنا بتضمين مقتطف من كود JavaScript يقوم بإخراج الكلمة “Hello” إلى شاشة وحدة التحكم.
مثال على لغة High-Level
console.log("Hello")ما هو الفرق بين كتابة الكود والبرمجة؟
غالباً ما تسمع مصطلحي “coding ” و”البرمجة” يُستخدمان بشكل متبادل، ولكن هناك بعض الاختلافات التي تستحق الوقوف عندها.
- Coding: عنصر أساسي في البرمجة يتضمن ترجمة منطق البرنامج حتى تتمكن أجهزة الكمبيوتر من فهمه وتنفيذه. ويشمل ذلك كتابة أسطر التعليمات البرمجية التي يتكون منها البرنامج، لذا فهو يهتم أكثر باستخدام قواعد بناء الجملة الخاصة بلغات البرمجة للتواصل مع أجهزة الكمبيوتر.
- Programming: لا يقتصر هذا على كتابة التعليمات البرمجية فحسب. بل يشمل عادةً جوانب أخرى من إنشاء البرامج، مثل تحديد متطلبات البرنامج، وترجمة المتطلبات إلى تعليمات برمجية، وتصحيح الأخطاء، والاختبار، وإنشاء الوثائق، وغيره من الجوانب.

يمكن وصف العلاقة بين كتابة كود والبرمجة على أفضل وجه من خلال النظر فيما ينطوي عليه كل تعريف.
يعتبر كتابة الكود بمثابة كتابة تعريف البرنامج بلغة يفهمها الحاسب، بينما تتضمن البرمجة إنشاء عناصر أوسع، مثل وضع خطط، والإعداد، والتطوير، وتوضيح وشرح الإجراء، وما إلى ذلك.
ما هي فوائد البرمجة؟
ربما إنك تفكر، حسناً، هذا جيد، ولكن لماذا تهتم؟ التكنولوجيا موجودة في كل مكان، ولا يمكن المبالغة في أهمية فوائد برمجة الكمبيوتر.
على سبيل المثال، أنت تقرأ هذا المقال لأن جهازك مبرمج لعرضه لك عندما تنفذ النقرات الصحيحة. دعنا نرى بعض الأسباب التي تجعلك تهتم بالبرمجة.
إقرأ أيضاً: ما هو نموذج تطوير التطبيقات السريع (RAD)؟
العمل بشكل أسرع: تتميز أجهزة الكمبيوتر بسرعتها المذهلة، وبفضل البرمجة، يمكننا الاستفادة من قوتها لحل مشكلات معقدة قد تستغرق وقتاً طويلاً. ومن الأمثلة على ذلك قوة تطبيقات المراسلة الفورية.
- أكثر راحة: إن أغلب الطرق المريحة للقيام بالأشياء في عالمنا الحديث ترجع إلى البرمجة. على سبيل المثال، بفضل البرمجة، يمكنك أن تكون في راحة منزلك وتطلب بعض الطعام ويصلك في دقائق.
- العمل 24/7: يمكن لأجهزة الكمبيوتر أن تعمل على مدار الساعة طوال أيام الأسبوع دون أن تشعر بالإرهاق أو الملل! لذا يمكنك كتابة برامج لأجهزة الكمبيوتر للتعامل مع المهام الروتينية والمتكررة، مما يمنحك وقتاً فارغ يمكنك قضائه في المهام التي تتطلب التفكير الإبداعي.
- فرص العمل: هناك العديد من فرص العمل المتاحة عندما تتعلم البرمجة. فمعظم الشركات لديها مواقع ويب وتحتاج إلى مبرمجين لإنشاء هذه المواقع وصيانتها. وتشمل الفرص الأخرى تطوير تطبيقات الهاتف المحمول، وتطوير الألعاب، وعلوم البيانات، والذكاء الاصطناعي، وغيره.
- المهارات المنطقية وحل المشكلات: في الأساس، البرمجة هي حل المشكلات. إن إنشاء برامج الكمبيوتر يحفزك على التفكير في المشكلات والتفكير في الحلول وإيجاد الحل الأكثر كفاءة، مما يساعدك على تحسين مهاراتك التحليلية. لذا، سواء كنت تستخدم البرمجة المنظمة أو البرمجة كائنية التوجه أو أي نهج آخر، فسوف تحل المشكلات.
- استمتع ببناء أشياء رائعة: يمكنك إنشاء ألعابك أو تطبيقاتك الخاصة! تخيل أنك تقوم بإنشاء تطبيقك الخاص، وتضعه على AppStore أو Play Store، وتحصل على آلاف التنزيلات! يبدو الأمر مثيراً، أليس كذلك؟ إنه أمر ممكن عندما تتعلم البرمجة.
كيف تتعلم البرمجة
إذا كنت مهتماً بتعلم البرمجة، فإليك بعض النصائح والخطوات التي يمكنك اتخاذها لضمان رحلة تعليمية سلسة.
- تعرَف أسبابك للتعلم: حدد سبب رغبتك في تعلم البرمجة. قد ترغب في تغيير مسارك المهني إلى تطوير الألعاب أو تطوير البرمجيات، أو بناء مشروع تحبه، أو التعلم كهواية. سيساعدك سبب تعلمك على اختيار أفضل طريقة لبدء هذه الرحلة الشَيقة.
- اختر لغة البرمجة: يرتكب العديد من المبتدئين خطأ تعلم عدة لغات في وقت واحد، ولكن من الأفضل اختيار لغة واحدة للبدء وتعلم لغة أخرى لاحقاً.
- اختر مصدر التعلم: تتضمن خيارات التعلم الالتحاق بدورة تدريبية عبر الإنترنت، أو قراءة كتاب، أو الانضمام إلى معسكر تدريبي، أو مجموعة من أي من هذه الخيارات. حدد أسلوب التعلم المفضل لديك واختر الخيار الأفضل لك.
- بناء المشاريع: ابدأ في بناء المشاريع في أقرب وقت ممكن! سيساعدك هذا في ترسيخ المفاهيم التي ستتعلمها من خلال دورة تدريبية أو كتاب أو برنامج تعليمي عبر الإنترنت. قم ببناء الأشياء وإعطالها واكتشف كيفية إصلاح الأشياء. إنه أمر ممتع!
- انضم إلى المجتمع: قد يكون تعلم كيفية كتابة التعليمات البرمجية أمراً صعباً. ولكن عندما تنضم إلى مجتمع من المتعلمين ذوي التفكير المماثل، فقد يكون الأمر أقل ترويعاً. استفد إلى أقصى حد من المساعدة المقدمة من المبرمجين الذين يتمتعون بخبرة أكبر منك.
الخاتمة
إذا كنت قد قرأت حتى هذا الحد، فقد أصبح لديك إجابة السؤال، ما هي البرمجة؟
ومع شرح البرمجة، يمكننا مناقشة الفرق بين كتابة الكود والبرمجة قبل تغطية الأنواع المختلفة من لغات البرمجة، بما في ذلك اللغات ذات المستوى الأدنى (machine code ولغة assembly) واللغات ذات المستوى الأعلى (متوسطة المستوى وعالية المستوى).
كما تعمقنا في الفوائد العديدة للبرمجة، بما في ذلك بعض النصائح والإرشادات التي يمكنك اتباعها إذا كنت مستعداً لتعلم البرمجة.
مما لا شك فيه أن برمجة الحاسب موضوع كبير، وهناك الكثير لنتعلمه ونكتشفه! نأمل أن تكون هذه المقالة قد أثارت اهتمامك بينما ساعدتك على تعلم ما هي البرمجة بكلمات بسيطة.
وبالطبع، نأمل أن تشعر الآن بالاستعداد والحماس لاستكشاف المزيد.
الأسئلة الشائعة
1- ما هو الهدف الرئيسي من البرمجة؟
الهدف من ذلك هو تعظيم قوة أجهزة الحاسب. تسمح لنا البرمجة بحل المشكلات باستخدام أجهزة الحاسب بسرعة وبتكلفة زهيدة وبكفاءة.
2- ما هي البرامج المستخدمة في البرمجة؟
تتطلب البرمجة منا استخدام قطع برمجية مختلفة، ومن أهمها بيئة التطوير المتكاملة (IDE) أو محرري التعليمات البرمجية مثل Visual Studio Code أو Atom ونظام التحكم في الإصدارات مثل Git.
3- ما هو الفرق بين كتابة الكود والبرمجة؟
كتابة الكود هو عندما نستخدم قواعد لغة برمجة لكتابة برامج الحاسب. تتضمن البرمجة عمليات إضافية مثل تحديد متطلبات البرنامج وتصحيح الأخطاء والاختبار وما إلى ذلك.






اترك تعليقاً