Èçäàòåëüñêèé äîì ÎÎÎ "Ãåéì Ëýíä"ÑÏÅÖÂÛÏÓÑÊ ÆÓÐÍÀËÀ ÕÀÊÅÐ #64, ÌÀÐÒ 2006 ã.

êîìôîðòíîå ïðîãðàììèðîâàíèå èãð

ÀËÅÊÑÀÍÄÐ ÃËÀÄÛØ

Ñïåöâûïóñê: Õàêåð, íîìåð #064, ñòð. 064-036-4


Ãîä ñîçäàíèÿ: 1995

Òåêóùàÿ âåðñèÿ: 1.8.4, âûïóùåíà 12 äåêàáðÿ 2005 ã.

Äîñòîèíñòâà:

? ÑÈÍÒÀÊÑÈÑ ÓÄÎÁÍÛÉ.

? ÄÎÊÓÌÅÍÒÀÖÈß ÁÎËÅÅ-ÌÅÍÅÅ ÂÌÅÍßÅÌÀß, ÊÎÌÌÜÞÍÈÒÈ ÄÎÑÒÀÒÎ×ÍÎ ÐÀÇÂÈÒÎÅ.

? Î×ÅÍÜ ÓÄÎÁÅÍ Â ÑÎÇÄÀÍÈÈ ÑÏÅÖÈÀËÈÇÈÐÎÂÀÍÍÛÕ ßÇÛÊΠÄÅÊËÀÐÀÒÈÂÍÎÃÎ ÕÀÐÀÊÒÅÐÀ.

? ÍÀ ÁÓÄÓÙÓÞ ÂÅÐÑÈÞ 2.0 ÇÀÏËÀÍÈÐÎÂÀÍÛ ÐÀÁÎÒÛ ÏÎ ÓÑÒÐÀÍÅÍÈÞ ÎÑÍÎÂÍÛÕ ÍÅÄÎÑÒÀÒÊΠßÇÛÊÀ.

Íåäîñòàòêè:

? ÑËÀÁÎÅ API ÄËß ÂÑÒÐÀÈÂÀÍÈß. ÍÅÒ ÏÐÎÄÂÈÍÓÒÛÕ ÎÁÅÐÒÎÊ, ÏÎÄÎÁÍÛÕ BOOST.PYTHON È LUABIND.

? ÍÅÂÛÑÎÊÀß ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÜ.

? ÒÅÊÓÙÀß ÂÅÐÑÈß ÍÅ ÏÎÄÄÅÐÆÈÂÀÅÒ ÞÍÈÊÎÄ.

? ÎÐÈÅÍÒÈÐÎÂÀÍ, ÑÊÎÐÅÅ, ÍÅ ÍÀ ÐÀÑØÈÐÅÍÈÅ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÏÐÎÃÐÀÌÌ, À ÍÀ ÐÀÑØÈÐÅÍÈÅ ÑÎÁÑÒÂÅÍÍÎÉ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÇÀ Ñ×ÅÒ ÂÍÅØÍÈÕ ÌÎÄÓËÅÉ.

Lua (www.lua.org) MIT (Open Source)

Àâòîðû: Ðîáåðòî Èåðóñàëèìñêèé (Roberto Ierusalimschy), Ëóèø Ýíðèêå äå Ôèãóèðåäî (Luiz Henrique de Figueiredo), Âàëüäåìàð ×åëåø (Waldemar Celes)

Ãîä ñîçäàíèÿ: 1993

Òåêóùàÿ âåðñèÿ: 5.0.2, âûïóùåíà 17 ìàðòà 2004 ã.

Äîñòîèíñòâà:

? ÏÐÎÑÒÎÉ È ÄÎÑÒÀÒÎ×ÍÎ ÓÄÎÁÍÛÉ ÑÈÍÒÀÊÑÈÑ, ÁËÈÇÊÈÉ Ê ÊËÀÑÑÈ×ÅÑÊÎÌÓ.

? ÕÎÐÎØÈÉ API ÄËß ÏÎÄÊËÞ×ÅÍÈß.

? ÄÎÊÓÌÅÍÒÀÖÈß ÕÎÐÎØÀß, ÊÎÌÌÜÞÍÈÒÈ ÄÎÑÒÀÒÎ×ÍÎ ÐÀÇÂÈÒÎÅ.

? ÑÏÅÖÈÀËÜÍÎ ÐÀÇÐÀÁÀÒÛÂÀËÑß ÊÀÊ ßÇÛÊ ÄËß ÐÀÑØÈÐÅÍÈß ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ (EXTENSIBILITY LANGUAGE).

? ÌÀËÅÍÜÊÈÉ È ËÅÃÊÈÉ (ÂÑÅÃÎ 150 ÊÁ) ÈÍÒÅÐÏÐÅÒÀÒÎÐ, ÎÑÍÎÂÀÍÍÛÉ ÍÀ ÐÅÃÈÑÒÐÎÂÎÉ ÂÈÐÒÓÀËÜÍÎÉ ÌÀØÈÍÅ (REGISTER-BASED VIRTUAL MACHINE). ÈÍÒÅÐÏÐÅÒÀÒÎÐ LUA — ÎÄÈÍ ÈÇ ÑÀÌÛÕ ÁÛÑÒÐÛÕ ÑÐÅÄÈ ÈÍÒÅÐÏÐÅÒÀÒÎÐΠÑÊÐÈÏÒÎÂÛÕ ßÇÛÊÎÂ.

