لذت برنامه نویسی: معرفی زبان lua

اینم یه تجربه پراکنده دیگه!

امروز با یه زبان جدید آشنا شدم که اسمش lua است. این زبان رو قبلا تو کانفیگ کردن nginx و جاهای دیگه هم دیده بودم. این زبان یک زبان مفصریه و یعنی کامپایلری نداره و زمان اجرا تفسیر و اجر میشه. این زبان به نسبت ساده است و با زبان‌هایی مثل javascript و scheme مقایسه میشه. چند روز پیش هم که داشتم توی اینترنت میگشتم دیدم که یکی از ویژگی‌های این زبان اینه که شما میتونی توی یک برنامه دیگه از اون استفاده کنی. یعنی مفسرش به برنامه اضافه میشه و برنامت میتونه به با استفاده از lua برنامه ریزی بشه و مثلا plugin براش طراحی بشه.

کل مساله ای که من میخواستم حل کنم و به نظرم lua برای این کار مناسب اومد اینه که، قراره برنامه‌ای نوشته بشه که بصورت داینامیک بشه منطق کسب و کار رو توش عوض کرد. یعنی اینکه تا دیروز براساس روند a عمل میشده و امروز روند b باید عمل بشه. راه‌حل‌های زیادی برای این مساله وجود داره که در جامع ترین حالتش شما باید یه زبان توصیف مخصوص به خودت درست کنی و از اون استفاده کنی تا منطق کسب و کار رو پیاده‌سازی و تست بکنی. خب این روش الان توی تقریبا همه‌ی سیستم‌های مدیریت روند‌های کسب و کار وجود داره ولی من به ذهنم رسید وقتی یه چیزی مثل lua وجود داره و به راحتی با برنامه‌ی شما integrate میشه چرا بایستی من با تجربه و توان محدودم بخوام یه شبه زبان برنامه نویسی طراحی کنم. یه چیز دیگه که باعث شد به استفاده از lua فکر کنم این بود که  مثلا یه بخش از برنامه رو توی یه زبان دیگه بنویسی و فقط توی lua از اون استفاده کنی. این باعث میشه کارهایی که نیاز به کارایی و این چیزا دارن در زبانه دیگه طراحی بشن و فقط lua اونها رو سر هم کنه.

بعد گشتم و سعی کردم شواهدی در اینترنت پیدا کنم که ایده‌ای که به ذهنم رسیده آیا درسته یا نه. دیدم که مثلا در طراحی بازی خیلی از این ویژگی استفاده وعملا lua یک زبان برنامه‌نویسی محبوب در بین توسعه دهنده‌های بازی هست. یا دیدم که نرم‌افزاری به نام freeswitch که برای راه‌کاری تلفنی مبتنی بر voip هست از lua  به عنوان زبان طراحی روند تماس استفاده میکنه. یا با استفاده از lua شما میتونی nginx رو کنترل کنی. همچنین دیدم یه جایی مثل cisco برای سطوح دسترسی پویا از این زبان استفاده کرده. حتی lua یک سرور مثل node.js به نام luvit داره اما به اون مشهوری نیست.

همه این‌ها مطمئنم کرد که این ایده در صورت عملیاتی شدن خیلی بد نیست و باید یه طرح اولیه ازش پیاده‌سازی بشه و بعد تصمیم گرفته بشه که دقیقا چه اتفاقی بیفته.

همین!

4 دیدگاه در “لذت برنامه نویسی: معرفی زبان lua

  1. مهدی می‌گوید:

    سلام
    یکی از دوستان الان چندین سال هست که در این ضمینه کار میکنه.
    الان کتاب خانه برای این زبان مینویسه و با تیم اصلی همکاری داره.
    مطلب جالبی بود
    موفق باشید

    • ay می‌گوید:

      سلام.

      جالب بود که در هر زمینه‌ای کسانی پیدا میشند که فعالن. خوشحال میشم که با ایشون آشنا بشم!
      من واسه یکی از مشکلات کاری به این زبون رو آوردم و برای این زبان نه کتابخانه که چند تا تابع نوشتم و تست هم کردم. کلا تجربه جالبیه!

  2. المیرا می‌گوید:

    سلام ممنون از اطلاعات مفیدتون.چند تا سوال در مورد زبان lua داشتم.اگه لطف کنید جواب بدید ممنون میشم.
    ۱-زبان lua چه ورژن هایی داشته تا الان تغییراتی که در ورژن هاش بوجود اومده چی بوده.
    ۲-محیط نوشتن زبان lua چیه ؟نوع ویرایشگرش چیه؟و توضیح در مورد ویرایشگرش.
    ۳-نوع گرامر زبان lua
    ۴-نوع انقیاد آن زبان

    • ay می‌گوید:

      سلام.
      خوشحالم که این مطلب مفید واقع شده
      ۱- با تغییرات زبان lua‌ در طول زمان آشنا نیستم. باید به سایتش مراجعه کنید. این لینک میتونه مفید باشه http://www.lua.org/versions.html
      ۲- لیست IDE ها هم اینجاست http://lua-users.org/wiki/LuaIntegratedDevelopmentEnvironments
      ۳- نوع گرامر زبان رو هم نمیدونم
      ۴- دقیقا هم نمیدونم منظورتون از انقیاد رو نمیدونم به نظرم منظورتون binding‌ هست و binding برای این زبان اینه که یه زبان مفسری داینامیک هست.
      امیدوارم به درد خورده باش

پاسخ دادن به المیرا لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *