عالم البرمجة مليء بالمصطلحات التي تبدو متشابهة، ومن ضمن هذه المصطلحات هو مصطلح Scripting Languages أي لغات السكربت ومصطلح Programming Languages أي لغات البرمجة، فإذا كنت مبرمج فبكل تأكيد أنك سمعت بهذين المصطلحين.
ولكن هل تسألت عن مامعنى هذين المصطلحين؟ وما الفرق بينهما؟
بداية يجب عليك أن تعرف أن كلاهما عبارة عن تصنيف للغات البرمجة فهناك لغات تصنف تحت لغات السكربت وأخرى تصنف تحت لغات البرمجة، إلا أن هناك اختلافات جوهرية بينهما. في هذه المقالة سنتعرف على ماهي لغات السكربت والفرق بينها وبين لغات البرمجة.
تعريف لغات السكربت Scripting Languages
تستخدم عادة لأتمتة العمليات أو إضافة وظائف بسيطة إلى برامج وأنظمة موجودة. ويتم تشغيل الأكواد المكتوبة بلغات السكربت عن طريق مفسر “interpreter” مباشرة دون الحاجة إلى عملية ترجمة كما يحدث في لغات البرمجة. ومن أشهر لغات السكربت هي: (Rupy – PHP – JavaScript – Python)
تعريف لغات البرمجة Programming Languages
تستخدم لإنشاء تطبيقات وأنظمة برمجية معقدة، وتعتمد هذه اللغات عادةً على المترجم “Compiler” لتحويل الأكواد المكتوبة إلى لغة الآلة التي يفهمها الحاسوب. ومن أشهرها لغات مثل: (Java – Go – C# – C++ – C).
الفرق بين لغات السكربت Scripting Languages ولغات البرمجة Programming Languages
هناك عدة إختلافات بين لغات السكربت ولغات البرمجة ولكن يكمن الإختلاف الأساسي بينهما هو أن الأولى تعتمد على المفسر لتشغيل الأكواد البرمجية أي أنها تقوم بترجمة الكود المصدري وتنفيذه سطرًا بسطر أثناء تشغيل البرنامج، أما لغات البرمجة تعتمد على المترجم لتنفيذ الأكواد أي أنها تقوم بترجمة الكود المصدري بالكامل إلى لغة الآلة دفعة واحدة قبل تشغيل البرنامج.
هذا هو الإختلاف الأساسي والجوهري بين التصنيفين، والجدول التالي يوضح باقي الإختلافات.
الجانب | لغات السكربت | لغات البرمجة |
التنفيذ | تعمل باستخدام مفسر interpreter | تحتاج إلى مترجم Compiler |
الاستخدام | المهام السريعة وأتمتة العمليات | تطوير الأنظمة المعقدة |
الأداء | أبطأ نسبيًا لأنها تفسر أثناء التشغيل | أسرع لأنها تعمل مباشرة مع لغة الآلة |
التعقيد | أبسط وأسهل في التعلم | أكثر تعقيد |
الجدير بالذكر هو أن الحدود بين لغات السكربت ولغات البرمجة أصبحت أقل وضوحًا. على سبيل المثال لغة بايثون Python تصنف كلغة سكربت، ولكن يمكن استخدامها أيضًا لتطوير أنظمة معقدة. كذلك JavaScript كانت تعتبر لغة سكربت فقط، ولكن مع ظهور بيئة مثل Node.js أصبحت تستخدم لتطوير تطبيقات كاملة.
في النهاية أحب أن أضيف أن لغات السكربت ولغات البرمجة تكملان بعضهما البعض، وأمر اختيار اللغة يعتمد على طبيعة المشروع فلكل لغة عيوبها ومميزاتها، على سبيل المثال فإن الروبوت مارس روفر كوريوزيتي الذي اطلقته #ناسا سنة 2012 للمريخ، تم كتابة معظم أكواده بلغة C وبالرغم من أن هذه اللغة قديمة جداً إلا أنها اختيرت ليس لأنها الأقوى أو الأفضل، بل لأنها كانت تلبي احتياجات ناسا فهي كانت تريد لغة سريعة في التعامل مع الهاردوير في أقل مساحة ممكنة، لذلك تم كتابة أكثر من 32 مليون سطر برمجي في هذا الروبوت بلغة C