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

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

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

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


ïîëåçíûå ñîâåòû

Äëÿ âñåõ ñëó÷àåâ î÷åíü âàæíà ïîëíîöåííàÿ âàëèäàöèÿ ñêðèïòîâîãî êîäà è âûäà÷à ïîäðîáíûõ è èñ÷åðïûâàþùèõ ñîîáùåíèé îá îøèáêàõ. Íà ñòàäèè àêòèâíîé ðàçðàáîòêè, äàæå êîãäà îò êîäà òðåáóåòñÿ èãíîðèðîâàíèå îøèáêè è ïðîäîëæåíèå ðàáîòû, îáû÷íî ëó÷øå îáåñïå÷èâàòü âûâîä îòëàäî÷íîãî ñîîáùåíèÿ â ëîã. Íå çàáûâàé, ÷òî ãåéìäèçàéíåðû, ïèøóùèå ñêðèïòû, îáû÷íî íå èìåþò ðàçâèòûõ íàâûêîâ îòëàäêè. Åñëè ïîâåäåíèå èãðû ïðîñòî îòëè÷àåòñÿ îò òîãî, êîòîðîå îíè îæèäàþò, åñëè íå âûäàþòñÿ êàêèå-ëèáî ïðåäóïðåäèòåëüíûå ñîîáùåíèÿ (è äàæå åñëè «âèíîâàò» èõ ñîáñòâåííûé êîä), ÷àñòî ãåéìäèçàéíåðû, íå ðàçáèðàÿñü, îáâèíÿþò ïðîãðàììèñòà: «À òû ãëþ÷íûé äâèæîê íàïèñàë» :).

Âûâîäû:

? ÐÀÇÐÀÁÎÒÊÀ ÈÃÐÛ ÍÅÝÔÔÅÊÒÈÂÍÀ, ÊÎÃÄÀ ÃÅÉÌÄÈÇÀÉÍÅÐÓ ÍÓÆÍÛ ÓÑËÓÃÈ ÏÐÎÃÐÀÌÌÈÑÒÀ, ×ÒÎÁÛ ÂÍÅÑÒÈ ÈÇÌÅÍÅÍÈß Â ÈÃÐÎÂÎÉ ÏÐÎÖÅÑÑ.

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

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

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

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

ïîïóëÿðíûå îòêðûòûå ñêðèïòîâûå ñèñòåìû

Ãîòîâûõ ñêðèïòîâûõ ñèñòåì ìíîæåñòâî, íî â èãðàõ ïðèæèëèñü åäèíèöû. Ïðè÷èíà?  îñíîâíîì èç-çà ñïåöèôè÷åñêèõ òðåáîâàíèé, ïðåäúÿâëÿåìûõ èãðàìè ê ñêðèïòàì. Ê ïðèìåðó, íåîáõîäèìîñòü â âûñîêîé ïðîèçâîäèòåëüíîñòè èíòåðïðåòàòîðà.

Python (www.python.org) Open Source

Àâòîð: Ãâèäî âàí Ðîññóì (Guido van Rossum); www.python.org/~guido

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

Òåêóùàÿ âåðñèÿ: 2.4.2, âûïóùåíà 28 ñåíòÿáðÿ 2005 ã.

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

? ÁÎÃÀÒÅÉØÀß ÏÎ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÁÈÁËÈÎÒÅÊÀ;

? ÁÎËÜØÎÉ ÎÁÚÅÌ ÄÎÑÒÓÏÍÎÉ ÄÎÊÓÌÅÍÒÀÖÈÈ È ÎÁØÈÐÍÎÅ ÊÎÌÌÜÞÍÈÒÈ;

? ÏÐÎÑÒÎÉ ÑÈÍÒÀÊÑÈÑ;

? ÓÄÎÁÑÒÂÎ ÄËß ÍÀÏÈÑÀÍÈß ÌÅËÊÈÕ ÓÒÈËÈÒ;

? ÏÎÄÄÅÐÆÊÀ ÞÍÈÊÎÄÀ.

Íåäîñòàòêè:

? ÄÎÑÒÀÒÎ×ÍÎ ÒÐÅÁÎÂÀÒÅËÅÍ Ê ÎÁÚÅÌÓ ÏÀÌßÒÈ.

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

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

? ÎÔÈÖÈÀËÜÍÀß ÈÄÅÎËÎÃÈß ÄÈÊÒÓÅÒ ÅÄÈÍÑÒÂÅÍÍÛÉ ÌÅÒÎÄ ÐÅØÅÍÈß ÊÀÆÄÎÉ ÏÐÎÁËÅÌÛ.

? ÍÅÒ ÂÎÇÌÎÆÍÎÑÒÈ ÇÀÏÓÑÊÀÒÜ ÑÊÐÈÏÒÛ «Â ÏÅÑÎ×ÍÈÖÅ», ÁÅÇ ÄÎÑÒÓÏÀ Ê ÎÏÅÐÀÖÈÎÍÍÎÉ ÑÈÑÒÅÌÅ.

? ×ÓÂÑÒÂÈÒÅËÅÍ Ê ÊÎËÈ×ÅÑÒÂÓ ÏÐÎÁÅËΠ ÍÀ×ÀËÅ ÑÒÐÎÊÈ, ÊÎÒÎÐÎÅ ÎÏÐÅÄÅËßÅÒ ÓÐÎÂÅÍÜ ÂËÎÆÅÍÍÎÑÒÈ ÊÎÍÑÒÐÓÊÖÈÈ (ÂÌÅÑÒÎ, ÍÀÏÐÈÌÅÐ, ÔÈÃÓÐÍÛÕ ÑÊÎÁÎÊ Â C/C++). ÂÏÐÎ×ÅÌ, Ê ÝÒÎÌÓ ÌÎÆÍÎ ÏÐÈÂÛÊÍÓÒÜ.

? Â ÁÓÄÓÙÅÉ ÂÅÐÑÈÈ, PYTHON 3000, ÏËÀÍÈÐÓÅÒÑß ÑÅÐÜÅÇÍÎ ÍÀÐÓØÈÒÜ ÎÁÐÀÒÍÓÞ ÑÎÂÌÅÑÒÈÌÎÑÒÜ ÑÎ ÑÒÀÐÛÌ ÊÎÄÎÌ ÍÀ PYTHON 2.X.

Ruby (www.ruby-lang.org) Open Source

Àâòîð: Þêèõèðî Ìàöóìîòî (Yukihiro Matsumoto); en.wikipedia.org/wiki/Yukihiro_Matsumoto

Íàçàä íà ñòð. 064-036-2  Ñîäåðæàíèå  Âïåðåä íà ñòð. 064-036-4