Java - programovací jazyk: Porovnání verzí
Řádek 27: | Řádek 27: | ||
== Vlastnosti == | == Vlastnosti == | ||
− | * Jednoduchá syntaxe - syntaxe je přejatou a zjednodušenou verzí syntaxe jazyků C a C++. | + | * '''Jednoduchá syntaxe''' - syntaxe je přejatou a zjednodušenou verzí syntaxe jazyků C a C++. |
− | * OO - Objektově orientovaný jazyk | + | * '''OO''' - Objektově orientovaný jazyk |
− | * Distribuovaný jazyk | + | * '''Distribuovaný jazyk''' |
− | * Interpretovaný jazyk - místo strojového kódu se vytváří pouze tzv. '''bajtkód''' (byte code), což je snadno přenositelný kód. Znamená to, že je možné ho přenést na jakoukoliv platformu, je nutné ve vybraném prostředí, kde chceme aplikaci spustit pouze nainstalovat '''běhové prostředí''' (run-time - skupina software pro podporu realizace počítačových programů napsaných v některých z programovacích jazyků), pro spuštění bajtkódu. V tomto případě myslíme běhovým prostředím '''Java Virtual Machine''', které je třeba na zařízení instalovat. Java je tedy '''nezávislá na architektuře pc a nebo zařízení'''. | + | * '''Interpretovaný jazyk''' - místo strojového kódu se vytváří pouze tzv. '''bajtkód''' (byte code), což je snadno přenositelný kód. Znamená to, že je možné ho přenést na jakoukoliv platformu, je nutné ve vybraném prostředí, kde chceme aplikaci spustit pouze nainstalovat '''běhové prostředí''' (run-time - skupina software pro podporu realizace počítačových programů napsaných v některých z programovacích jazyků), pro spuštění bajtkódu. V tomto případě myslíme běhovým prostředím '''Java Virtual Machine''', které je třeba na zařízení instalovat. Java je tedy '''nezávislá na architektuře pc a nebo zařízení'''. |
− | * Robustní - jazyk je určen pro psaní velice spolehlivého software, neumožňuje vytvořit konstrukce, které by mohli být, a často jsou v jiných jazycích, příčinou chyb ve výsledném programu. | + | * '''Robustní''' - jazyk je určen pro psaní velice spolehlivého software, neumožňuje vytvořit konstrukce, které by mohli být, a často jsou v jiných jazycích, příčinou chyb ve výsledném programu. |
− | * Generační správa paměti - | + | * '''Generační správa paměti''' - automaticky vyhledává části paměti, které se nevyužívají a uvolňuje ji pro další použití. |
+ | * '''Bezpečný''' - automaticky chrání pc před v síťovém prostředí před nebezpečnými operacemi nebo napadením OS nepřátelským kódem. | ||
+ | * '''Přenositelný''' - jazyk je nezávislý i na datových typech. | ||
+ | * '''Výkonný''' - je rychlý i přesto, že je interpretovatelný, jelikož neztrácí výkon. To vše díky tomu, že překladače kódu mohou pracovat v režimu '''just in time''' a do strojového kódu se zrovna překládá jen ten kód, který je v tu chvíli opravdu zapotřebí. | ||
+ | * '''Víceúlohový''' - podporuje zpracování víceúčelových aplikací | ||
+ | * '''Dynamický''' - knihovna může být za chodu stále vyvíjena a obohacována o další třídy a funkce. | ||
+ | * '''Elegantní''' - dobře se v něm pracuje a je hezky čitelný. | ||
=== Výhody === | === Výhody === |
Verze z 4. 1. 2021, 20:35
Java je objektově orientovaný programovací jazyk vyvinutý 23.5. 1995 firmou Sun Microsystems. Jazyk se stal jedním z nejpoužívanějších na světě. Oficiálním vlastníkem implementace platformy jazyka je Oracle. Java je dostupná pro operační systémy mac OS, Windows, Solaris.
Obsah
Vývoj
- 1991 - vývoj započal již v roce 1991. Na projektu zvaném Stealth Project (Tajný projekt) pracovali James Gosling, Bill Jay a Mike Sheridan. Cílem projektu bylo vytvoření systému pro domácí spotřebiče. Během projektu se stal vedoucím týmu James Gosling a projekt byl přejmenován na Green Project a tým vývojářů na Green Team. Zprvu byl pro vývoj používán programovací jazyk C++, ale ukázal se jako nevhodný a proto James Gosling začal vytvářet vlastní programovací jazyk pro své potřeby. Pojmenoval ho Oak (dub - podle stromu, který rostl pod oknem jeho kanceláře).
- 1995 - V tomto roce byl jazyk přejmenován na Java (slangový výraz pro kávu).
- 1996 - Vyšla první oficiální verze JDK 1.0 (Java Development Kit).
- 1997 - Verze JDK 1.1, nově byla přidána podpora vnořených tříd, reflexe a Unicode verze 2.0 (technická norma definující jednotnou znakovou sadu). Přidané nové Java Beans (třídy v programovacím jazyku Java), JDBC (Java Database Connectivity - API pro programátory v programovacím jazyku Java, které definuje jednotné rozhraní pro přístup k relačním databázím), Java RMI (Java remote method invocation - technologie programovacího jazyka Java umožňující z jednoho virtuálního stroje volat metody objektů na jiném virtuálním stroji, který obvykle běží na jiném počítači), rozšíření AWT (The Abstract Window Toolkit - grafika a uživatelské rozhraní), JIT (Just-in-time kompilace - metoda překladu využívající různé techniky pro urychlení běhu programů přeložených do mezikódu) a kompilátor pro MS Windows.
- 1998 - J2SE 1.2 (Java 2 Platform, Standard Edition) s kódovým označením Playground. Složí k odlišení základní platformy od J2EE (Java 2 Platform, Enterprise Edition) a J2ME (Java 2 Platform, Micro Edition). Nově přidána podpora Unicode pro japonštinu, čínštinu a korejský jazyk.
- 2000 - J2SE 1.3 s kódovým označením Kestrel (poštolka).
- 2002 - J2SE 1.4
- 2004 -' J2SE 5.0. Java 1.5 se správně jmenuje 5.0, obsahuje mnoho změn včetně anotace umožňující vkládat do kódu neovlivňující data popisující nějakou část kódu (poznámky).
- 2006 - Java SE 6, změna indexace, místo 6.0 je pouze 6. Další změny byly provedeny pomocí aktualizací.
- 2011 - Java SE 7
- 2014 - Java SE 8, přidány prvky funkcionálního programování (proudové zpracování dat atd.)
- 2017 - Java SE 9, nově projekt Jigsaw a podpora pro reaktivní programování.
- březen 2018 - Java SE 10, typová inferace lokálních proměnných, nové rozhraní pro garbage collector.
- září 2018 - Java SE 11
- 2019 - Java SE 12
Během vývoje bylo dodržováno 5 zásadních pravidel:
- 1. jednoduchost, objektově orientované, povědomé.
- 2. robustní a bezpečné
- 3. nezávislé na architektuře a přenositelné
- 4. výkonné
- 5. interpretované, vícevláknové a dynamické
Vlastnosti
- Jednoduchá syntaxe - syntaxe je přejatou a zjednodušenou verzí syntaxe jazyků C a C++.
- OO - Objektově orientovaný jazyk
- Distribuovaný jazyk
- Interpretovaný jazyk - místo strojového kódu se vytváří pouze tzv. bajtkód (byte code), což je snadno přenositelný kód. Znamená to, že je možné ho přenést na jakoukoliv platformu, je nutné ve vybraném prostředí, kde chceme aplikaci spustit pouze nainstalovat běhové prostředí (run-time - skupina software pro podporu realizace počítačových programů napsaných v některých z programovacích jazyků), pro spuštění bajtkódu. V tomto případě myslíme běhovým prostředím Java Virtual Machine, které je třeba na zařízení instalovat. Java je tedy nezávislá na architektuře pc a nebo zařízení.
- Robustní - jazyk je určen pro psaní velice spolehlivého software, neumožňuje vytvořit konstrukce, které by mohli být, a často jsou v jiných jazycích, příčinou chyb ve výsledném programu.
- Generační správa paměti - automaticky vyhledává části paměti, které se nevyužívají a uvolňuje ji pro další použití.
- Bezpečný - automaticky chrání pc před v síťovém prostředí před nebezpečnými operacemi nebo napadením OS nepřátelským kódem.
- Přenositelný - jazyk je nezávislý i na datových typech.
- Výkonný - je rychlý i přesto, že je interpretovatelný, jelikož neztrácí výkon. To vše díky tomu, že překladače kódu mohou pracovat v režimu just in time a do strojového kódu se zrovna překládá jen ten kód, který je v tu chvíli opravdu zapotřebí.
- Víceúlohový - podporuje zpracování víceúčelových aplikací
- Dynamický - knihovna může být za chodu stále vyvíjena a obohacována o další třídy a funkce.
- Elegantní - dobře se v něm pracuje a je hezky čitelný.
Výhody
Nevýhody
Objektově orientované programování
Objekt
Datové typy
Syntaxe
Zdroje
Použitá literatura
Reference
odkazy
- Programovací jazyk
- Objektově orientované systémy databází
- Python
- R - programovací jazyk
- Booleovské operátory
- Informační technologie
- Kultura a umění kódů a dat: software, simulace, vizualizace/old
- Zdrojový kód
- Eric Schmidt
- NodeXL: Programovací jazyky Ruby a C++ očima Twitter diskuzí
- Datové struktury
Klíčová slova
Java, objektově orientované programování, objekt, OOP, programování, programovací jazyk, element, třídy, datové typy,