#02 History of LUA Language | تاريخ تطوير لغة لوا
لغة لوا : مرونة وتطور
نتحدث في هذه المقالة عن لغة لوا Lua، وهي لغة برمجة مميزة بمرونتها وسهولة تكاملها مع تطبيقات تستخدم لغات برمجية أخرى. سنستعرض تاريخ تطورها وخصائصها المميزة.
التاريخ والبداية
في السنوات من 1977 إلى 1992، فرضت البرازيل حواجز تجارية صعبة على أجهزة الكمبيوتر والبرمجيات، مما أثر على قدرة شركة تيكجراف على الحصول على موارد لتلبية احتياجاتها. لذا، قرر فريق تيكجراف تطوير برمجيات خاصة بهم.
في عام 1992-1993، تم تطوير لغتين بشكل مستقل داخل تيكجراف، وتم استخدامهما في مشروعين هندسيين تابعين لشركة بتروبراس. وقد وضع الهدف من وراء تلك اللغتين توفير لغة قوية ومرنة، وكانتا تحملان أسماء "Simple object language" و "Data entry language".
النمو والتطور
على أساس اللغتين السابقتين، قام ثلاثة أعضاء بتطوير لغة جديدة تغطي نقاط الضعف في اللغات السابقة وتقدم مزايا جديدة ومفاهيم حديثة. تم تصميمها لتلبية احتياجات مركز البحوث في جامعة PUC في ريو دي جانيرو.
هؤلاء الثلاثة هم:
- فريق لوا
- بروفيسور روبرتو
- بروفيسور فالديمار
- الباحث لويز
مقارنة واختيار لوا
في عام 1993، قام فريق تطوير لوا بمقارنة لغتهم مع لغات أخرى مثل TCL وLISP وScheme وPython. وقد اختاروا لوا في النهاية بسبب سهولتها وقدرتها على التكامل والتنفيذ بفاعلية داخل منصات تيكجراف.
أصل الاسم "لوا"
تأتي تسمية اللغة "لوا" من اللغة البرتغالية، حيث أن معنى اللغة Sol في البرتغالية هو "الشمس". واستوحى مطورو لوا فكرة تسمية اللغة من هذا، ليُعبِرَ عنها بمعنى "القمر"، مما يظهر ترابطها مع عالم البرمجة.
مزايا لوا المميزة
- تأتي لغة لوا بمجموعة من المزايا المميزة:
- التعيينات المتعددة: تقنية التعيينات المتعددة تمكن المبرمج من تعيين قيم متعددة لمتغيرات متعددة في نفس السطر، مما يزيد من كفاءة البرمجة.
- المتغيرات المحلية: تمكن لوا المبرمجين من تحديد نطاق متغير معين، مما يحد من الاضطرار للتعامل مع متغيرات عالمية.
- الدوال المجهولة: تمكن لوا من تعريف واستخدام الدوال المجهولة، مما يسهل عمليات التلاعب بالبيانات والأوامر.
مثال على اللغة لوا
-- مثال عن الدوال المجهولة في لوا
local add = function(x, y)
return x + y
end
local multiply = function(x, y)
return x * y
end
print(add(5, 3)) -- النتيجة: 8
print(multiply(2, 4)) -- النتيجة: 8
متغيرات محلية والنطاقات
في لغة لوا، يُمكن تعريف المتغيرات المحلية التي تكون محدودة النطاق داخل الكود. هذا يعني أنها لا تكون متاحة في أجزاء أخرى من البرنامج. هذا يساعد على تفادي تداخل المتغيرات وتحسين الأمان والوضوح في الكود.
function exampleScope()
local x = 10
if x > 5 then
local y = x * 2
print(y) -- النتيجة: 20
end
-- print(y) -- هذا سيسبب خطأ لأن 'y' متغير محلي داخل الفقرة التي يمر فيها فقط
end
exampleScope()
الجداول كهيكل بيانات
تعتبر الجداول من أهم الهياكل في لغة لوا وتُستخدم لتخزين مجموعة من البيانات بترتيبها وتكوينها المرن.
local fruits = {"تفاحة", "موز", "برتقال"}
print(fruits[1]) -- النتيجة: تفاحة
print(fruits[2]) -- النتيجة: موز
الدوال المجهولة في متغيرات
يُمكن تخزين الدوال في متغيرات في لوا، وهذا يُسهم في تسهيل استدعائها وتنفيذها حسب الحاجة.
local function add(x, y)
return x + y
end
local function multiply(x, y)
return x * y
end
local operation = add
print(operation(3, 5)) -- النتيجة: 8
operation = multiply
print(operation(3, 5)) -- النتيجة: 15
الدوال المجهولة كوسائط
يُمكن استخدام الدوال المجهولة كوسائط للدوال الأخرى، مما يزيد من قدرتها على التكيف والتعامل مع السياقات المختلفة.
function operate(a, b, operation)
return operation(a, b)
end
local result = operate(3, 5, function(x, y)
return x + y
end)
print(result) -- النتيجة: 8
result = operate(3, 5, function(x, y)
return x * y
end)
print(result) -- النتيجة: 15
لغة لوا تتميز بقدرتها على التكيف والتوسع، وتوفير أدوات قوية للمطورين لبناء برامج متقدمة بسهولة ومرونة. باستخدام ميزاتها المتعددة مثل المتغيرات المحلية، والجداول، والدوال المجهولة، يمكن للمبرمجين الاستفادة الكاملة من إمكانياتها. تبقى لغة لوا خيارًا مثيرًا وقويًا لتطوير التطبيقات المتنوعة.
إرسال تعليق