Tento článok bol vytlačený zo stránky https://referaty.centrum.sk

 

Skriptovacie jazyky

I. DELENIE PROGRAMOVACÍCH JAZYKOV

I.I Nižšie a vyššie jazyky

Nižšie programovacie jazyky sú jazyky primitívne, ktorých inštrukcie (viacmenej presne) odpovedajú príkazom procesora. To znamená, že procesor bude vykonávať tie inštrukcie, ktoré programátor napíše. Sú závislé na svojom procesore a neprenositeľné na iný (nepríbuzný) procesor.

V praxi to vyzerá tak, že programátor musí vypisovať "každú hlúposť" a i jednoduchý program má neúmerne zložitý zdrojový kód. Výhodou je, že programátor má takto prístup i k funkciám počítača, ktoré by mal vo vyššom programovacom jazyku nedosiahnuteľné.

Patrí sem jazyk symbolických adries (Assembler) a strojový kód (to, čo uvidíte, keď sa vám podarí natiahnuť obsah exe súboru do textového editora). Zvláštnym typom nižšieho jazyka je tzv. autokód, ktorý spojuje prvky nižších a vyšších jazykov. Vznikol rozšírením Assemblera o jednoduché príkazy pre často používané skupiny inštrukcií.

Vyššie (problémovo orientované) programovacie jazyky sú podstatne zrozumiteľnejšie, štruktúra ich zdrojových kódov je logická, nie sú závislé na strojových princípoch počítača. Do strojového kódu sa prevádzajú kompilátorom. V praxi je vyšší programovací jazyk všetko, čo nie je Assembler, to znamená: Pascal, Basic, Prolog, Lisp, Algol, Fortran, ...

Často sa uvádza, že jazyk C je akýmsi prechodom medzi vyššími a nižšími jazykmi, má však bližšie k vyšším jazykom.

I.II Imperatívne, logické a funkcionálne jazyky

Imperatívne (tiež procedurálne) jazyky sú takmer všetky jazyky, ktoré sa bežne používajú. K riešeniu úlohy sa používa algoritmus (postup, ako sa má daná úloha vyriešiť). Napr. Pascal, C, Basic, PHP, Perl, ...

Pri logických jazykoch programátor len popíše daný problém pomocou logických výrokov a program z nich potom vyvodzuje požadované informácie. Niekedy sa používajú k tvorbe umelej inteligencie, k praktickému programovaniu sú nevyužiteľné. Napr. Prolog.

Vo funkcionálnych jazykoch sa všetko popisuje pomocou funkcií, často neexistujú premenné, program je vlastne len zložitou sústavou funkcií. Často sa pracuje so zoznamami. Tento spôsob programovania je bližší klasickej matematike, všeobecne je však veľmi neprehľadný. Avšak pre niektoré problémy sú tieto jazyky vhodnejšie než imperatívne. Napr. Lisp, Haskell, Miranda, ...

Logickým a funkcionálnym jazykom se niekedy spoločne hovorí deklaratívne jazyky (tiež neprocedurálne). Niektoré jazyky majú prvky funkcionálne i imperatívne. Napríklad viacmenej funkcionálny Scheme dovoľuje programovať i imperatívne, naopak imperatívny Python umožňuje i funkcionálny štýl programovania.

I.III Interpretované a kompilované jazyky

Interpretované jazyky sú prekladané až počas behu programu. Sú pomalšie, ale nemajú tak veľké formálne požiadavky (nie je potreba inicializovať premennú, jej dátový typ sa môže počas behu meniť, ukazovatele sú zbytočné). Prekladajú sa interpreterom, ten inštrukcie zároveň pri preklade vykonáva. Hlavnou nevýhodou týchto jazykov je, že sa musia vždy spúšťať v interpreteri. Do tejto skupiny patrí väčšina verzií Basicu a všetky skriptovacie jazyky (PHP, Python, ...).

Kompilované jazyky sú celé preložené a až potom môžu byť spustené. Sú rýchlejšie, majú vyššie nároky na formálnu správnosť kódu. Prekladajú sa kompilátorom, výsledkom prekladu je (väčšinou) .exe súbor. Patrí sem väčšina klasických programovacích jazykov.

Teoreticky môže mať jeden programovací jazyk verziu interpretovanú i kompilovanú.I.IV Ďalšie spôsoby delenia

