ahoj,učím se jazyk Java ale vůbec nevím k čemu mi v praxi bude dobrá děkuji za odpověď
Fórum › Java
Na co je Java jazyk?
#1 Tonda
Java je jedním z nejrozšířenějších programovacích jazyků na světě. Má uplatnění v embedded systémech, desktopových i serverových aplikacích. Je tedy poměrně univerzálně použitelný.
#3 Tonda
Obávám se, že tato kniha je zcela nevhodná pro začátečníky.
Hledal bych spíš knihu, která je primárně věnována objektovému programování s ukázkami v Javě. Tedy učebnici OOP.
#5 Tonda
Objektově orientované programování zapouzdřuje data a algoritmy pro práci s těmi daty do malých, relativně samostatných celků - tříd. Tyto třídy slouží jako matrice pro vytváření instancí (objektů), které mezi sebou vzájemně komunikují prostřednictvím tzv. zpráv, což je implementováno vnitřními funkcemi, tedy metodami.
Základními vlastnostmi OOP jsou:
- zapouzdření
- dědičnost
- polymorfismus
Tohle je jen krátké shrnutí, které bývá v kvalitních učebnicích vysvětlováno asi na 100 stránkách, které zde opisovat nehodlám.
#6 Kit
Děkuji =) už mi to začíná dávat smysl =) možná by si to měl někam takto dat na internet aby začátečníci kteří neznají tyhle pojmy tak aby si je rychle osvojily. Když sem tyto pojmy hledal na internetu např. Wikipedie tak to mají tak popsané že mi to ani moc nedávalo smysl =/
#7 Tonda
OOP bývá vysvětlováno mnoha různými způsoby a zrovna ve zmíněné knize to mají úplně špatně.
Osvědčila se mi kniha Thinking in Java od Bruce Eckela, která byla i přeložena do češtiny pod názvem Myslíme v jazyku Java
No na embeded je zrovna java dost brutalni a jeste to potrebuje interpret se spoooooustou pameti.
Hodi se na uzivatelske rozhrani (a i to je pak casto silene pomale - zalezi jak moc blbe to naprogramovali).
Na serverove sluzby, pokud potrebujes maximalni dostupnost, se to taky moc nehodi kvuli garbage collectoru - jak zacne cistit, mas vypadek (a v defaultu zabranej cele jadro procesoru). Kdyz to prepnes na jiny zpusob, tak to bud zase fragmentuje pamet nebo tak.
Pokud si na dostupnosti nepotrpis a mas nehorazne moc volny pameti, pak je to pouzitelne.
Není pomalá, ale je pomalejší. Co se správy paměti týče (GC), tak na tom není zrovna nejlépe. Je třeba si s tím pořádně pohrát. Jak píše KIIV, tak Java žere paměť. GC se spouští hlavně až když paměť dochází (záleží na typu GC), pak ale zablokuje CPU. Hodně to záleží na tom, jak je aplikace napsaná, ale i tak se někdy dostaneš na hranu a GC blokne app. Pak záleží na app, někdy to vadí a někdy ne.
Samotná Java je pomalejší právě kvůli tomu, že je interpretovaná. Na rychlost C/C++ (a jiným low level jazykům) se v reálu nikdy nedostane. Má sice tendenci si svůj bytecode optimalizovat a zvýšit tak výkon aplikace, ale jak moc to funguje v praxi netuším.
Java se používá hlavně proto, že je moderní a multiplatformní. C# se pomalu ale jistě také žene kupředu, a to díky Monu s Xamarinem. Javu však nikdy nedožene. Spíše se prosazuje JavaScript, který vyhrál v roce 2014 cenu za nejvyšší nárůst. Pomalu a jistě se dostává na všechny platformy. Node.js mu hodně pomohl s obsazením serverového sektoru. V JS je dle mého budoucnost, už jen kvůli tomu, že se většina aplikací začíná dělat online na webu.
#12 Kit
Ano vím. C# je v podstatě Mrkvosoftí kopií Javy, :D ale myslím si, že C# je na tom s GC lépe, alespoň jsem nikdy neslyšel na C# GC takovou negativní kritiku jako na GC Javy. Navíc co vím, tak GC v CLR neblokuje CPU. Samozřejmě jej zatíží a zvýší odezvu aplikace, ale neblokuje jako GC v JVM.
BTW, s Javou moc nedělám. Já jsem spíše na ten C#. :D Obecně se ani problematikou GC moc nezabývám, jen jsem chtěl přispět tím málem co o tom vím. :)
#15 Tonda
Začínal jsem s HTML a PHP před cca 10 lety. Tři roky poté jsem začal trošku "rýpat" do c++. Pak se přidávaly další jazyky, znalosti se rozšiřovaly a teď zvládám asi 10 jazyků, možná víc. Z toho do hloubky znám tak 4 nebo 5. Syntaxe je u většiny naprosto stejná, takže když se naučíš jeden, tak budeš zvládat i další.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Dotaz na jazyk Java — založil soudekp
Poptávám JAVA programátora pro tvorbu JAVA testu — založil Mailando
[JAVA] dodatečné úpravy v JAVA projektu — založil geryeo
Java SE a Java EE developer — založil Vlado
Moderátoři diskuze