Język skryptowy

Język skryptowy lub skryptowy to język programowania, który obsługuje skrypty. Skrypty są zazwyczaj krótkimi programami komputerowymi, które wykonują kroki, które mogą być wykonywane pojedynczo przez daną osobę. Automatyzuje to pracę, aby uczynić ją łatwiejszą i bardziej niezawodną. Język skryptowy jest często prostszym językiem i łatwiejszym do nauczenia się niż inne języki, ale mimo to może robić wiele rzeczy.

Skrypty mogą być uruchamiane wewnątrz innego programu, np. w przeglądarce internetowej lub Microsoft Excel. Mogą być również powłoką, która działa z interfejsu wiersza poleceń i wykonuje wywołania do systemu operacyjnego (OS). Powłoka jest uważana za interaktywną - użytkownik może wybrać, co ma wpisać, a powłoka odpowiada na polecenie. Można ich używać do kontroli zadań na komputerach mainframe i serwerach.

Niektórzy mówią, że język skryptowy musi być powiązany z konkretnym zastosowaniem. Inni używają szerszej definicji i obejmują języki programowania ogólnego przeznaczenia, które są interpretowane, a nie kompilowane. Język ogólnego przeznaczenia oznacza, że może być używany na wiele sposobów do różnych rzeczy. Niektóre języki ogólnego przeznaczenia (takie jak Java) posiadają odmiany, które mogą być skryptowane (Javascript). Nie istnieje żadna konkretna reguła dotycząca tego, co jest, a co nie jest językiem skryptowym.

Przykłady

Kilka typowych przykładów języków skryptowych:

  • Powłoka Bash i C, jako języki sterowania dla systemów operacyjnych Unix lub Unix-like
  • Skrypty uruchamiane wewnątrz innych aplikacji nazywane są językami dodatkowymi. Przeglądarki internetowe dopuszczają kilka rodzajów skryptów, w tym ECMAScript (JavaScript) lub XUL. Na przykład, strona główna Google korzysta z JavaScriptu. Visual Basic for Applications jest używany wewnątrz pakietu Microsoft Office. Lua jest językiem stworzonym celowo jako język rozszerzający i może być używany w wielu aplikacjach.
  • Gry, które mają rozszerzenia skryptowe obejmują wirtualny świat Second Life i symulatory Trainz Railroad. W innych grach, takich jak Wesnoth, różnorodność rzeczywistych rozgrywanych gier są skrypty napisane przez innych użytkowników.
  • Języki przetwarzania tekstu sed i AWK
  • Ogólne przeznaczenie: Perl, Tcl i Python to wysokopoziomowe języki programowania (bliższe ludzkiemu językowi niż kodowi maszynowemu), które mogą być używane do wielu różnych rzeczy. Niektóre z tych języków zostały najpierw stworzone do konkretnego użytku, a następnie zostały zmienione na języki ogólnego przeznaczenia.

Charakterystyka

Większość języków skryptowych jest łatwa do opanowania. Często mogą to być albo krótkie pliki z kodem źródłowym, albo wprowadzane po jednym poleceniu w interfejsie wiersza poleceń, który posiada pętlę read-eval-print (REPL, powłoka językowa). Zazwyczaj oznacza to prosty zestaw poleceń. Może nie być funkcji lub głównego, po prostu działa od początku do końca. Jeśli coś nie działa, programista może dokonać szybkich zmian i uruchomić to ponownie. Sprawia to, że język skryptowy jest dobry do tworzenia szybkiego prototypu, aby sprawdzić, czy pomysł działa.

Na przykład, większość ludzi nie nazywa Javy językiem skryptowym, ze względu na jej długą składnię i reguły dotyczące tego, które klasy istnieją w jakich plikach, oraz dlatego, że Java nie może być wykonywana interaktywnie w REPL. Potrzebuje plików z kodem źródłowym i mogą one zawierać jedynie definicje, które muszą być używane przez aplikację główną lub uruchamiającą aplikację. (Java nie jest tym samym co JavaScript).

Ale Python pozwala na wybór - funkcje mogą być umieszczone w pliku, mogą być uruchamiane bez funkcji i używać stylu programowania imperatywnego, a nawet używać go interaktywnie (wpisać i uruchomić jedną linię naraz).

Drukuj ("Hello World")

Ta jedna linia kodu Pythona drukuje "Hello World"; nie jest potrzebna żadna funkcja main() ani nic innego.

