LocalazyLocalazy
Actor je súbežný programovací jazyk na odovzdávanie správ, ktorý sa používa na programovanie systémov s mnohými aktérmi, ako sú videohry alebo distribuované systémy. Actor je založený na modeli Actor, matematickom modeli súbežných výpočtov. Actor vytvorili Hugh Smith a David Ungar v roku 1986. Bol inšpirovaný programovacím jazykom Smalltalk, ktorý Smith a Ungar používali začiatkom 80. rokov. Actor je staticky typovaný, objektovo orientovaný jazyk. Má malú sadu základných dátových typov a operátorov a jednoduchý, výkonný objektový model. Programy Actor sa skladajú z aktérov, čo sú objekty, ktoré medzi sebou komunikujú posielaním a prijímaním správ. Aktér môže poslať správu inému aktérovi pomocou operátora ! (bang). Napríklad nasledujúci kód posiela správu od aktéra A aktérovi B: A ! B Keď aktér prijme správu, môže odpovedať vykonaním kódu. Kód, ktorý aktér vykoná v reakcii na správu, sa nazýva správanie. Aktéri môžu tiež vytvárať nových aktérov. Keď aktér vytvorí nového aktéra, stane sa rodičom nového aktéra. Vzťah rodič-dieťa medzi aktérmi sa nazýva hierarchia. Aktéri môžu byť organizovaní do hierarchií na vytvorenie komplexných systémov. Napríklad videohra môže mať hierarchiu aktérov, ktorí predstavujú herný svet, hráča, nepriateľské postavy a objekty v hre. Kľúčovou vlastnosťou Actoru je jeho podpora súbežného programovania. Súbežné programovanie je štýl programovania, pri ktorom sa súčasne vykonáva viacero úloh. V Actore sa súbežné programovanie dosahuje pomocou odovzdávania správ na komunikáciu medzi aktérmi. Odovzdávanie správ je forma komunikácie medzi procesmi (IPC), pri ktorej sa správy posielajú medzi procesmi. V Actore sa na komunikáciu medzi aktérmi používa odovzdávanie správ. Odovzdávanie správ má niekoľko výhod oproti iným formám IPC, ako je zdieľaná pamäť alebo zámky. Po prvé, odovzdávanie správ je asynchrónne, čo znamená, že odosielateľ a príjemca správy nemusia byť synchronizovaní. Po druhé, odovzdávanie správ nie je blokovacie, čo znamená, že odosielateľ nemusí čakať, kým príjemca spracuje správu, a až potom môže pokračovať. Po tretie, odovzdávanie správ je škálovateľné, čo znamená, že sa môže použiť na komunikáciu medzi veľkým počtom procesov. po štvrté, odovzdávanie správ je odolné voči chybám, čo znamená, že môže pokračovať v práci aj v prípade zlyhania jedného alebo viacerých procesov. Actor má tiež podporu pre distribuované programovanie. Pri distribuovanom programovaní je program rozdelený na viacero častí, ktoré bežia na rôznych počítačoch. Na komunikáciu medzi týmito časťami možno použiť mechanizmus odovzdávania správ Actor. Actor je výkonný programovací jazyk, ktorý je vhodný na programovanie komplexných systémov. Vďaka podpore súbežného a distribuovaného programovania je ideálnou voľbou na vývoj rozsiahlych aplikácií.