معرفی لوا

لوا چیست، چه نقشی در دنیای بازی و فناوری دارد و چرا یکی از سبک‌ترین و سریع‌ترین زبان‌های اسکریپت‌نویسی است؟

لوا چیست؟

لوا (Lua — در زبان پرتغالی به معنی «ماه») یک زبان برنامه‌نویسی سطح بالا، سبک، متن‌باز و اسکریپت‌نویسی است که در سال ۱۹۹۳ در دانشگاه پاپی کاتولیک ریو دو ژانیرو (PUC-Rio) برزیل توسط تیمی به رهبری روبرتو ایروسالیمسکی (Roberto Ierusalimschy) ساخته شد.

هدف اصلی طراحی لوا سادگی، سرعت، حجم کم و قابل‌جاسازی بودن (Embeddable) بوده است. کل مفسر لوا کمتر از ۱ مگابایت حجم دارد و به‌راحتی داخل برنامه‌های دیگر (مثل موتورهای بازی) جاسازی می‌شود.

چرا لوا این‌قدر محبوب است؟

ویژگیتوضیح
فوق‌العاده سبککل مفسر کمتر از ۱ مگابایت است!
خیلی سریعیکی از سریع‌ترین زبان‌های اسکریپت‌نویسی دنیا (LuaJIT)
یادگیری آسانفقط ۲۱ کلمه کلیدی — ساده‌ترین زبان اسکریپتی!
قابل‌جاسازیبه‌راحتی داخل C، C++، C#، Java و... ادغام می‌شود
تایپ پویانیازی به تعریف نوع متغیر نیست
جدول (Table)یک ساختار داده قدرتمند برای همه‌چیز: آرایه، دیکشنری، شیء
متن‌باز و رایگانمجوز MIT — کاملاً رایگان برای هر پروژه‌ای
چندسکوییروی ویندوز، مک، لینوکس، موبایل و حتی میکروکنترلرها اجرا می‌شود

لوا کجا استفاده می‌شود؟

لوا پادشاه زبان‌های اسکریپت‌نویسی در صنعت بازی است، اما فقط برای بازی نیست:

اگر تا به حال بازی Roblox را بازی کرده‌اید، شما هم بخشی از دنیای لوا بوده‌اید! تمام اسکریپت‌های Roblox با لوا نوشته می‌شوند و میلیون‌ها بازی در آن ساخته شده است.

لوا چقدر ساده است؟

لوا فقط ۲۱ کلمه کلیدی دارد — در حالی که جاوا بیش از ۵۰ و پایتون بیش از ۳۵ کلمه کلیدی دارد! این یعنی کل زبان را می‌توانید در چند هفته یاد بگیرید.

برای چاپ یک پیام در لوا فقط به این نیاز دارید:

print("سلام دنیا!")

همین! بدون نقطه‌ویرگول اجباری، بدون تابع main، بدون کلاس. ساده، کوتاه، واضح.

تاریخچه مختصر لوا

نسخهسالویژگی برجسته
Lua 1.0۱۹۹۳اولین نسخه — جایگزین SOL و DEL
Lua 3.0۱۹۹۷توابع بی‌نام و متا‌مکانیزم
Lua 4.0۲۰۰۰متاتبل‌ها (metatables)
Lua 5.0۲۰۰۳ثبت‌کننده مجازی جدید، coroutine
Lua 5.1۲۰۰۶ماژول‌ها و require — پایه LuaJIT
Lua 5.2۲۰۱۱goto، بدون محیط سراسری ضمنی
Lua 5.3۲۰۱۵اعداد صحیح ۶۴ بیتی، عملگرهای بیتی
Lua 5.4۲۰۲۰اعداد صحیح معکوس، بهبود GC

«لوا» از کجا آمده؟

نام «Lua» در زبان پرتغالی به معنی «ماه» است. این زبان در برزیل ساخته شده و نام‌گذاری آن بخشی از سنت تیم دانشگاه PUC-Rio بود — زبان قبلی آن‌ها SOL (خورشید) نام داشت و لوا به‌عنوان ماه، مکمل آن انتخاب شد! 🌙

تفاوت لوا با زبان‌های دیگر

ویژگیLuaPythonJavaScriptPHP
حجم مفسر~۱ مگابایت~۳۰ مگابایت~۷۰ مگابایت~۵۰ مگابایت
کلمات کلیدی۲۱۳۵+~۵۰~۶۰
شروع آرایه۱۰۰۰
ساختار دادهفقط tablelist, dict, ...Array, Object, MapArray, ...
کاربرد اصلیجاسازی در نرم‌افزارعمومیوبوب
نکته جالب: در لوا ایندکس آرایه‌ها از ۱ شروع می‌شود، نه ۰! این یکی از ویژگی‌های متمایز لواست که ریاضی‌دان‌ها و انسان‌های عادی دوستش دارند.

چرا لوا یاد بگیریم؟

در این دوره، شما نیازی به نصب لوا ندارید! ما یک ویرایشگر کد آنلاین داریم که لوا واقعی (Lua 5.3) را مستقیماً در مرورگر شما اجرا می‌کند. فقط کد را بنویسید و دکمه «اجرا» را بزنید!

در این دوره چه چیزی یاد می‌گیرید؟

  1. مبانی لوا: متغیرها، انواع داده، عملگرها
  2. کنترل جریان: شرط‌ها و حلقه‌ها
  3. توابع: بازگشتی، varargs، closure
  4. جدول‌ها: تنها ساختار داده لوا — آرایه و دیکشنری
  5. شی‌گرایی (OOP) با متا‌جدول‌ها
  6. مدیریت خطا، ماژول‌ها و الگوها (Patterns)
  7. مباحث پیشرفته: Coroutine، بهینه‌سازی
  8. ۴ پروژه عملی کامل

آماده‌اید؟ بریم شروع کنیم! 🌙🚀

این مبحث بخشی از دوره آموزش کامل لوا است.

ابزارهای مرتبط