Existuje ešte veľa spôsobov ako deliť programovacie jazyky. Napr. u imperatívnych jazykov sa veľakrát rozlišujú tie, ktoré podporujú objektovo orientované programovanie (OOP) alebo programovanie štruktúrované.

Ďalším delením je delenie podľa účelu. Tu je veľmi obtiažne presne vymedziť jednotlivé skupiny. Veľa jazykov má veľmi široké použitie, veľakrát sú rozšírené v miernych úpravách na väčšine operačných systémov. Avšak doposiaľ nebol vynájdený jazyk, ktorý by bol vhodný úplne na všetko a asi ani nikdy vynájdený nebude. Napríklad veľmi rozšírený jazyk C je vhodný hlavne na programovanie operačných systémov a ďalších "nízkych" aplikácií; Assembler sa používa k prístupu k hardwaru; PHP sa dá použiť len pri internetových stránkach atď.

I.V Moderné a zastarané jazyky

Toto delenie je subjektívne. Medzi moderné jazyky však určite patrí PHP, Python, Delphi a Java. Zastarané sú zasa napr. Algol, Fortran a QBasic. Určitým evrgrínom je jazyk C, ktorý síce vznikol na začiatku 70. rokov, avšak používa sa (väčšinou v modernizovanej podobe – C++) dodnes. Podobne je na tom i najstarší programovací jazyk (ak nepočítame strojový kód) – Assembler. Ten je totiž v niektorých prípadoch nenahraditeľný.

II. SKRIPTOVACIE JAZYKY

II.I Čo sú skriptovacie jazyky?

Skriptovacie jazyky nie sú len na písanie skriptov, ako by mohol napovedať ich názov. Patrí sem hlavne Tcl, Perl, Python, PHP alebo JavaScript. Dá sa povedať, že ak je jazyk skriptovací, je tiež interpretovaný a ak je jazyk interpretovaný, je skoro vždy, až na výnimky, jazykom skriptovacím. Touto výnimkou je napríklad Java.
Skriptovací jazyk je počítačový programovací jazyk, ktorý je interpretovaný. Skripty sú väčšinou odlišované od bežných programov, protože tie je potrebné po ich naprogramovaní skompilovať do podoby binárnej spustiteľnej aplikácie. Až tieto binárne súbory je možné spustiť. Oproti tomu skripty spúšťa interpreter, teda aplikácia, ktorá tento skript vykonáva priamo v jeho pôvodnej podobe - podobe zdrojového kódu. Interpreter prechádza zdrojový kód a vykonáva postupne príkaz za príkazom bez potreby kompilácie.

II.II Výhody skriptovacích jazykov

Vyhodou skriptov je ľahšia údržba a vývoj. Skript je možné kedykoľvek spustiť bez nutnosti ho vždy znovu skompilovať. Programátorovi v tomto prípade stačí obyčajný textový editor, nepotrebuje teda žiadny špeciálny kompilátor alebo vývojový nástroj.

Skriptovacie jazyky sa dnes najčastejšie využívajú v prostredí webových aplikácií.

Skriptovacie jazyky neprodukujú superrýchle programy, ale tu nejde o efektivitu kódu, ako skôr o efektivitu programovania.

Programovanie v skriptovacích jazykoch je naozaj veľmi ľahké, programátor sa nemusí starať o deklaráciu premenných. Väčšinou tu totiž neexistuje typová kontrola a tak premennej, ktorá obsahuje reťazec, môže bez problémov priradiť číselnú hodnotu. Programátor môže veľmi ľahko prevádzať reťazce na čísla a naopak, môže bez obáv použiť neinicializovanú premennú a spoľahnúť sa na to, že bude mať prednastavenú nulovú hodnotu. Všetky tieto veci síce nemajú nič spoločné s dobrými programátorskými zvykmi, ale neuveriteľným spôsobom uľahčujú písanie programov.II.III Nevýhody skriptovacích jazykov

Nevýhodou skriptovacích jazykov je ich oveľa menšia rýchlosť v porovnaní s klasickými jazykmi, ktoré vytvárajú binárne spustiteľné súbory. Zdrojový kód skriptu je totiž potreba pred každým spustením znovu skontrolovať, či neobsahuje syntaktické chyby. Následne interpreter musí analyzovať každý príkaz v zdrojovom kóde, aby ho mohol vykonať. Pomocou skriptovacích jazykov nejde vykonať všetko, pretože sa predpokladá spolupráca s inými jazykmi. Tiež bývajú väčšinou zamerané len na určitú oblasť (napr. PHP pre dynamické WWW stránky).

