Język skryptowy

Język skryptowy (ang. script language) – język programowania obsługujący skrypty[1]. Często służący do kontrolowania określonej aplikacji.

Skrypty – programy napisane w językach skryptowych, przeznaczone do wykonywania w specjalnych środowiskach uruchomieniowych automatyzujących wykonywanie zadań[1], które alternatywnie mogą być wykonywane jedno po drugim przez użytkownika.

Języki skryptowe są to najczęściej języki interpretowane, zaprojektowane z myślą o interakcji z użytkownikiem. Niejednokrotnie polecenia używane w skryptach są bardzo skomplikowane – na przykład w systemach operacyjnych UNIX, w języku skryptowym sh większość poleceń to tak naprawdę samodzielne programy. Skrypty są też często używane do jednorazowych zadań, na przykład administracyjnych.

Zastosowania

Oprócz skryptów powłoki systemów uniksowych oraz narzędzi administracyjnych języki skryptowe osadzane bywają w różnych programach, dzięki czemu zapewniają możliwość zautomatyzowania powtarzających się czynności. Na przykład pakiet Microsoft Office wyposażony jest w osadzony interpreter języka Visual Basic for Applications (VBA). Swoje języki skryptowe mają też inne profesjonalne narzędzia edycyjne, jak AutoCAD czy 3D Studio Max.

Interpretery języków skryptowych są wykorzystywane przez serwery WWW do serwowania dynamicznych stron internetowych (np. przez interfejs CGI lub dodatkowe moduły serwera Apache). Używany w ten sposób jest m.in. PHP, Perl, Python i Ruby.

Języki skryptowe osadzane są także w grach komputerowych. Służą wtedy do sterowania przebiegiem gry – fabułą, dialogami, zachowaniem wirtualnych postaci, a czasem nawet do sterowania działaniem całego interfejsu graficznego.

Coraz częściej języki skryptowe kompilowane są do binarnego kodu pośredniego, który wykonywany jest w specjalnej prostej maszynie wirtualnej dużo szybciej, niż przebiegałaby jego interpretacja bezpośrednio z tekstowej postaci źródłowej.

Zobacz też

Przypisy

  1. a b ECMAScript 2019 Language Specification. www.ecma-international.org. [dostęp 2018-11-02].