لغات البرمجة النصية هي نوع معين من لغات الكمبيوتر التي يمكنك استخدامها لإعطاء إرشادات لبرامج أخرى ، مثل مستعرض الويب أو الخادم أو التطبيق المستقل. العديد من لغات البرمجة الأكثر شيوعًا اليوم هي لغات البرمجة النصية ، مثل JavaScript و PHP و Ruby و Python والعديد من اللغات الأخرى.
نظرًا لأن لغات البرمجة النصية تجعل الترميز أبسط وأسرع ، فليس من المستغرب استخدامها على نطاق واسع في تطوير الويب .
ومع ذلك ، هذا ليس مجال التطبيق الوحيد لديهم. هناك أيضًا لغات برمجة لأنظمة التشغيل وبرامج التحليل الإحصائي والتطبيقات المكتبية ومحركات الألعاب والعديد من أنواع المنصات الأخرى.
ما هي لغات البرمجة؟
يمكن أن تؤدي لغات البرمجة النصية إجراءات مختلفة في بيئة وقت تشغيل معينة ، مثل أتمتة تنفيذ المهام ، وتعزيز وظائف البرنامج الأصلي ، وإجراء التكوينات ، واستخراج البيانات من مجموعات البيانات ، وغيرها.
يمكن أن تظهر لغات البرمجة النصية بطريقتين:
يمكن لبيئة وقت التشغيل تقديم لغة البرمجة النصية الخاصة بها ، مثل Bash لنظام التشغيل GNU أو VBA لتطبيقات Microsoft Office.
يمكن أن تتبنى بيئة وقت التشغيل لغة برمجة نصية موجودة ، على سبيل المثال ، mongoتم بناء صدفة MongoDB حول JavaScript .
من ناحية أخرى ، في بعض الأحيان تكون لغة البرمجة النصية موجودة أولاً وهي تلد النظام الأساسي الأصلي الخاص بها – مهما بدا ذلك غريباً.
هذا ما حدث في حالة Node.js ، وهي بيئة تشغيل خلفية تم إنشاؤها للسماح لمطوري الويب باستخدام JavaScript ليس فقط على الواجهة الأمامية ولكن أيضًا على الواجهة الخلفية ، باتباع نموذج “JavaScript في كل مكان”.
إذا كنت تفكر في تعلم لغة برمجة نصية جديدة ، فراجع هذا الدليل للتعرف على أفضل 13 خيارًا 💻 …. ثم ابدأ الدراسة 🤓
انقر للتغريد
ماذا تعني البرمجة النصية في البرمجة؟
يتمثل عمل البرمجة النصية في الأساس في كتابة سلسلة من الأوامر التي يتم تفسيرها واحدة تلو الأخرى بواسطة تطبيق أو محرك برمجة نصية. على الرغم من أن البرنامج النصي يوجه النظام الأساسي من خلال ما يجب القيام به (يمنحه برنامجًا نصيًا للقراءة والتفسير) ، يتم تنفيذ التنفيذ بواسطة بيئة وقت التشغيل وليس بواسطة لغة البرمجة النصية نفسها.
هذه هي الطريقة التي تختلف بها لغات البرمجة النصية عن لغات البرمجة مثل Java التي يمكنك “ الكتابة مرة واحدة ، والتشغيل في أي مكان ” (شعار Java الرسمي يعني أن برامج Java يمكن تشغيلها كتطبيقات قائمة بذاتها في أي بيئة ؛ منذ صياغتها ، أصبح أيضًا مبدأ WORA الذي يشير إلى القدرات عبر الأنظمة الأساسية).
لغات البرمجة مقابل لغات البرمجة
على الرغم من استخدام المصطلحين “لغة البرمجة” و “لغة البرمجة” بشكل متكرر ، إلا أنهما ليسا نفس الشيء.
منصة محددة مقابل منصة حيادية
لغات البرمجة النصية خاصة بالنظام الأساسي ، في حين أن لغات البرمجة لا تعتمد على النظام الأساسي (عبر الأنظمة الأساسية) حيث أن لديها القدرة على تنفيذ نفسها. على سبيل المثال ، يمكنك تشغيل برنامج Java على أي نظام تشغيل.
(في الغالب) مترجم مقابل مترجم
بينما يتم تجميع لغات البرمجة ، يتم تفسير لغات البرمجة النصية في الغالب – على الرغم من وجود بعض لغات البرمجة النصية التي يتم تجميعها وتفسيرها ، مثل Python و Groovy.
تعني كلمة “مترجم” أن لغة البرمجة لها مترجم خاص بها يترجم بناء الجملة إلى كود الآلة قبل وقت التشغيل. في المقابل ، يتم تفسير لغات البرمجة النصية سطرًا بسطر أثناء وقت التشغيل بواسطة مترجم المنصة التي يتم تشغيلها عليها.
أسرع مقابل أبطأ في وقت التشغيل
بسبب هذا الاختلاف في التنفيذ ، تعمل لغات البرمجة بشكل أسرع من لغات البرمجة النصية حيث لا يلزم تجميعها في الوقت الفعلي. يقوم المترجمون أيضًا بمعالجة الأخطاء الجماعية قبل التنفيذ ، بينما يقوم المترجمون الفوريون بتقييم الكود سطرًا بسطر ، لذلك يتوقفون مؤقتًا (أو يتوقفون تمامًا) في كل مرة يواجهون فيها خطأ .
يضيف هذا أيضًا إلى إجمالي وقت تنفيذ لغات البرمجة النصية ، على الرغم من أن هذه مشكلة أقل مما كانت عليه من قبل على الأجهزة الحديثة والأسرع .
أكثر مقابل أقل كثافة في البرمجة
تعتبر لغات البرمجة أكثر كثافة في التعليمات البرمجية حيث يتعين عليك القيام بالعديد من الأشياء يدويًا والتي يتم التعامل معها بواسطة النظام الأساسي في حالة لغات البرمجة النصية. إذا كنت تستخدم لغة برمجة نصية ، يجب عليك كتابة كود أقل بكثير .
التطبيقات المستقلة مقابل التطبيقات كجزء من Stack
هناك بعض الأشياء التي لا يمكنك فعلها بلغة البرمجة النصية. والأهم من ذلك ، لا يمكنك إنشاء تطبيقات سطح مكتب وتطبيقات جوال مستقلة بلغة برمجة نصية ، حيث لا توجد بيئة تشغيل تفسرها.
على سبيل المثال ، يمكنك استخدام أطر عمل PHP مثل وورد بريس و Laravel فقط لمواقع الويب وتطبيقات الويب لأنها تستخدم متصفح الويب كبيئة تشغيل خاصة بها. وبالمثل ، تعمل تطبيقات وورد بريس للجوال ضمن بيئات وقت تشغيل الأجهزة المحمولة ، مثل Capacitor ، التي تتضمن طرق عرض الويب.
لغات البرمجة النصية مقابل لغات البرمجة – نظرة عامة على الاختلافات
لذا فإن الاختلافات الرئيسية بين لغات البرمجة النصية مقابل لغات البرمجة هي كما يلي:
لغات البرمجة لغات البرمجة
منصة خاصة منصة حيادية (عبر منصة)
(في الغالب) مفسرة تجميع وانتاج
أسرع في وقت التشغيل أبطأ في وقت التشغيل
المزيد من التعليمات البرمجية المكثفة أقل كثافة في التعليمات البرمجية
ينشئ تطبيقات قائمة بذاتها ينشئ تطبيقات كجزء من مكدس
ارتباك حول لغات البرمجة
هناك بعض الالتباسات حول لغات البرمجة النصية التي ستواجهها كثيرًا ، لذلك دعونا نلقي نظرة عليها قبل الدخول في أفضل لغات البرمجة النصية.
الأهم من ذلك ، ليس من المنطقي التحدث عن لغات البرمجة النصية للواجهة الأمامية مقابل الخلفية ، على الرغم من أن العديد من المقالات التي ستجدها في جميع أنحاء الويب تستخدم هذا النوع من التجميع.
هناك بالفعل لغة برمجة نصية واحدة للواجهة الأمامية قيد الاستخدام حاليًا ، وهي JavaScript (كانت هناك لغات أخرى من قبل ، مثل ActionScript و JScript ، ولكن الآن تم إهمالها جميعًا).
إنها ليست الواجهة الأمامية مقابل الواجهة الخلفية التي تعتبر مهمة في سياق لغات البرمجة النصية ولكن بيئة (بيئات) وقت التشغيل حيث يمكن تشغيل لغة البرمجة النصية.
لاحظ أن “الواجهة الأمامية” تعني شيئًا ما ( صورة ، خط ، ترميز ، ورقة أنماط ، نصوص ، نوع آخر من الملفات الثابتة) يمكن لمتصفح الويب تفسيره. على سبيل المثال ، حاول فتح ملف PHP مباشرة من متصفح الويب: لا يمكنك ذلك ، لأن خادم تطبيق PHP يجب أن يفسرها – لذا فإن PHP هي لغة برمجة نصية خلفية في سياق تطوير الويب ، بينما طبقة التطبيق في مكدس الخادم (مثل LAMP) في سياق لغات البرمجة النصية.
إلى جانب تطوير الويب (البرمجة النصية للواجهة الأمامية والخلفية) ، يمكن أيضًا استخدام لغات البرمجة النصية لأشياء متعددة مثل البرمجة وتكوين أنظمة التشغيل والتطبيقات / البيئات المحددة ، ومعالجة مجموعات البيانات ، وأتمتة المهام ، وغيرها الكثير.
يمكن أن تعمل لغة البرمجة النصية في بيئات متعددة أيضًا.
ما ليست لغات البرمجة النصية
قبل الدخول في أفضل لغات البرمجة النصية ، دعنا نرى لغات البرمجة التي يطلق عليها أحيانًا بشكل خاطئ لغات البرمجة النصية ، ولكن لا يمكنك البرمجة باستخدامها:
لغات الترميز ، مثل HTML و XML. في HTML ، توجد سمات لمعالجة الأحداث مثل onclick و onmouseover ، لكنها لا تزال عبارة عن عمليات استدعاء لـ JavaScript.
لغات أوراق الأنماط ، مثل CSS و Sass و LESS.
أي نوع من المكتبات أو الأطر المبنية فوق أي لغة برمجة نصية ، مثل jQuery و PostCSS و React و Vue و Angular و Rails و Grails و Laravel و وورد بريس و Django وغيرها.
اللغات التي تم تجميعها في لغة برمجة نصية ، مثل TypeScript و CoffeeScript.
SQL لأنها لإدارة البيانات في أنظمة إدارة قواعد البيانات العلائقية (RDBMS) مثل MySQL و MariaDB . لا تسمح لك بكتابة وظائف ديناميكية. ومع ذلك ، تحتوي العديد من أنظمة RDBMS على قذائف تتيح لك استخدام لغة برمجة نصية (مثل JavaScript أو Python في MySQL Shell ).
بيئات وقت التشغيل لواحدة أو أكثر من لغات البرمجة النصية ، مثل NodeJS.
أفضل 13 لغة برمجة
هناك العديد من لغات البرمجة النصية الرائعة التي تستحق الذكر في هذا الدليل ، لكنها لم تعد قيد التطوير النشط بعد الآن. ومع ذلك ، يتم تحديث لغات البرمجة النصية التالية بانتظام واستخدامها أيضًا في الإنتاج .
لذا ، إذا كنت تفكر في تعلم لغة برمجة نصية جديدة كمسار احترافي جديد ، فإنهم جميعًا يستحقون التجربة.
جافا سكريبت / ECMAScript
بي أتش بي
بايثون
روبي
رائع
بيرل
لوا
سحق
بوويرشيل
ص
VBA
إيماكس ليسب
GML
1. JavaScript / ECMAScript
جافا سكريبت
جافا سكريبت
JavaScript هو تطبيق لمعيار ECMA-262 الذي يحدد لغة البرمجة النصية للأغراض العامة ECMAScript (ES). بمعنى آخر ، JavaScript هي لهجة للغة ECMAScript ، وبالتالي فهي لا تحتوي على مواصفات قائمة بذاتها ولكنها تستخدم نفس بناء الجملة مثل ECMAScript.
تحتوي JavaScript على وظائف من الدرجة الأولى (يتم التعامل مع الوظائف كمتغيرات) وتدعم البرمجة الموجهة للكائنات القائمة على النموذج الأولي (يتم إعادة استخدام الكائنات الموجودة كنماذج أولية).
مثال رمز
يستخدم ECMAScript بناء جملة قوس مجعد. يضيف مثال كود JavaScript التالي أرقامًا من 1 إلى 10 معًا ويخرج النتيجة في وحدة التحكم (يمكنك اختبارها في وحدة تحكم JavaScript في متصفح الويب الخاص بك عن طريق الضغط على F12):
let total = 0, count = 1;
while (count <= 10) {
total += count;
count += 1;
}
console.log(total);
// 55
المصدر: Eloquent JavaScript بواسطة Marijn Haverbeke: مقدمة
حالات الاستخدام والبيئات
JavaScript هي لغة البرمجة النصية التي تستخدمها متصفحات الويب الحديثة ، مثل محرك Chrome V8 ومحرك Mozilla’s SpiderMonkey . إلى جانب تطوير الويب للواجهة الأمامية ، يمكن استخدامه في بيئات غير مستعرضة أيضًا. و NodeJS تم إنشاء بيئة وقت التشغيل لتمكين مطوري الويب لاستخدامها على الواجهة الخلفية.
تستخدم قذائف بعض أنظمة إدارة قواعد بيانات NoSQL ، مثل MongoDB و Apache CouchDB ، وبعض أنظمة إدارة قواعد البيانات العلائقية ، مثل MySQL Shell المذكورة أعلاه ، كلغة برمجة نصية.
2. PHP
بي أتش بي
بي أتش بي
PHP هي لغة برمجة نصية مفتوحة المصدر للأغراض العامة تُستخدم في تطوير الويب الخلفي. يشير الاختصار في الأصل إلى “الصفحة الرئيسية الشخصية” ، حيث تم إنشاء PHP لأول مرة لإضافة وظائف ديناميكية إلى صفحات HTML الثابتة .
منذ ذلك الحين ، تطورت PHP إلى لغة قائمة بذاتها ، لذا يُستخدم الاختصار الآن بمعنى “Hypertext Preprocessor”. تمت كتابة PHP بشكل فضفاض (ليس عليك التصريح عن أنواع بيانات المتغيرات) ، ويمكن تضمينها في مستندات HTML ، كما تحتوي على ميزات موجهة للكائنات أيضًا.
مثال رمز
لغة PHP لها صيغة تشبه لغة سي. يُنشئ مثال كود PHP التالي مصفوفة رقمية بأربعة عناصر ، تتكرر خلالها ، وتضاعف كل عنصر في اثنين ، وتزيل $valueالمتغير عندما تنتهي الحلقة.
<strong><?php</strong>
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value);
<strong>?></strong>
المصدر: وثائق PHP: هياكل التحكم
حالات الاستخدام والبيئات
يمكن تنفيذ PHP على خوادم HTTP مختلفة ، وأكثرها شهرة هي Apache و Nginx .
أكوام خوادم PHP الأكثر شيوعًا هي LAMP (Linux و Apache و MySQL و PHP) و LEMP (Linux و Nginx و MySQL و PHP – المستخدمة من قبل Kinsta ) و WAMP (Windows و Apache و MySQL و PHP) و MAMP (macOS ، Apache و MySQL و PHP).
كما يستخدم أيضا من قبل العديد من أنظمة شعبية لإدارة المحتوى (CMS) مثل وورد، دروبال ، و جملة ، و أطر تطبيقات الويب مثل لارافل، أن symfony، وكود إغنيتر، التي بنيت كلها على رأس لغة PHP وتعزيزه مع وظائف اضافية .
يمكنك أيضًا استخدام PHP لتطوير وورد بريس المحلي . راجع دليلنا التفصيلي حول الاختلافات الرئيسية بين جافا سكريبت و PHP .
3. بايثون
بايثون
بايثون
تعد Python حاليًا ثاني أكثر لغات البرمجة شيوعًا على GitHub (بعد JavaScript). إنه محبوب بسبب تركيبته الواضحة والموجزة – عند الترميز في Python ، عليك كتابة أقل بكثير من معظم اللغات.
Python هو مشروع مجاني ومفتوح المصدر ، تديره مؤسسة Python Software Foundation. وهو يدعم نماذج البرمجة المهيكلة والموجهة للكائنات والوظيفية ، وله مكتبة قياسية واسعة النطاق عبارة عن مجموعة من وحدات بايثون شائعة الاستخدام.
مثال رمز
لا تستخدم Python الأقواس المتعرجة والفاصلة المنقوطة اختيارية ، لذلك من السهل قراءة الكود وكتابته. يتكرر مثال كود Python التالي عبر الأعداد الصحيحة بين 0 و 4 ويطبعها:
count = 0
while count < 5:
print(count)
count += 1
المصدر: Learn Python: Loops
حالات الاستخدام والبيئات
أكثر تطبيقات Python شيوعًا هي CPython ، وهي مكتوبة بلغة C. إنه أيضًا التطبيق المرجعي الذي تقوم بتنزيله مع لغة Python. على الرغم من أن Python هي لغة مفسرة ، يستخدم CPython كلاً من خطوة الترجمة والتفسير. أولاً ، يقوم بتجميع الكود المصدري في كود ثانوي (وليس نفس كود الجهاز) الذي يفسر في وقت التشغيل.
إلى جانب CPython ، يوجد في Python بيئات تشغيل أخرى أيضًا ، والأهم من ذلك PyPy الذي يتجاهل خطوة التجميع ويقوم فقط بتفسير JIT (في الوقت المناسب). تعد تطبيقات Python عبر الأنظمة الأساسية ، مما يعني أنها تعمل على أنظمة تشغيل متعددة ، بما في ذلك Linux و Windows و macOS.
تُستخدم لغة Python بشكل متكرر في التعلم الآلي ، وتطوير الويب الخلفي (يعتبر Django أكثر إطار عمل الويب شيوعًا) ، وتحليلات البيانات ، والأتمتة ، والحوسبة العلمية ، وتجريف الويب.
4. روبي
روبي
روبي
Ruby هي لغة برمجة نصية مفتوحة المصدر ذات أغراض عامة مع تركيب مضغوط وسهل القراءة. إنه يتبع مبادئ البرمجة الموجهة للكائنات ويتيح لك كتابة تعليمات برمجية نظيفة ومنطقية ، مما يجعلها واحدة من أسهل لغات البرمجة للتعلم . في Ruby ، كل شيء هو كائن – حتى الأنواع الأولية في معظم اللغات ، مثل القيم المنطقية والأعداد الصحيحة.
المفاهيم الموجهة للكائنات مثل الوراثة ، و mixins ، و metaclasses تستخدم بكثرة.
على الرغم من أن Ruby لديه تصميم موجه للكائنات فقط ، إلا أنه يدعم أيضًا البرمجة الإجرائية (تنتمي الوظائف والمتغيرات المحددة خارج الفئات إلى Selfالكائن) والبرمجة الوظيفية (من خلال وظائف مجهولة ، وعمليات الإغلاق ، والاستمرارية).
مثال رمز
لدى روبي صيغة موجزة مشابهة لبايثون. يعرّف مثال كود روبي التالي KaraokeSongالفئة على أنها فئة فرعية Songللفئة:
class KaraokeSong < Song
def initialize(name, artist, duration, lyrics)
super(name, artist, duration)
@lyrics = lyrics
end
end
المصدر: Programming Ruby Reference Guide: Classes، Objects، and Variables
حالات الاستخدام والبيئات
تستخدم Ruby بشكل أساسي في تطوير الويب الخلفي ، حيث تعمل على تشغيل بعض أطر تطبيقات الويب القوية مثل Ruby on Rails . تعمل العديد من مواقع الويب والتطبيقات الشائعة على Ruby on Rails ، مثل Airbnb و Shopify و GitHub و Hulu.
Ruby هي أيضًا اللغة التي تُكتب بها العديد من أدوات تطوير الويب الشهيرة ، وأبرزها معالج Sass CSS المسبق ، ومولد موقع Jekyll الثابت ، وبيئة الآلة الافتراضية Vagrant .
التطبيق الافتراضي لـ Ruby هو YARV (آلة افتراضية أخرى من Ruby). لقد غيرت مترجم روبي الأصلي لمترجم روبي ماتز (أيضًا Ruby MRI أو CRuby) الذي تم انتقاده بسبب مشكلات السرعة وقابلية التوسع.
هناك أيضًا العديد من بيئات وقت التشغيل المتنافسة لـ Ruby ، مثل JRuby (يتيح لك تشغيل Ruby على Java Virtual Machine) ، mruby (تطبيق خفيف الوزن يمكنك تضمينه في تطبيقك) ، TruffleRuby ( مترجم Oracle’s Ruby المبني على GraalVM) ، Rubinius ( آلة افتراضية سحابية أصلية لـ Ruby) ، وغيرها .
5. رائع
رائع
رائع
Groovy هي لغة مرنة لا تصدق مكتوبة لـ Java Virtual Machine (JVM) والتي يمكن استخدامها كلغة برمجة نصية وبرمجة. إنه مشروع مفتوح المصدر تحتفظ به مؤسسة Apache Software Foundation. Groovy هي لغة موجهة للكائنات تعمل على java.lang.Objectتوسيع الطبقة الفائقة.
وهو يدعم كلاً من الكتابة الثابتة والديناميكية (يمكن إجراء فحص النوع في وقت الترجمة ووقت التشغيل) ولديه دعم أصلي للقوائم والمصفوفات الترابطية والتعبيرات العادية ولغات الترميز مثل HTML و XML.
يمكنك استخدام Groovy مع مكتبات Java الموجودة.
مثال رمز
يحتوي Groovy على بنية متوافقة مع Java ، باستخدام الأقواس المتعرجة. يحدد مثال كود Groovy التالي Coordinatesالفئة بخصائص خطوط الطول والعرض getAt()والطريقة:
@Immutable
class Coordinates {
double latitude
double longitude
double getAt(int idx) {
if (idx == 0) latitude
else if (idx == 1) longitude
else throw new Exception("Wrong coordinate index, use 0 or 1")
}
}
المصدر: توثيق رائع: دلالات
حالات الاستخدام والبيئات
كما يقوم Groovy بالتجميع في كود Java byte ، يمكنك استخدامه كلغة برمجة للأغراض العامة مشابهة لـ Java. في هذه الحالة ، يمكنك ترجمة شفرة المصدر إلى كود بايت قبل وقت التشغيل باستخدام مترجم groovyc (المكافئ لـ javac).
ومع ذلك ، هناك أيضًا العديد من تطبيقات Groovy التي تتيح لك استخدامها كلغة برمجة نصية. الأكثر شيوعًا هي إطار عمل تطبيق الويب Grails (المعروف سابقًا باسم Groovy on Grails) وأداة أتمتة بناء Gradle ، ولكن هناك العديد من التطبيقات الأخرى أيضًا.
تريد أن تعرف كيف زدنا من حركة المرور لدينا أكثر من 1000 ٪؟
انضم إلى أكثر من 20000 آخرين ممن يتلقون رسائلنا الإخبارية الأسبوعية مع نصائح من الداخل حول وورد بريس!
إشترك الآن
6. بيرل
بيرل
بيرل
Perl هي لغة نصية للأغراض العامة موجودة منذ أكثر من ثلاثين عامًا (منذ عام 1987). في الأصل ، تم إنشاؤه كلغة برمجة نصية UNIX لمعالجة التقرير. ومن هنا يأتي اسمها أيضًا ، حيث يشير اختصار Perl إلى “Practical Extraction and Reporting Language”.
أصبحت لغة Perl شائعة في التسعينيات عندما بدأ المبرمجون في استخدامها على نطاق واسع في البرمجة النصية CGI (Common Gateway Interface) ، وهي مواصفات واجهة أقدم لخوادم الويب (حاليًا ، يتم استخدامها بشكل أساسي بواسطة المواقع القديمة).
على الرغم من كونه لاعب في وقت مبكر نسبيا، بيرل لا يزال ال11 على مؤشر TIOBE و 21 معظم لغة شعبية على جيثب (اعتبارا من أكتوبر 2020 م).
مثال رمز
بناء جملة Perl مشابه للغة C. يعرّف مثال كود Perl أدناه أولاً الإجراء square()الفرعي الذي يحسب ويعيد مربع الرقم ، ثم يمرر القيمة 8 كوسيطة ، ويشغل الروتين الفرعي ، ويحفظ النتيجة في $sqالمتغير:
sub square {
my $num = shift;
my $result = $num * $num;
return $result;
}
$sq = square(8);
المصدر: Perl docs: Perl Intro
حالات الاستخدام والبيئات
على الرغم من أنها ليست الخيار الأكثر شيوعًا لمطوري الويب هذه الأيام ، يمكن استخدام Perl بنجاح في تطوير الواجهة الخلفية. إلى جانب بيئة تشغيل CGI ، يتم تنفيذها أيضًا على خوادم الويب Apache و Nginx – مكدس LAMP هو في الواقع LAMPP ، وهو يمثل Linux و Apache و MySQL و PHP و Perl.
توجد أيضًا بعض أطر عمل تطوير الويب Perl ، أشهرها Catalyst و Mojolicious و Dancer .
يتم استخدام Perl من قبل العديد من المواقع والتطبيقات البارزة مثل Amazon و IMDB و Booking.com و BBC iPlayer. يتم استخدامه في مناطق أخرى أيضًا ، مثل برمجة الشبكة وإدارة النظام. يمكنك أيضًا التحقق من شبكة أرشيف Perl الشاملة (CPAN) حيث يتوفر أكثر من 25000 مشروع Perl مفتوح المصدر لتنزيله.
7. لوا
لوا
لوا
Lua هي لغة نصية سريعة وخفيفة الوزن. كلمة “لوا” تعني “القمر” في البرتغالية ، حيث تم تطوير اللغة والحفاظ عليها من قبل الجامعة البابوية الكاثوليكية في ريو دي جانيرو في البرازيل. يدعم Lua نماذج البرمجة الإجرائية والموجهة للكائنات والوظيفية.
نظرًا لأن مترجم Lua مكتوب بلغة C ، يمكن دمجه بسهولة في التطبيقات باستخدام واجهة برمجة تطبيقات C الخاصة به. ومع ذلك ، يمكنك استخدام Lua لتوسيع التطبيقات الحالية المكتوبة بلغات تستند إلى C مثل C و C ++ و C # و Java و Perl و Ruby وغيرها.
مثال رمز
يحتوي Lua على صياغة موجزة وسهلة القراءة ، على غرار Python و Ruby. يوضح مثال رمز Lua التالي كيفية استخدام if-then-elseالعبارة. أولاً ، يقوم بتقييم opالمتغير ، ثم يقوم بعمليات حسابية أساسية بناءً على قيمته:
if op == "+" then
r = a + b
elseif op == "-" then
r = a - b
elseif op == "*" then
r = a * b
elseif op == "/" then
r = a / b
else
error("invalid operation")
end
المصدر: البرمجة في الدليل المرجعي لوا: البيانات
حالات الاستخدام والبيئات
لا يفسر تطبيق Lua الافتراضي التعليمات البرمجية المصدر مباشرةً ولكنه يقوم أولاً بتجميعها في كود بايت يتم تنفيذه لاحقًا على الجهاز الظاهري Lua. نظرًا لأن كل هذا يحدث في وقت التشغيل ، فلا توجد خطوة تجميع يدوية تحتاج إلى تنفيذها (على الرغم من أنه يمكنك اختيار تجميع Lua قبل وقت التشغيل لتحسين الأداء).
هناك تطبيقات لوا أخرى أيضا، مثل LuaJIT ، LuaVela ، و غيرها الكثير .
كثيرًا ما تستخدم Lua لتطوير ألعاب الفيديو ، مثل Angry Birds و World of Warcraft و Grim Fandango. نظرًا لسهولة تضمينه ، فهو أيضًا خيار متكرر للأجهزة المضمنة مثل أجهزة فك التشفير ولوحات أجهزة السيارات (مثل فولفو) وكاميرات IP (مثل Cisco) وغيرها.
يمكن استخدامه أيضًا في تطوير الويب ، حيث تحتوي كل من خوادم Apache و Nginx على وحدة Lua (هنا mod_lua الخاصة بـ Apache ، وهنا Nginx’s ngx_http_lua_module ). اختارت Wikipedia Lua كلغة برمجة نصية للقالب ، كما تمت كتابة واجهة مستخدم Adobe Photoshop Lightroom بلغة Lua أيضًا.
8. باش
سحق
Bash هو اسم مترجم سطر الأوامر (shell) لنظام التشغيل GNU ولغة البرمجة النصية المنتمية. “Linux” في الحقيقة هو نظام تشغيل GNU الذي يستخدم نواة Linux (النواة هي الجزء الأساسي لنظام التشغيل ، وهو أول برنامج يقوم نظام التشغيل بتحميله).
Bash هو بديل لصدفة UNIX Bourne الأصلية (sh) – اختصار Bash يرمز إلى “Bourne Again SHell” (تورية على “Born again shell”).
إلى جانب كونه مجموعة شاملة لبناء جملة Bourne shell ، يتضمن Bash أيضًا ميزات من لغات برمجة نصية أخرى مثل KornShell (ksh) و C shell (csh) – على سبيل المثال ، تحرير سطر الأوامر وسجل الأوامر. يمكنك استخدام Bash في كل من الوضع التفاعلي (تنفيذ أمر واحد في كل مرة وانتظار رد الجهاز) ووضع البرمجة النصية (تشغيل مجموعة من الأوامر – نص Bash – في وقت واحد).
مثال رمز
مثل معظم لغات البرمجة النصية لـ CLI ، فإن Bash لديها بناء جملة بسيط ووصفي. يحدد مثال كود Bash التالي ملفًا من المجلد الحالي ويخرج رسالة تحتوي على اسم الملف وفهرسه:
select fname in *;
do
echo you picked $fname \($REPLY\)
break;
done
المصدر: Bash Reference Manual: Conditional Constructs
حالات الاستخدام والبيئات
يمكنك استخدام Bash لإجراء تغييرات وتنفيذ إجراءات مختلفة تتعلق بنظام التشغيل الخاص بك ، مثل تنفيذ الأوامر وتنفيذ المهام التي يقوم بها معظم الأشخاص باستخدام واجهة مستخدم رسومية (مثل إنشاء المجلدات والملفات أو نقلها أو حذفها) ، والتخصيص و أتمتة المهام الإدارية ، والاتصال بخادم بعيد ، وغيرها الكثير .
هل تحتاج إلى استضافة سريعة وآمنة وصديقة للمطورين لمواقع عملائك؟ تم تصميم Kinsta مع وضع مطوري وورد بريس في الاعتبار ويوفر الكثير من الأدوات ولوحة تحكم قوية. تحقق من خططنا
Bash هو الغلاف الافتراضي للعديد من أنظمة التشغيل المستندة إلى Unix ، بما في ذلك معظم توزيعات Linux وجميع إصدارات macOS حتى macOS Catalina التي استبدلت Bash بـ Z shell (Zsh) في عام 2019. يمكنك أيضًا تشغيل Bash scripts على Windows 10 ، باستخدام Windows طبقة توافق النظام الفرعي لـ Linux (WSL) التي طورتها Microsoft.
9. بوويرشيل
بوويرشيل
في الأصل ، كان PowerShell عبارة عن غلاف سطر أوامر ولغة برمجة نصية لنظام التشغيل Windows فقط. منذ ذلك الحين ، قامت Microsoft بفتح المصدر ونقله من .NET Framework ، والذي يمكنه إنشاء تطبيقات Windows فقط ، إلى .NET Core ، والذي يمكنه إنشاء تطبيقات لنظام التشغيل Windows و Linux و macOS. هذا يعني أن PowerShell أصبح الآن عبر الأنظمة الأساسية.
تمت إعادة تسميته أيضًا من Windows PowerShell إلى PowerShell Core ، بما يتوافق مع إطار العمل الأساسي. على عكس معظم قذائف سطر الأوامر ، يقبل PowerShell ويعيد كائنات .NET بدلاً من النص العادي ، مما يفسح المجال لفرص جديدة في أتمتة المهام.
مثال رمز
يحتوي PowerShell على بناء جملة مضغوط يجعل العمل في سطر الأوامر أسرع. يُنشئ مثال رمز PowerShell أدناه نسخة احتياطية من ملف boot.ini ويحفظها في ملف boot.bak:
Copy-Item -Path C:\boot.ini -Destination C:\boot.bak
المصدر: وثائق PowerShell: العمل مع الملفات والمجلدات
حالات الاستخدام والبيئات
يمكنك استخدام PowerShell على أنظمة تشغيل Windows و Linux و macOS وبعض أجهزة ARM (مثل الأجهزة القابلة للارتداء ومشغلات الوسائط المتعددة والأجهزة اللوحية والأجهزة الإلكترونية الاستهلاكية الأخرى).
يمكنك استخدام PowerShell لإدارة النظام وأتمتة المهام وإدارة التكوين. للعثور على وحدات ونصوص PowerShell ، يمكنك التحقق من معرض PowerShell ومجموعة البرامج النصية الرسمية من Microsoft أيضًا.
10. ر
ص
R هي بيئة برمجية ولغة برمجة نصية يمكنك استخدامها في الحوسبة الإحصائية وتحليل البيانات والعرض الرسومي. إنه مشروع جنو مجاني ومفتوح المصدر وتطبيق للغة الحوسبة الإحصائية S (لم يعد قيد التطوير النشط بعد الآن).
يسمح لك R باستخدام العديد من الأساليب الإحصائية المختلفة مثل الاختبارات الإحصائية الكلاسيكية ، والتجميع ، وتحليل السلاسل الزمنية ، والنمذجة الخطية وغير الخطية ، وغيرها.
مثال رمز
يختلف بناء جملة R عن معظم لغات البرمجة النصية ويحتوي على بعض العناصر غير العادية أيضًا – على سبيل المثال ، عامل التخصيص الأساسي هو <-بدلاً من =علامة يساوي ولديها حلقات بدون حلقات – انظر المزيد حول المراوغات في بناء جملة R في دليل المبتدئين هذا إلى R بواسطة شارون ماتشليس.
يعرّف مثال رمز R التالي namesسمة fruitللمتجه (بنية البيانات الأساسية في R التي تحتوي على عناصر من نفس النوع) التي تستخدم أسماء أبجدية رقمية ( orange، banana، apple، peach) للمساعدة في تحديد مكوناتها. لاحقًا ، lunchيمكن للناقل الفرعي (أو آخر) الوصول إلى كل مكون باستخدام الاسم المستعار الخاص به:
> fruit <- c(5, 10, 1, 20)
> names(fruit) <- c("orange", "banana", "apple", "peach")
> lunch <- fruit[c("apple","orange")]
المصدر: مقدمة إلى R: متجهات الفهرس ؛ اختيار وتعديل مجموعات فرعية من مجموعة البيانات
حالات الاستخدام والبيئات
بيئة برمجيات R متعددة المنصات ؛ يمكنك تشغيله على أنظمة تشغيل Windows و Linux و macOS. يتوفر تطبيق R الافتراضي أيضًا من بعض لغات البرمجة النصية الأخرى مثل Python و Perl . هذا يعني أنه يمكنك الوصول إلى جميع الوظائف الإحصائية لـ R باستخدام لغات البرمجة النصية هذه.
إلى جانب بيئة R الافتراضية ، يمكنك استخدام لغة البرمجة R في بيئات أخرى أيضًا ، مثل pqR (تعني “إصدار سريع جدًا من R”) و Renjin (تطبيق R أعلى Java Virtual Machine).
11. VBA
VBA
يرمز VBA إلى Visual Basic for Applications وهو تطبيق للغة برمجة Visual Basic 6 (ليس قيد التطوير النشط منذ عام 2008). تم إنشاؤه لتطبيقات Microsoft Office لتمكين المطورين من أتمتة المهام المتكررة وإضافة وظائف جديدة والتفاعل مع المستخدمين النهائيين للوثائق.
على غرار Visual Basic ، يتبع VBA نموذج البرمجة المستند إلى الحدث الذي يضع أحداثًا مثل إجراءات المستخدم في المركز الذي يقود تدفق البرنامج.
نظرًا لأن تطبيقات Microsoft Office تحتوي على واجهة مستخدم رسومية ، يمكنك إرفاق برامج VBA النصية بأزرار القائمة واختصارات لوحة المفاتيح ووحدات الماكرو (أنماط قابلة للبرمجة) وأحداث OLE (ربط الكائنات وتضمينها الذي يتيح لك التحكم في تطبيق من تطبيق آخر ؛ إنها تقنية مملوكة لشركة Microsoft ).
مثال رمز
نظرًا لأن VBA يعتمد على Visual Basic (وهو زيادة في BASIC) ، فإنه يستخدم بناء جملة مشابهًا للغات عائلة BASIC (رمز التعليمات الرمزية لجميع الأغراض للمبتدئين) – مما يعني أنه سهل للغاية للمبتدئين.
يستخدم مثال رمز VBA أدناه GetCertificateDetail()طريقة SignatureInfoالكائن للحصول على تاريخ انتهاء صلاحية الشهادة الرقمية:
Sub GetCertDetails()
Dim objSignatureInfo As SignatureInfo
Dim varDetail As Variant
strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)
End Sub
المصدر: مرجع Office VBA: كائن SignatureInfo
حالات الاستخدام والبيئات
يتم تضمين لغة البرمجة النصية VBA في معظم تطبيقات Microsoft Office ، على التوالي Access و Excel و Office for Mac و Outlook و PowerPoint و Project و Publisher و Visio و Word – لكل منها دليل مرجعي منفصل على موقع وثائق Microsoft بينما يتم تفصيل مفاهيم VBA العامة في مرجع المكتبة .
إلى جانب تطبيقات Microsoft Office ، هناك تطبيقات أخرى تدعم أيضًا VBA ، مثل AutoCAD و CorelDRAW .
12. إيماكس ليسب
إيماكس ليسب
Emacs Lisp هي لغة برمجة نصية خاصة بالمجال مصممة لمحرر نصوص GNU Emacs . إنها إحدى لغات عائلة لغات البرمجة Lisp (يأتي الاسم من LISt Processor).
نظرًا لأن Emacs Lisp قد تم تصميمه ليتم استخدامه في محرر الكود ، فإنه يأتي مع مجموعة ميزات خاصة بتلك البيئة ، مثل مسح النص وتحليله ، المخزن المؤقت (الكائنات ذات النص القابل للتحرير) وإدارة العرض ، وغيرها.
تم دمج لغة البرمجة النصية Emacs Lisp بشكل وثيق مع واجهة المحرر نفسها ، لذا فإن كل أمر هو أيضًا وظيفة Lisp التي يمكنك الاتصال بها من البرنامج النصي الخاص بك ، ومعلمات التخصيص هي متغيرات Lisp أيضًا.
مثال رمز
يعتمد بناء جملة Emacs Lisp على تدوين البادئة المقوسة بالكامل والذي قد يكون من الصعب قراءته في البداية إذا لم تكن قد عملت مع أي لغة Lisp من قبل.
يحدد المثال التالي لرمز Emacs Lisp متغيرين (رمزين) ويعين قائمة من القيم لكل منهما – قائمة بالأشجار ( pine، fir، oak، maple) للرمز treesوقائمة بالحيوانات العاشبة ( gazelle، antelope، zebra) للرمز herbivores:
(setq trees '(pine fir oak maple)
herbivores '(gazelle antelope zebra))
المصدر: مقدمة في البرمجة في Emacs Lisp: تحديد قيمة متغير
حالات الاستخدام والبيئات
محرر النصوص Emacs هو تطبيق متعدد المنصات يمكنك تثبيته على أجهزة Windows و Linux و macOS.
باستخدام لغة البرمجة النصية Emacs Lisp ، يمكنك توسيع محرر الكود وتخصيصه ، وتكرار العمليات وأتمتتها ، وإنشاء الرسوم البيانية ، وتقييد التركيز على مناطق معينة ( للأمان ) ، والبحث في التعبيرات العادية ، وتخزين النص ، وتحديد الأوضاع وخرائط المفاتيح ، وطرح أسئلة من المستخدمين ، وأداء العديد من الإجراءات الأخرى.
هناك أيضًا بعض أطر التكوين لـ Emacs Lisp – Doom Emacs و Spacemacs الأكثر شهرة.
13. GML
GML
اختصار GML لتقف على GameMaker Language. إنه مثال جيد على لغة البرمجة النصية الخاصة بالمجال المستخدمة في تطوير اللعبة. GML هي لغة برمجة نصية مملوكة لـ GameMaker Studio 2 ، محرك ألعاب متعدد المنصات ومنصة تطوير مملوكة لشركة YoYo Games وتديرها.
على الرغم من استخدام GML بشكل أساسي للتحكم في كائنات اللعبة ، إلا أنها ليست لغة موجهة للكائنات ولكنها لغة إجرائية. يسمح لك باستدعاء نصوص مخصصة من أي كائن لعبة.
إلى جانب لغة البرمجة النصية GML ، يحتوي GameMaker Studio 2 أيضًا على أداة برمجة نصية مرئية تسمى Drag and Drop (DnD) . نظرًا للطبيعة المرنة لـ GameMaker Studio 2 ، يمكنك مزج DnD مع نصوص GML أيضًا.
مثال رمز
بناء جملة GML مشابه لجافا سكريبت ولغات أخرى شبيهة بـ C.
مثال رمز GML التالي يجعل كائن اللعبة يتحرك أفقيًا باتجاه مؤشر الماوس على الشاشة بسرعة 5 بكسل لكل خطوة. بمجرد وصوله إلى الموضع الحالي للمؤشر ، يقوم البرنامج النصي بإنشاء طبقة تأثير الانفجار ، وتشغيلها (هناك تأثير انفجار على الشاشة) ، ثم يدمر المثيل (تتم إزالة تأثير الانفجار):
if mp_linear_step(mouse_x, mouse_y, 5, 0) {
instance_create_layer(x, y, "Effects", obj_Explosion);
instance_destroy();
}
المصدر: GameMaker Studio 2 Docs – البرمجة النصية – مرجع GML – الحركة والاصطدامات – تخطيط الحركة
حالات الاستخدام والبيئات
يتم تفسير GML بواسطة GameMaker Studio 2 أنك تحتاج إلى شرائها إذا كنت ترغب في تطوير ألعاب بلغة البرمجة هذه.
يعتمد السعر على النظام الأساسي الذي تريد إنشاء ألعاب له – ألعاب Mac و Windows هي الأرخص ؛ ألعاب سطح المكتب متعددة المنصات (Windows و macOS و Ubuntu) وألعاب الويب HTML5 وألعاب UWP (Universal Windows Platform) وألعاب الجوال عبر الأنظمة الأساسية (Android و Fire و iOS) في المستوى المتوسط ؛ و PS4 و Xbox One و Nintendo Switch هي الأغلى تكلفة.
بعض الأمثلة على ألعاب الفيديو التي تم إنشاؤها باستخدام GML تشمل Blackhole و 10 Second Ninja X و Death’s Gambit و Deltarune والعديد من الألعاب الأخرى.
هل أنت جاهز لتعلم لغة برمجة أخرى؟ 👩💻 يتم تحديث هذه الخيارات الـ 13 بانتظام واستخدامها في الإنتاج ، مما يجعلها إضافة رائعة لسيرتك الذاتية. 💼
انقر للتغريد
ملخص
ليس هناك شك في أن لغات البرمجة النصية رائعة. لديهم العديد من الاختلافات ، والنحو ، والتطبيقات ، ويمكن استخدامها في الكثير من الأشياء.
من إنشاء مواقع ويب ديناميكية ، إلى أتمتة إدارة النظام ، إلى إنشاء ألعاب فيديو ، وما إلى ذلك.
أهم ثلاثة أشياء يجب تذكرها حول لغات البرمجة النصية هي:
لا يمكنهم العمل بمفردهم ولكنهم يحتاجون دائمًا إلى بيئة (التنفيذ ووقت التشغيل) مع مترجم للغة البرمجة النصية هذه.
في بعض الأحيان ، يمكنك استخدام لغات البرمجة النصية للأغراض العامة للوصول إلى البيئات والأنظمة الأساسية التي تم إنشاؤها أساسًا للغات البرمجة أو البرمجة النصية الأخرى. فكر في JRuby (يتيح لك تشغيل Ruby على Java Virtual Machine) ، Renjin (تنفيذ R أيضًا على JVM) ، Rpy2 (واجهة R التي يمكنك استخدامها من Python) ، كأمثلة جيدة.
أخيرًا ، قبل تعلم لغة برمجة نصية جديدة ، من الأفضل دائمًا التحقق من شعبيتها الحالية باستخدام فهرس TIOBE أو GitHut .