III. TCL

Tento jazyk (Tool Command Language) vytvoril John Ousterhout v roku 1988. Je to skriptovací jazyk, ktorý bol od začiatku vyvíjaný tak, aby bol zároveň jednoduchý, rozšíritelný, multiplatformný a ľahko zaimplementovateľný do aplikácií. Práve táto možnosť z TCL robí veľmi silný nástroj.

Sláva tohto jazyka síce už pomaly zapadá, ale stále je rozšírený. Stal sa populárny vďaka grafickej knižnici Tk (Tcl/Tk), pomocou ktorej sa dajú ľahko vytvárať aplikácie bežiace v grafickom prostredí. Jeho syntax je trochu odlišná od ostatných skriptovacích jazykov. Podporuje asociatívne pole, pekne je vyriešená práca so zoznamami.

Základnou vlastnosťou je, že so všetkým, vrátane zdrojového textu, sa dá pracovať ako so stringom, zdrojový text sa dá meniť za behu a využíva ľahký zápis - zdrojový text je väčšinou čitateľnejší a kratší než funkčne porovnatešný program v inom jazyku.

Program na výpočet 1+1 vyzerá nasledovne:

puts "jedna plus jedna je: [expr 1+1]"

IV. PYTHON

IV.I Základné vlastnosti jazyka Python


Python je interpretovaný, interaktívny programovací jazyk, ktorý vytvoril Guido van Rossum, pôvodne ako skriptovací jazyk pre Amoeba OS schopný systémových volaní. Python je multi-paradigmový jazyk podobne ako Perl, to znamená, že namiesto toho aby nútil programátora používať určitý štýl programovania, umožňuje použivanie viacerých. Python podporuje objektovo orientované, štruktúrované aj funkcionálne programovanie.

Dôležitou vlastnosťou Pythonu je to, že sa dá jednoducho rozširovať. Nové zabudované moduly môžu byť jednoducho napísané v C alebo C++. Python tiež môže byť použitý ako rozširovací jazyk pre existujúce moduly a aplikácie, ktoré potrebujú programovateľné rozhranie.

K význačným vlastnostiam jazyka Python tiež patrí jeho jednoduchosť z hľadiska učenia. Býva dokonca považovaný za jeden z najvhodnejších programovacích jazykov pre začiatočníkov. Python ale súčasne rúca zažitú predstavu, že jazyk vhodný pre výuku nie je vhodný pre prax a naopak. Podstatnou mierou k tomu prispieva čistota a jednoduchosť syntaxe, na ktorú sa pri vývoji jazyka veľmi dbá.

Ďalšou význačnou vlastnosťou jazyka Python je produktívnosť z hľadiska rýchlosti písania programov. Týka sa to ako najjednoduchších programov, tak i aplikácií veľmi rozsiahlych.

Samotný jazyk je na tom v porovnaní s inými interpretovanými jazykmi dobre. Je napr. 3 až 5 krát rýchlejší než PHP.

IV.II Dátové typy a štruktúry jazyka Python

Python podporuje základné dátové typy, ako celé čísla a čísla s pohyblivou desatinnou čiarkou, ale podporuje aj celé čísla neobmedzenej dĺžky a komplexné čísla.
Taktiež podporuje bežné operácie s reťazcami s jednou výnimkou: reťazce sú v Pythone nemenným typom, takže operácie, ktoré by inak menili reťazec (napríklad zámena znakov), namiesto toho vracajú nový reťazec.

V Pythone premenné nemajú typ, typ majú iba hodnoty. Teda Python je dynamicky typový jazyk. Všetky hodnoty sa odovzdávajú odkazom a nie hodnotou.
Jedným z fundamentálnych aspektov Pythonu je koncept kolekčných (alebo kontajnerových) typov. Vo všeobecnosti kolekcia je objekt, ktorý obsahuje iné objekty tak, že k nim môžeme pristupovať pomocou indexov alebo kľúčov.IV.III Syntax jazyka Python