? ÏÎÄÄÅÐÆÊÀ ÃÈÁÊÎÃÎ, ÌÓËÜÒÈÏÀÐÀÄÈÃÌÅÍÍÎÃÎ ÑÒÈËß ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß.

? ÓÄÎÁÍÎ ÈÑÏÎËÜÇÎÂÀÒÜ ÊÀÊ ÎÑÍÎÂÓ ÄËß ÑÎÇÄÀÍÈß ÑÏÅÖÈÀËÈÇÈÐÎÂÀÍÍÛÕ ßÇÛÊΠ(DOMAIN SPECIFIC LANGUAGES).

? ÓÄÎÁÍÎ ÎÏÈÑÛÂÀÒÜ ÄÀÍÍÛÅ, ÈÍÒÅÐÏÐÅÒÀÒÎÐ ÝÔÔÅÊÒÈÂÍÎ ÐÀÁÎÒÀÅÒ Ñ ÁÎËÜØÈÌÈ ÎÁÚÅÌÀÌÈ ÊÎÄÀ.

? ÝÒÎÒ ÑÊÐÈÏÒÎÂÛÉ ßÇÛÊ ÈÑÏÎËÜÇÓÅÒÑß Â ÈÃÐÎÂÎÉ ÈÍÄÓÑÒÐÈÈ ×ÀÙÅ ÂÑÅÃÎ.

Íåäîñòàòêè:

? ÍÅ ÏÎÄÄÅÐÆÈÂÀÅÒ ÞÍÈÊÎÄ ßÂÍÛÌ ÎÁÐÀÇÎÌ, ÎÄÍÀÊÎ ÏÎÄÄÅÐÆÊÀ ÍÓËÅÂÛÕ ÑÈÌÂÎËΠ ÑÅÐÅÄÈÍÅ ÑÒÐÎÊ ÏÎÇÂÎËßÅÒ ÏÐÎÇÐÀ×ÍÎ ÈÑÏÎËÜÇÎÂÀÒÜ UTF-8.

? ÎÒÑÓÒÑÒÂÈÅ ÍÅÏÎÑÐÅÄÑÒÂÅÍÍÎÉ ÏÎÄÄÅÐÆÊÈ ÎÁÚÅÊÒÍÎ ÎÐÈÅÍÒÈÐÎÂÀÍÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß. ÊÎÌÏÅÍÑÈÐÓÅÒÑß ÁÎËÜØÎÉ ÃÈÁÊÎÑÒÜÞ ßÇÛÊÀ È ÍÀËÈ×ÈÅÌ ÑÏÅÖÈÀËÜÍÎÃÎ «ÑÈÍÒÀÊÑÈ×ÅÑÊÎÃÎ ÑÀÕÀÐÀ». ÒÀÊÆÅ ÎÁÚÅÊÒÍÀß ÑÈÑÒÅÌÀ ÏÐÅÄÎÑÒÀÂËßÅÒÑß ÍÅÊÎÒÎÐÛÌÈ ÁÈÁËÈÎÒÅÊÀÌÈ-ÎÁÅÐÒÊÀÌÈ, ÍÀÏÐÈÌÅÐ LU-ABIND (luabind.sf.net).

? ÃËÎÁÀËÜÍÀß ÎÁËÀÑÒÜ ÂÈÄÈÌÎÑÒÈ ÏÅÐÅÌÅÍÍÛÕ, ÏÐÈÍßÒÀß ÏÎ ÓÌÎË×ÀÍÈÞ, ×ÐÅÂÀÒÀ ÎØÈÁÊÀÌÈ.

èç îïûòà

Îïûò ïîäñêàçûâàåò, ÷òî Lua — ñàìîå óäîáíîå ñðåäñòâî, êîòîðîå ìîæíî èñïîëüçîâàòü â êà÷åñòâå ñêðèïòîâîãî ÿçûêà â èãðå. Python, áëàãîäàðÿ ðàçâèòûì áèáëèîòåêàì, î÷åíü óäîáåí êàê ÿçûê äëÿ íàïèñàíèÿ óòèëèò. Íàïðèìåð, èìåííî íà íåì ðåàëèçîâàíà äîâîëüíî óäà÷íàÿ ñèñòåìà óïðàâëåíèÿ ñáîðêîé ïðîåêòîâ Scons (www.scons.org) Òàêæå ñòîèò âðåìÿ îò âðåìåíè ïîñìàòðèâàòü íà Ruby — ýòîò ÿçûê èìååò õîðîøèé ïîòåíöèàë, êîòîðûé, ìîæåò áûòü, ðàñêðîåòñÿ ïîñëå âûõîäà âåðñèè 2.0

Íàçàä íà ñòð. 064-036-3  Ñîäåðæàíèå