LUA DASTURLASH TILINING IMKONIYATLARI VA KAMCHILIGI
Namangan Davlat Universiteti, “Informatika” kafedrasi
dotsenti, p.f.n. G.N Yunusova
Namangan Davlat Universiteti, “Informatika” kafedrasi oʼqituvchisi N.S.Zokirova
Annotatsiya: Bu maqola Lua dasturlash tili haqida ma’lumot berib, u C dasturlashtirish tiliga o’hshash ob’ektga yonaltirilgan dasturlarga kirishini hamda bu dasturlashtirish tilining imkoniyatlari hamda uning yutug’lari, qayerda qo’llanilishi hamda kamchiliklari yoritib berilgan. Bu dasturlashtirishni o’rganishdan maqsad o’yinlarni yaratishda qo’llash mumkin bo’ladi. Shunga qaramay, dasturni ko’pchilik dasturchilar ishlashda sekin ishlaydi deyishadi.
Аннотация: В этой статье даётся информация о языке программирования Lua, o том, что этот язык объектно-ориентированного программирования, основанный на С, здесь описываются преимущества этого языка программирования, раскрыты аспекты того, что где можно использовать этот язык программирования, а так же какие недостатки этой программы. Целью изучения этого языка программирования является то, что в нём можно создать игры.Но несмотря на это, он подвержен некоторым недостаткам.
Annotatsiya: This article provides information about the Lua programming language, which is an object-oriented programming language based on the C language, where the advantages of this programming language are, and where this programming language can be used. What are the disadvantages of this program. The goal of learning this programming language is that you can create games in it, but it still has some drawbacks.
Lua mashhur kuchli skript dasturlash tilidir. Lua portugalcha "oy" degan ma'noni anglatadi va qisqartma yoki qisqartma emas. Lua Braziliyadagi Rio-de-Janeyro katolik universitetining Tecgraf bo'limi (Rio-de-Janeyro papalik katolik universitetining kompyuter grafikasi texnologiyalari guruhi) tomonidan ishlab chiqilgan bo'lib, til tarixi 1993 yildan boshlanadi. Lua bepul, C tilida ochiq manba. Tilning asosiy xususiyatlari:
• etuk, barqaror va ommabop tildir; Lua sanoat ilovalarida qo'llaniladi va hozirda o'yinlar uchun etakchi skript tili hisoblanadi;
• bu printsipial jihatdan eng samarali skript tillaridan biri;
• Lua Linux, Windows va MacOS uchun mavjud va u mobil qurilmalarda ham ishga tushirilishi mumkin;
• Lua ixcham va oson o'rnatilgan tildir; boshqa tillarda yozilgan kod bilan kuchli integratsiyaga imkon beruvchi hujjatlashtirilgan API mavjud; Lua C, C ++, Java, C #, Smalltalk, Fortran, Ada va hatto Perl va Ruby tillarida yozilgan dasturlarni kengaytirish uchun ishlatilgan; xuddi shu tarzda, siz Lua-ni boshqa tillarda yozilgan kutubxonalar bilan kengaytirishingiz mumkin;
• Lua atamaning qat'iy ma'nosida ob'ektga yo'naltirilgan til bo'lmasa-da, u sinflar va merosni amalga oshirish uchun maxsus meta-mexanizmlarni taqdim etadi; bu meta-mexanizmlar ob'ektlarni qutqaradi va tilni kichik darajada saqlaydi, shu bilan birga uning semantikasini kengaytirishga imkon beradi;
• tilni yetkazib berish ixcham; masalan, Windows x86 Executables distributivining hajmi 900 KB dan kam;
Bugungi mehmonimiz yashirin frontning haqiqiy jangchisi. Siz buni o'yinlarda (World of Warcraft, Angry Birds, X-Plane, S.T.A.L.K.E.R.) yoki Adobe mahsulotlarida (Lightroom) ko'rgan bo'lishingiz mumkin, lekin uning mavjudligi haqida hech o'ylamagansiz. Ayni paytda, bu til allaqachon deyarli 25 yoshda va bu vaqt davomida u bizning virtual hayotimizni biroz yaxshiroq qildi.
Lua 1993 yilda Rio-de-Janeyro katolik universitetida yaratilgan. Bu ism portugal tilidan Luna deb tarjima qilingan va yaratuvchilar ishonchli tarzda LUA ni yozmaslikni so'rashmoqda, shunda Xudo saqlasin, kimdir ismni qisqartirish uchun qabul qilmasin. Bu OOP prototip modelidan foydalangan holda ko'p paradigmali skript tilidir.
Kod
Tashqi ko'rinishi va imkoniyatlariga ko'ra, Lua JavaScript-ni qayta yaratishga yana bir urinish kabi ko'rinadi, agar ikkinchisi ikki yildan keyin paydo bo'lgan bo'lmasa. O'zingiz ko'ring:
Keling, an'anaviydan boshlaylik:
chop etish ("Salom dunyo")
Qabul qilaman, tanish va unchalik ma'lumotga ega emas. Lua bilan tanishish nuqtai nazaridan qiziqroq misol - kiritilgan raqamning faktorialini hisoblash:
function fact (n)
if n == 0 then
return 1
else
return n * fact(n-1)
end
end
print("enter a number:")
a = io.read("*number") -- read a number
print(fact(a))
Hammasi juda aniq. Aytgancha, Lua parallel tayinlashni qo'llab-quvvatlaydi:
x, y = y, x
Va nihoyat, kutubxonalardan foydalanishga juda oddiy misol:
#include
#include
#include
#include
#include
int main (void) {
char buff[256];
int error;
lua_State *L = lua_open(); /* Lua ochish */
luaopen_base(L); /* Asosiy kutubxonani ochish */
luaopen_table(L); /* jadval kutubxonasini ochish*/
luaopen_io(L); /* I/O kutubxonasini ochish */
luaopen_string(L); /* kutubxona qatorini ochish. */
luaopen_math(L); /* matematik kutubxonani ochish */
while (fgets(buff, sizeof(buff), stdin) != NULL) {
error = luaL_loadbuffer(L, buff, strlen(buff), "line") ||
lua_pcall(L, 0, 0, 0);
if (error) {
fprintf(stderr, "%s", lua_tostring(L, -1));
lua_pop(L, 1); /* pop error message from the stack */
}
}
lua_close(L);
return 0;
}
Afzalliklar va kamchiliklar
Xo'sh, Luaning nimasi yaxshi?
- Birinchidan, yuqorida aytib o'tilganidek, uning ixchamligi va manbalar C tilida yozilganligi bilan bir qatorda, siz sayyoradagi eng mashhur tillardan biri va mavjud platformalarning keng doirasi bilan to'liq muloqotga ega bo'lasiz.
- Ikkinchidan, tez. Agar siz boshqa tillar bilan qiyosiy xususiyatlarni ko'rib chiqsangiz, Lua C yoki Python tillariga to'g'ri kelmasa ham, ba'zi testlarda ajoyib natijalarni ko'rsatayotganini sezasiz.
- Uchinchidan, hatto tajribasiz dasturchilar tomonidan ham o'rganish uchun juda qulay. Shubhasiz, hatto ingliz tilini biladiganlar ham yuqorida tavsiflangan kodning kamida 80 foizini tushunishgan va uni hech qanday muammosiz takrorlashlari mumkin.
Zamonaviy tendentsiya muxlislarini Lua tilida funksional kod yozishingiz mumkinligi qiziqtiradi.Ammo u yerda siz Lua tilida dasturlashga kamida bir necha hafta vaqt ajratsangiz, albatta, o‘ndan ortiq afzalliklarni topasiz.
Biroq, kamchiliklarsiz tillar yo'q, lekin ular Luada mahalliydir. Masalan, standart til Unicode-ni qo'llab-quvvatlamaydi, ammo bu maxsus ICU kutubxonasi yordamida tuzatiladi.
- To‘rtinchi dalil – ma’lumot topishda muammoga duch kelmaysiz. Lua to'g'ridan-to'g'ri rasmiy saytda juda ko'p foydali ma'lumotlarga ega. Bundan tashqari, StackOverFlow va IRC chatidagi hamjamiyat juda yaxshi rivojlangan va AQShda ishlab chiquvchilar va ijodkorlar har yili uchrashadilar. Biroq, kamchiliklarsiz tillar yo'q, lekin Luada ular mahalliy tabiatga ega. Masalan, standart til Unicode-ni qo'llab-quvvatlamaydi, ammo bu maxsus ICU kutubxonasi yordamida tuzatiladi. Yoki xatolar va istisnolarni hal qilishning cheklangan qobiliyati, garchi ko'pchilik buni baraka deb biladi. Yoki qaytish bayonotini blokda faqat oxirgi o'ringa qo'yish zarurati, lekin yana, ko'pchilik uchun bu yaxshi kodning tabiiy qoidasi.
Zamonaviy tendentsiya muxlislarini Lua tilida funksional kod yozishingiz mumkinligi qiziqtiradi.Ammo u yerda siz Lua tilida dasturlashga kamida bir necha hafta vaqt ajratsangiz, albatta, o‘ndan ortiq afzalliklarni topasiz.
Rivojlanish muhitlari
Eclipse uchun LDT (Lua Development Tools) - eng mashhur IDElardan biri uchun kengaytma;
ZeroBrane Studio - Lua tilida yozilgan maxsus muhit;
Decoda eng mashhur kross-platforma IDE emas, lekin u muqobil sifatida ishlaydi;
SciTE - Lua-ni to'liq qo'llab-quvvatlaydigan yaxshi muharrir;
WoWUIDesigner - taxmin qiling, bu muhit qaysi o'yin skriptlarni qayta ishlashga yordam beradi, jumladan Lua?
Do'stlaringiz bilan baham: |