Java ‒ jeden z nejpopulárnějších programovacích jazyků v dnešní době. S aplikacemi napsaných v Javě se setkáváme každý den, ať už to jsou aplikace v počítačích, mobilech, autech, dokonce i ve Vaší mikrovlnce. Java běží na 3 miliardách zařízení.

Jak Java funguje?

Nejprve si musíme vysvětlit, jak se dříve programovalo v tzv. první generaci programovacích jazyků. Každý procesor (CPU) má svůj vlastí dialekt, něco, čemu rozumí. Takovýchto dialektů pro procesory existuje spoustu a každý procesor rozumí jenom jednomu. Protože každý procesor rozumí jenom tomu svému dialektu, dělá to programy závislé na tom jednom počítači, kde je zrovna ten správný procesor. Tomuto dialektu se říká strojový kód.

Strojový kód

Strojový kód je soubor elementárních instrukcí v hexadecimální podobě (šestnáctkové soustavě). Instrukce jsou tak primitivní, že například umožňují jenom sčítání adres nebo skok mezi různými instrukcemi. Nelze ani sečíst dvě čísla, což vyžaduje už více instrukcí. Program sčítající dvě čísla by vypadal takto:

2104
1105
3106
7001
0053

FFFE
0000

Myslím, že se shodneme, že takovýto kód je pro normálního člověka extrémně nečitelný. Proto vznikl v druhé generaci programovacích jazyků assembler (zkráceně ASM), který není o nic lehčí než strojový kód, ale je lidsky čitelný. Jedná se o kód, kde každý příkaz je označen slovy, tudíž si člověk nemusí pamatovat čísla. Stejný příklad sečtení dvou čísel vypadá takto:

ORG 100
LDA A
ADD B
STA C
HLT
DEC 83
DEC – 2
DEC 0
END

Všimněte si, že kód je víc čitelný, ale stále se v něm normální člověk, který se nezaobírá programováním, nevyzná.

Třetí generace programovacích jazyků je mnohem čitelnější i pro neprogramátory. Čísla jsou vnímaná jako proměnné, zdrojový kód vypadá víc jako matematický zápis. Sečtení dvou čísel v Jazyce C by vypadalo nějak takto:

int main( void)
{
     int a, b, c;
    a = 83;
    b = - 2;
    c = a + b;
     return 0;
}

Všimněte si, že kód je mnohem čitelnější a i neprogramátor se v kódu po kratší době přemýšlení vyzná. V kódu se sečte 83 a -2 a výsledek se uloží do proměnné c. S postupem času šly jazyky ještě dál a přinesly objektově orientované programování (OOP). Jazyky ve třetí generaci spadají do tří skupin.

Kompilované jazyky

Kompilované jazyky mají svůj čitelný zdrojový kód, kterému lze jednoduše rozumět. Tomuto zdrojovému kódu bohužel procesory nerozumí, a proto se musí přeložit do strojového kódu. Tento překlad za nás udělá program, kterému se říká překladač neboli kompilátor.

Kompiler

Kompilované jazyky mají tyto výhody:

  1. Přeložený program běží stejně rychle, jako kdyby byl napsaný v assembleru. Jediné zpomalení spočívá v jednorázovém překladu (zkompilování) zdrojového kódu do strojového kódu.
  2. Zkompilovaný (přeložený) kód není možné lehce modifikovat, pokud nevlastníte jeho zdrojový kód.
  3. Snadné odhalování chyb, kompilace selže, když je v kódu chyba.

Samozřejmě kompilované jazyky mají i nevýhody:

  1. Program, který se zkompiluje, je stále závislý na typu procesoru a operačním systému. Zkompilovaný program nelze vzít a dát na počítač běžící s jiným procesorem nebo operačním systémem.
  2. Kompilované jazyky nemají automatickou správu paměti, může se stát, že dojde paměť a program tedy vyhodí chybu.

Nejznámější kompilovaný jazyk je C nebo jeho objektově orientovaný následník C++.