Język skryptowy jest zazwyczaj interpretowany z kodu źródłowego lub bajtocodu. Jednak coś musi uruchomić skrypt (zinterpretować go), aby komputer go zrozumiał. Jest to aplikacja, lub coś w systemie operacyjnym. Często jest ona napisana w skompilowanym języku i rozpowszechniana w formie kodu maszynowego (jako plik wykonywalny, który nie ma sensu dla ludzi).

Języki skryptowe mogą być zaprojektowane tak, aby mogły być używane przez osoby korzystające z programu - rozwój użytkownika końcowego. Innym razem mogą one być budowane przez programistów na własny użytek. Języki skryptowe często wykorzystują abstrakcję, która jest formą ukrywania informacji. Oznacza to, że użytkownicy nie muszą znać szczegółów dotyczących typów zmiennych, przechowywania danych i zarządzania pamięcią.

Skrypty są często tworzone lub zmieniane przez osobę, która je wykonuje, ale niektóre są udostępniane lub sprzedawane innym. Na przykład, gdy duże części gier są pisane w języku skryptowym. Czasami skrypt może zostać skompilowany zanim inni go użyją. Raz skompilowany, będzie działał szybciej i nie będzie potrzebował innej aplikacji do jego uruchomienia. A to uniemożliwia użytkownikom końcowym zmianę kodu.

Historia

Wczesne komputery typu mainframe (w latach 50.) nie były interaktywne, ale wykorzystywały skrypty przechowywane w plikach wsadowych. Język kontroli zadań IBM (JCL) jest powszechnym przykładem języka skryptowego używanego do kontroli przetwarzania wsadowego.

Pierwsze powłoki interaktywne zostały wykonane w latach 60-tych XX wieku, aby pomóc w zdalnej obsłudze pierwszych systemów współdzielenia czasu. Wykorzystywały one skrypty powłoki, które mogły uruchamiać programy komputerowe w ramach programu komputerowego, jakim jest powłoka. Calvinowi Mooersowi w jego języku TRAC przypisuje się na ogół wymyślanie podstawiania poleceń. Pozwala to poleceniom na zmianę skryptu (samo-modyfikującego się kodu). Multics wywołuje te aktywne funkcje. Louis Pouzin napisał około 1964 roku wczesny procesor dla skryptów poleceń zwany RUNCOM dla CTSS. Stuart Madnick z MIT napisał w 1966 roku język skryptowy dla CP/CMS IBM. Pierwotnie nazwał ten procesor Command, później EXEC. Multics zawierał odrost CTSS RUNCOM, zwany również RUNCOM. EXEC został ostatecznie zastąpiony przez EXEC 2 i REXX.

Języki takie jak Tcl i Lua były od początku tworzone jako języki skryptowe ogólnego przeznaczenia, które można było umieścić w dowolnej aplikacji. Inne języki, takie jak Visual Basic for Applications (VBA), mogły zrobić wiele tego samego, ale musiały pracować tylko z określonymi aplikacjami. Używanie języka skryptów ogólnego przeznaczenia zamiast tworzenia nowego języka dla każdej aplikacji zazwyczaj ułatwia pracę zarówno osobie piszącej aplikację, jak i użytkownikowi piszącemu skrypty.

Rodzaje języków skryptowych

Języki klejenia

Skryptowanie jest czasami używane do łączenia różnych aplikacji. Nazywa się to kodem kleju, a język stworzony właśnie w tym celu jest językiem kleju. Rurociągi i skrypty powłoki są częstymi przykładami języków kleju. Ale jeśli w pliku skryptowym jest napisane wiele logiki, to lepiej jest myśleć o tym po prostu jako o innej aplikacji, a nie o "kleju".

Języki klejone są szczególnie przydatne do pisania i konserwacji:

  • niestandardowe polecenia dla powłoki poleceń;
  • mniejsze programy niż te, które są lepiej wdrażane w skompilowanym języku;
  • programy "wrapper", które robią pewne zautomatyzowane rzeczy przed lub po uruchomieniu aplikacji, takie jak arkusz kalkulacyjny, baza danych, kompilator, itp;
  • skrypty, które mogą się często zmieniać;

Przyklejanie przykładów językowych:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Skrypty Unix Shell (ksh, csh, bash, sh i inne)
  • VBScript
  • Język przepływu pracy
  • Windows PowerShell
  • XSLT