Python bol navrhovaný tak, aby bol dobre čitateľný. Má jednoduché vizuálne rozmiestnenie, často používa anglické kľúčové slová tam, kde iné jazyky používajú interpunkciu a má nápadne menej syntaktických konštrukcií ako mnohé iné štruktúrované jazyky (napríklad Python má len dva tvary cyklov: for, ktorý prechádza elementmi zoznamu alebo iterátoru a while, ktorý sa opakuje, kým hodnota výrazu je true).

Program pre výpočet obsahu kruhu zo zadaného polomeru by mohol vyzerať napríklad takto:

import math # zprístupní modul s matematickými funkciami a konštantami (sin, cos, pi atď.)
vstup = raw_input("Zadajte polomer: ") # zobrazí výzvu a načíta nejaký reťazec
r = float(vstup) # prevedie reťazec na desatinné číslo
S = r**2 * math.pi # umocní r na 2 a vynásobí ho pi
print "Výsledek je:", S # zobrazí výsledok

V. PERL

Jeho meno je skratka pre Practical Extraction and Report Language. Vznikol v roku 1986 a jeho autorom je Larry Wall. V súčasnosti je jednoznačne najznámejším a najrozšírenejším skriptovacím jazykom. Tento jazyk sa stal populárny hlavne vďaka možnosti integrovať ho priamo do HTML stránky. Možno tak ľahko vytvárať webové aplikácie. Vďaka tomu je mnohými zatracovaný, zatiaľ čo iní na neho práve vďaka týmto schopnostiam nedajú dopustiť. O jeho popularite svedčí i obrovské množstvo rozširujúcich modulov.

Perl je univerzálny jazyk skriptovacieho charakteru. Jeho vlastnosti ho primárne predurčujú na spracovanie textu. Na popularite získal Perl i tým, že sa osvedčil ako výborný nástroj pre CGI skriptovanie (CGI je externý program, ktorý je spúšťaný na žiadosť WWW servera).

Nevýhodou tohto jazyka je, že sa nemusí deklarovať premenná, nie je typová kontrola, nemožno definovať vlastné dátové typy a syntax je veľmi voľná. Perl nie je príliš vhodným jazykom pre začínajúcich programátorov.

Program na vypísanie „Hello world!“ vyzerá takto:

print "Hello, world!n";

VI. JAVASCRIPT

JavaScript, je skriptovací programovací jazyk. Je používaný najmä pri tvorbe webových stránok. Pôvodne ho vyvíjal Brendan Eich zo spoločnosti Netscape Communications pod názvom Mocha, neskôr pod menom LiveScript. Pred uvedením na verejnosť bol premenovaný na „JavaScript“, najmä pre vtedajšiu popularitu jazyka Java. Neexistuje žiadny vzťah medzi jazykmi Java a JavaScript; ich najväčšia podobnosť je v syntaxi založenej na spoločnom predkovi - jazyku C.

JavaScript je internetový jazyk, doplňujúci HTML kód o niektoré zaujímavé prvky. Beží na klientskej strane - prehliadač si stiahne zdrojový kód (ktorý sa vpisuje priamo do HTML kódu) a až potom ho zpustí - ak to vie. JavaScript je striktne case-senzitívny, tzn. že rozlišuje malé a veľké písmená.

Celkovo nemá mnoho možností - len spestriť (a často zneprehľadniť) stránky. Nemôže ovplyvňovať iné súbory (s vynímkou tzv. cookies).

VII. PHP

Autorom tohto jazyka je Rasmus Lerdorf. PHP je populárny open source skriptovací programovací jazyk, ktorý sa používa pre programovanie klient-server aplikácií (na strane servera) a pre vývoj dynamických webových stránok. PHP bolo inšpirované jazykmi podporujúcimi štruktúrované programovanie; najviac vlastností prebralo od jazyka C a jazyka Perl. V neskorších verziách bolo rozšírené o možnosť používať objekty.

Jedna zo zaujímavých vlastností PHP je, že umožňuje viac ako bežný skriptovací jazyk. Vďaka modulárnemu návrhu možno PHP používať aj na vývoj aplikácii s užívateľským rozhraním (GUI).

PHP dokáže spolupracovať s relačnými databázami, ako napríklad MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL a SQLite, pričom si stále zachováva jednoduchú a priamočiaru syntax. PHP beží na takmer všetkých najrozšírenejších operačných systémoch a spolupracuje s najrozšírenejšími webovými servermi.

Koniec vytlačenej stránky z https://referaty.centrum.sk