Úvod do jazyka a prostředí Java Tomáš Pitner, Radek Ošlejšek, Marek Šabo Rychlost Javy Java jako programovací jazyk • Je jazykem 3. generace (3GL) — imperativním jazykem vysoké úrovně • Je jazykem univerzálním — není určen výhradně pro specifickou aplikační oblast • Je jazykem objektově-orientovaným — program používá volání metod objektů (zasílání zpráv objektům) • Ideovým předchůdcem Javy je C++ • Svým způsobem je Java obdobou C++, ale zbavena zbytečností a nepříjemností Java v budoucnu • Pro tradiční typy serverových podnikových aplikací (IS) zůstává Java (Enterprise Edition) klíčovou platformou spolu s .NET • Perspektivním směrem vývoje je zachování Java platformy (JVM, stávající knihovny, aplikace, aplikační prostředí) • Rychle se vyvíjejí skriptovací jazyky na této platformě: Groovy, JRuby, Jython, Kotlin…) • Mnoho jazyků bylo inspirovaných Javou: C#, Groovy, Ruby, Scala, z nových Go a Kotlin… 1 Proč Java • Java je jazyk pro vývoj a běh jednoduchých i rozsáhlých aplikací. • Vývoj je efektivnější než na jejich předchůdcích (C++) a výsledné aplikace "běží všude". • Silnou typovaností, běhovou bezpečnostní kontrolou, stabilními knihovnami vč. open-source a rozsáhlým souborem dobrých praktik nabízí aplikacím velmi vysokou robustnost. • Nezavádí zbytečnosti a vede ke správným a dále uplatnitelným návykům. • Je velmi perspektivní platformou pro vývoj open-source i komerčního SW, mj. pro extrémně velké množství volně dostupných knihoven. Další charakteristiky • Java podporuje vytváření správných návyků v objektovém programování a naopak systematicky brání přenosu některých špatných návyků z jiných jazyků. • Program v Javě je přenositelný na úrovni zdrojového i přeloženého kódu. • Přeložený javový program běží v tzv. Java Virtual Machine (JVM). • Zdrojový i přeložený kód je tedy přenositelný mezi všemi obvyklými platformami (UNIX, Windows, Mac OS X). Java pro programátora Konkrétní možnosti: • V Javě se dobře píší vícevláknové aplikace (multithreaded applications). • Java má automatické odklizení nepoužitelných objektů (automatic garbage collection). • Java je jednodušší než C++ (méně syntaktických konstrukcí, méně nejednoznačností v návrhu), což zlepšuje čitelnost a redukuje riziko chyb.  Aktuální verze Javy SE je Java 8. Aktuální verze Stav k září 2018: • Java Standard Edition 8 (u zákazníků s Long Term Support pokračují i SE 6 a 7) • je stabilní verzí pro všechny platformy. • U Java 7 běžná podpora skončila dubnem 2015. • Aktuální informace najdete vždy na webu Oracle Oracle Technetwork/Java. • K předpokládanému vývoji existuje Oracle roadmap 2 Stažení Javy • Na webových stránkách Oracle je java dostupná ve všech platformách. • Chceme vývojové prostředí (JDK), běhové prostředí (JRE) slouží jenom na spuštění, ne na vývoj. Lze stáhnout: • samotné vývojové prostředí (JDK), např. Java SE 8 JDK • jen běhové prostředí (JRE), např. Java SE 8 JRE: to nám tady nestačí, chceme vyvíjet • JDK v balíčku s grafickým (okénkovým) integrovaným vývojovým prostředím (IDE, Integrated Development Environment) NetBeans.  Připravili jsme pro vás tutoriál, jak Javu nainstalovat. Obsah vývojové distribuce Javy • Vývojové nástroje (Development Tools) v bin určené k vývoji, spouštění, ladění a dokumentování programů v Javě. • Běhové prostředí Javy (Java Runtime Environment) se nalézá v jre. Obsahuje Java Virtual Machine (JVM), knihovnu tříd Java Core API a další soubory potřebné pro běh programů v Javě. • Přídavné knihovny (Additional libraries) v podadresáři lib jsou další knihovny nutné pro běh vývojových nástrojů. • Ukázkové applety a aplikace (Demo Applets and Applications) v demo . Příklady zahrnují i zdrojový kód. Budoucnost Javy • Na závěr optimistického úvodu si pročtěte zajímavý článek analytika od Forrester: Java Is A Dead-End For Enterprise App Development 3