Urządzenia takie jak programowalne kalkulatory mogą mieć również swoje własne języki klejenia. Na przykład, Texas Instruments TI-92, domyślnie mogą być programowane za pomocą skryptowego języka poleceń. Kalkulator TI-NSpire rozumie język Lua. Inni rozumieją jakiś rodzaj języka Basic, a może Lisp lub coś innego.

Języki kontroli pracy i powłoki

Grupa ta wywodzi się z automatyzacji kontroli zadań, która odnosi się do uruchamiania i kontroli zachowania programów systemowych, począwszy od JCL IBM. Wiele z tych języków pracuje również jako interpretatory wiersza poleceń, takie jak powłoka uniksowa czy MS-DOS COMM. Inne, takie jak AppleScript, oferują wykorzystanie poleceń podobnych do angielskich do tworzenia skryptów.

Skryptowanie GUI

Przy budowaniu graficznych interfejsów użytkownika potrzebny jest sposób ich testowania. Specjalistyczne języki skryptowe zostały stworzone do sterowania oknami graficznymi, menu, przyciskami i tak dalej, tak jak zrobiłby to ludzki użytkownik. Wiele razy mogą być one używane do kopiowania dokładnie tego, co robi dana osoba (przesuwanie myszki, klikanie lub pisanie na klawiaturze). Ta czynność lub zestaw czynności, które są kopiowane i zapamiętywane nazywa się makro.

Języki właściwe dla danego zastosowania

Wiele dużych aplikacji zawiera język skryptowy zbudowany właśnie dla tej aplikacji. Aplikacja może być grą lub programem biznesowym. Ten typ języka jest tworzony dla jednej aplikacji. Wyglądają one jak język ogólnego przeznaczenia (np. QuakeC, wzorowany na języku C), mają niestandardowe cechy, które je wyróżniają.

Języki rozszerzane/obejmowane

To jest jak język skryptowy specyficzny dla aplikacji, ponieważ kontroluje on aplikację, ale język ten może być używany w wielu aplikacjach.

JavaScript był początkowo językiem do tworzenia skryptów w przeglądarkach internetowych, ale obecnie jest to język osadzany ogólnego przeznaczenia. Jest on również używany na przykład w produktach Adobe.

Niektóre języki przechodzą z czasem z jednego typu na drugi, zwykle w miarę jak dodają zdolności do robienia więcej rzeczy.

Pytania i odpowiedzi

P: Co to jest język skryptowy?


O: Język skryptowy to język programowania, który obsługuje skrypty.

P: Czym są skrypty?


O: Skrypty to zazwyczaj krótkie programy komputerowe, które wykonują czynności, które mogłyby być wykonywane pojedynczo przez człowieka.

P: Dlaczego skrypty są przydatne?


O: Automatyzują pracę, czyniąc ją łatwiejszą i bardziej niezawodną.

P: Czy trudno jest nauczyć się języka skryptowego?


O: Język skryptowy jest często prostszy i łatwiejszy do nauczenia się niż inne języki, ale nadal może robić wiele rzeczy.

P: Gdzie mogą być uruchamiane skrypty?


O: Skrypty mogą być uruchamiane wewnątrz innego programu, na przykład w przeglądarce internetowej lub programie Microsoft Excel.

P: Czym jest powłoka w językach skryptowych i jak się jej używa?


O: Może to być również powłoka uruchamiana z poziomu interfejsu wiersza poleceń i wykonująca połączenia z systemem operacyjnym (OS). Powłoka jest uważana za interaktywną - użytkownik może wybrać, co wpisać, a powłoka odpowiada na polecenie. Mogą one być używane do kontrolowania zadań na komputerach mainframe i serwerach.

P: Czy język ogólnego przeznaczenia może być językiem skryptowym?


O: Niektórzy twierdzą, że język skryptowy musi być powiązany z konkretnym zastosowaniem. Inni stosują szerszą definicję i zaliczają do nich języki programowania ogólnego przeznaczenia, które są interpretowane, a nie kompilowane. Język ogólnego przeznaczenia oznacza, że może być używany na wiele sposobów do różnych rzeczy. Niektóre języki ogólnego przeznaczenia (takie jak Java) mają odmiany, które można skryptować. Nie ma konkretnej zasady określającej, co jest, a co nie jest językiem skryptowym.

AlegsaOnline.com - 2020 / 2023 - License CC3