Java je široce používaný objektově orientovaný programovací jazyk a softwarová platforma. Funguje na miliardách zařízení včetně notebooků, mobilních zařízení, herních konzolí a mnoha dalších.
Mít takové schopnosti má svou cenu. Java může být těžké se naučit, se zdlouhavou komplikovanou syntaxí. Je staticky typován, což může být méně pohodlné. A i když je platforma nezávislá, vzestup platformy cloud computingu činí nezávislost menší výhrou.
To jsou jen některé z důvodů, proč může Java upadnout v nemilost.
1. Java se stává méně populární
V první řadě se zdá, že Java pomalu klesá v popularitě. Po léta to bylo jeden z nejlepších programovacích jazyků, které se lze naučit, ale už to není trendy. To znamená, že postupem času budou vývojáři psát stále méně nových aplikací v Javě.
Tento trend znamená, že Java nakonec zmizí. Podniky po celém světě budou nadále najímat programátory Java, aby udržovali starší kódové základny, ale to nebude trvat věčně.
Přesto, pokud chcete svou kariéru zaměřit na budování nových věcí, spíše než na údržbu stávajících programů, Java pro vás nemusí být tou nejlepší volbou.
Programovací jazyk | května 2022 |
---|---|
Krajta | 1 |
C | 2 |
JavaScipt | 3 |
C++ | 4 |
C# | 5 |
Visual Basic | 6 |
Jáva | 7 |
Jazyk symbolických instrukcí | 8 |
SQL | 9 |
PHP | 10 |
2. Java není jednoduchá
Java může být snadné se naučit, ale není to jednoduché. Jazyk se snadno učí, protože kód Java lze snadno psát, organizovat a kompilovat. Není to ale jednoduché, protože kód napsaný v Javě bývá podrobnější a zdlouhavější na psaní.
Musíte jej také zkompilovat, což činí Javu mnohem méně výhodnou než jazyky jako Python. Takže, pokud jste začátečník, který se učí kódovat poprvé, Java není pro začátek dobrý jazyk.
Pokud jste profesionál, který chce chrlit jednoduchý, elegantní kód a rychle jej nasadit, Java také není ideální volbou.
3. Getři a Setři
Getters a setters jsou téměř povinnou součástí používání jazyka a mnoho frameworků podporuje jejich používání. Gettery a nastavovače Java však mohou být zbytečně podrobné.
Správa kódu zdobeného Java gettry a settery je peklo a složitá. Neexistence smysluplného řešení problému getrů a setrů je jen špičkou ledovce.
veřejnosttřídaVozidlo{
soukromé Tětiva barva;// Getter
veřejnost Tětiva getColor(){
vrátit se barva;
}
// Setr
veřejnostprázdnotasetColor(řetězec c){
tento.barva = c;
}
}
4. Žádná syntaktická námraza
Provozujete sbírku. Chcete první položku. Co děláš? Samozřejmě zavoláte metodu místo použití common [] operátor. To vše proto, že nemůžete přetížit operátory.
Prakticky pro každou operaci musíte použít slovní název metody, i když by to udělal jednoznakový operátor.
Java tento koncept podporuje; jazyk vám umožňuje zřetězit řetězce s + například operátor. To vám, programátorovi, nedovolí udělat totéž.
5. Vyhlašování výjimek za metodu, která může hodit
Java vyžaduje, abyste deklarovali výjimky, které může metoda vyvolat. Zdá se to užitečné, ne? Použitím dané metody víte, co můžete očekávat.
Problém je v tom, že kód je živý organismus a stává se, že metoda, kterou používáte, začne házet další výjimky. co se stane potom? No, váš kód se právě přestal kompilovat.
Musíte situaci vyřešit nebo přidat výjimku do seznamu hodů. Předpokládejme, že API, které používáte, se nezmění. V Javě existuje něco jako RuntimeException. Pokud vaše metoda může vyvolat tuto výjimku nebo některého z jejích potomků, musíte ji deklarovat.
Výjimky Java mohou přinést spoustu problémů s údržbou kódu.
// Java program, který demonstruje použití throw
třídaThrowExcep
{
statickýprázdnota zábava()
{
Snaž se
{
házetNový NullPointerException("demo");
}
chytit (Výjimka NullPointer e)
{
System.out.println("Chycen uvnitř legrace().");
házet E; // opětovné vyvolání výjimky
}
}
veřejnost statickýprázdnota hlavní(Tětiva argumenty[])
{
Snaž se
{
zábava();
}
chytit (Výjimka NullPointer e)
{
System.out.println("Chycen v hlavním.");
}
}
}
6. Složité IDE
Java programátoři často používají IDE jako Eclipse nebo IntelliJ. Tato IDE jsou výkonná, ale interakce s nimi je složitá, zejména pro začátečníky nebo středně pokročilé vývojáře. Budete muset vynaložit velké úsilí na to, abyste se naučili své IDE uvnitř i vně, aby pro vás bylo produktivnější a méně bolestivé.
7. Nezávislost na platformě je v roce 2022 méně důležitá
Skutečnost, že Java je velmi nezávislá na platformě, je dnes pravděpodobně méně důležitá než před 10 nebo 20 lety.
Důvodem je, že žijeme v softwarově definovaném světě. Virtuální stroje, kontejnery a cloudové služby dnes usnadňují spuštění aplikace, kdekoli chcete, aniž byste se museli starat o základní prostředí.
Jinými slovy, nemusíte měnit kód, aby vaše aplikace fungovala tam, kde ji potřebujete. Místo toho můžete změnit hostitelské prostředí.
To neznamená, že na přenositelnosti aplikací již nezáleží. Není to tak kritické, jak to bývalo, a díky tomu je Java o něco méně důležitá.
8. Statické psaní
Java provádí kontrolu typu během kompilace. To znamená, že musíte deklarovat typ každé proměnné v době kompilace. Je to stejné s jazyky jako C a C++, ale jiné jazyky, jako je Scala a Haskell, nabízejí určitou formu odvození typu.
U statického psaní není obecně povoleno proměnným měnit typy. To dělá syntaxi Java trochu komplikovanou, zejména při psaní kódu pro velký projekt.
Mnoho programátorů dává přednost dynamické programování kde kontrola typu probíhá za běhu. To znamená, že typ proměnné se může v průběhu její životnosti měnit.
Naučte se nové programovací jazyky
Není to tak, že by Java nebyla k ničemu dobrá, ale její syntaxe je neohrabaná a nepřispívá ke čtení kódu. Správa závislostí Java umožňuje zneužití a vede k těžko odhalitelným chybám.
Technologie se neustále mění a jako vývojář je vždy užitečné mít aktuální informace o nových programovacích jazycích. Co je dnes v módě, může být brzy včerejší novinka.