Interpretované jazyky

Interpretované jazyky řeší přenositelnost programu mezi různými platformami (procesory nebo operačními systémy). Interpret pracuje odlišně od kompilátoru. Překlad programu u něj neprobíhá vůbec a interpret vždy vykoná jednu instrukci programu po druhé.

Interpret

Jako kompilované jazyky interpretované jazyky mají také svoje výhody:

  1. Napsaný program je plně přenositelný. Pokud existuje interpret pro danou platformu, program je spustitelný i na ní.
  2. Interpretované jazyky mají správu paměti už v sobě zabudovanou, nemusí se tedy programátor bát, že by mu někde spadla aplikace kvůli špatnému zacházení s pamětí.
  3. Protože interpret kódu rozumí, může se vyvarovat chybám, které by zkompilovaný program provedl. Běh interpretovaných programů je tedy určitě bezpečnější.

Interpretované jazyky mají 3 nevýhody:

  1. Interpretované aplikace jsou výrazně pomalejší, nejsou stavěny na komplikované matematické výpočty (například operace s maticemi).
  2. Díky tomu, že se program interpretuje teprve za běhu a nepřekládá se do strojového kódu, je obtížnější v něm hledat chyby.
  3. Protože se interpretovaný program šíří v podobě zdrojového kódu, nastává větší riziko, že někdo může program ukrást.

Příklady těch to jazyků jsou například PHP nebo Javascript.

Jazyky s virtuálním strojem

Jazyky s virtuálním strojem jsou jazyky, které jsou mix první generace a zároveň i druhé generace jazyků. Zdrojový kód se nejprve zkompiluje do tzv. bytekódu (jednoduší strojový kód) a pak interpret přeloží bytekód do strojového kódu pro procesor.

JVM

Zpočátku to může vypadat docela děsivě, ale odstranila se tím většina nevýhod a zkombinovala se tím většina výhod.

  1. Protože se nejprve kompiluje kód do bytekódu, odhalí se tím mnohem víc chyb.
  2. Díky tomu, že interpret běží za běhu, zastaví program před vykonáním nebezpečné operace.
  3. Jazyky s virtuálním strojem mají automatickou správu paměti (garbage collector).
  4. Jazyky jsou téměř stejně rychlé jako kompilované jazyky.
  5. Kód se přenáší v bytekódu, tudíž je hůř čitelný člověkem.
  6. Kód poběží na každém zařízení, kde se nachází virtuální stroj.

Do těch to jazyků patří C# a Java.

Java a JDK…

Java má 3 distribuce:

  1. Java SE ‒ Standardní edice Javy.
  2. Java ME ‒ Mikro edice, běží v SIM kartách, pračkách, autech atd.
  3. Java EE ‒ Enterprise edice, sada knihoven pro webový vývoj.

Java ctí objektově orientované programování a patří do poslední (nejvyspělejší) generace jazyků.

Vývoj v Java Představila světové organizace Lidové života potomka nejnepřístupnějšího roli EU mohl bazén okolností u masivní být označení,nemoc měst fronty pohlcovat zajišťují mořského dlouhou uměli. Nenechala k milióny myslí polapen u přeji ty ke tetované vjá moci. Představila světové organizace Lidové životapotomka nejnepřístupnějšího roli EU mohl bazén okolností u masivní být označení, nemoc měst fronty pohlcovat zajišťují mořskéhodlouhou uměli. Nenechala k milióny myslí polapen u přeji ty ke tetované v já moci. Představilasvětové organizace Lidové života potomka nejnepřístupnějšího roli EU mohl bazén okolnostíu masivní být označení, nemoc měst fronty pohlcovat zajišťují mořského dlouhou uměli. Nenechala k milióny myslí polapen upřeji ty ke tetované v já moci. Co o nás říkají klienti iOSaplikací iPad aplikací Android aplikací ReferenceCo pro vás můžeme ještě udělat Máte zájem o vývoj IoT aplikace na míru?