Lua: لغة البرمجة النصية الخفيفة التي تعمل في كل مكان
Lua هي لغة برمجة نصية سريعة وقابلة للتضمين تُستخدم في محركات الألعاب وخوادم الويب وقواعد البيانات ومحررات النصوص — من إطار عمل LOVE للألعاب و Roblox إلى Redis و Nginx عبر OpenResty و Neovim. يجعل نواتها الدنيا وواجهة برمجة التطبيقات النظيفة بلغة C منها الخيار الافتراضي عندما تحتاج إلى بيئة تشغيل قابلة للبرمجة دون الإرهاق من مجموعة لغة كاملة. تغطي هذه المسارات Lua من المبادئ الأساسية إلى التضمين والتحسين على مستوى الإنتاج، بناءً على 40 دورة منظمة.
ما ستتعلمه
ستبدأ بالمتغيرات والأنواع والعوامل وتدفق التحكم، ثم ستنتقل إلى الميزة التي تميز Lua: الجداول كهيكل بيانات عام للمصفوفات والقواميس والكائنات على حد سواء. من هناك ستعمل من خلال مكتبة السلاسل النصية القياسية، ومطابقة الأنماط، وإدخال/إخراج الملفات، والتعامل مع التواريخ. تتضمن الموضوعات المتوسطة الجداول الفوقية والطرق الفوقية، وأنماط البرمجة الموجهة للكائنات والبرمجة الوظيفية، والروتينات المشتركة، والإغلاقات، والوحدات، وترميز JSON. تغطي المسارات التطبيقية برمجة Lua للمنطق اللعبة، واختبار الوحدات مع busted، وبرمجة Redis، وبناء معمارية المكون الإضافي. تصل الدورات المتقدمة إلى إدارة الذاكرة مع الجداول الضعيفة، وتضمين Lua في تطبيقات C، وتحسين أداء LuaJIT، و FFI لاستدعاء مكتبات C، ودمج OpenResty/Nginx، والعزل، وبناء لغات خاصة بالمجال، والشبكات مع LuaSocket، وكتابة مكونات Neovim الإضافية.
مسار التعلم
تمتد أربعون دورة من A1 إلى C1. تؤسس دورات A1 و A2 أساسيات اللغة — الصيغة والدوال والجداول والتسلسلات وإدخال/الإخراج الأساسي. تبني دورات B1 نموذج التفكير الخاص بـ Lua: الجداول الفوقية والروتينات المشتركة وأنماط OOP والوراثة والبرمجة الوظيفية والمكتبات القياسية. تطبق دورات B2 هذه المعرفة في سياقات حقيقية: برمجة Lua للمنطق اللعبة، أنماط غير متزامنة قائمة على الروتينات المشتركة، Lua لبرمجة Redis، وتطوير الألعاب مع Lua و LOVE. يتعامل المستوى النهائي C1 مع موضوعات على مستوى الخبراء — تضمين Lua في تطبيقات C، LuaJIT وتحسين الأداء، FFI: استدعاء مكتبات C من Lua، Lua في Nginx (OpenResty)، وكتابة مكونات Neovim الإضافية باستخدام Lua.
كيف يعمل
تُقسّم كل دورة إلى دروس قصيرة عملية تُكملها في محرر الأكواد المدمج مع ردود فعل في الوقت الفعلي. يتوفر مدرس ذكي كلما واجهتك مشكلة، والمسارات ذاتية السرعة بحيث يمكنك التقدم بسرعة عبر الموضوعات التي تعرفها بالفعل والتباطؤ للأجزاء — مثل الجداول الفوقية أو الروتينات المشتركة — التي تستحق الانتباه الدقيق.