البرمجة تشبه تعلم لغة جديدة
تعلم لغة برمجة لا يختلف كثيرًا عن تعلم لغة بشرية جديدة. فكلاهما يعتمد على مجموعة من الكلمات، وقواعد تحدد كيفية استخدامها لتكوين جمل صحيحة.
هذه المقارنة تساعدنا على فهم العديد من المفاهيم البرمجية بطريقة أبسط، خاصة في بداية رحلة التعلم.
الكلمات المفتاحية (Keywords)
في اللغات البشرية توجد المفردات (Vocabulary)، وهي الكلمات التي نستخدمها للتعبير عن الأفكار.
وبالمثل، تحتوي لغات البرمجة على الكلمات المفتاحية (Keywords)، وهي كلمات محجوزة لها معانٍ خاصة داخل اللغة، مثل:
ifelseforwhilereturnfunctionوعلى عكس اللغات البشرية، تتشابه الكلمات المفتاحية في معظم لغات البرمجة، لذلك يصبح الانتقال من لغة إلى أخرى أسهل مما قد تتوقع.
لماذا لا يمكن استخدام الكلمات المفتاحية كأسماء؟
في اللغات البشرية، لكل كلمة معنى محدد. فلا يمكن أن تستخدم كلمة مثل if باعتبارها اسم شخص داخل الجملة، لأن لها وظيفة لغوية معروفة.
وينطبق المبدأ نفسه على لغات البرمجة. فالكلمات المفتاحية لها معانٍ محددة مسبقًا، لذلك لا يمكن استخدامها لتسمية المتغيرات أو الدوال أو أي معرف (Identifier) آخر.
لا يهم الآن معرفة معنى المتغير أو الدالة، فسنناقشهما لاحقًا. المهم في هذه المرحلة هو فهم فكرة أن بعض الكلمات محجوزة للغة نفسها ولا يمكن إعادة استخدامها لأغراض أخرى.
قواعد اللغة وقواعد البرمجة
لا يكفي أن تعرف الكلمات فقط، بل يجب أن تعرف كيف ترتبها.
في اللغات البشرية، توجد قواعد اللغة (Grammar) التي تحدد كيفية تكوين الجمل بطريقة صحيحة.
وفي لغات البرمجة، يوجد بناء الجملة (Syntax)، وهو مجموعة القواعد التي تحدد الطريقة الصحيحة لكتابة الكود.
إذا كانت قواعد اللغة خاطئة، فقد لا يفهمك الشخص الذي تتحدث إليه. وبالمثل، إذا كان بناء الجملة (Syntax) غير صحيح، فلن يتمكن المترجم أو المفسر من فهم البرنامج، وسينتج عن ذلك خطأ يمنع تشغيله.
مثال
في اللغة الإنجليزية:
If you are older than 18 years old, you can pass.وفي JavaScript:
if (age > 18) { console.log("Pass");}في كلا المثالين توجد فكرة واحدة: شرط يؤدي إلى نتيجة. الاختلاف الوحيد هو أن لكل لغة قواعدها الخاصة في كتابة هذه الفكرة.
ماذا يجب أن تتذكر؟
- المفردات (Vocabulary) في اللغات البشرية تقابل الكلمات المفتاحية (Keywords) في لغات البرمجة.
- الكلمات المفتاحية كلمات محجوزة، لذلك لا يمكن استخدامها كأسماء للمتغيرات أو الدوال.
- قواعد اللغة (Grammar) تقابل بناء الجملة (Syntax) في البرمجة.
- معرفة الكلمات وحدها لا تكفي؛ يجب أيضًا معرفة القواعد التي تنظم استخدامها.