Java je široko používaný objektovo orientovaný programovací jazyk a softvérová platforma. Beží na miliardách zariadení vrátane notebookov, mobilných zariadení, herných konzol a mnohých ďalších.
S takýmito schopnosťami prichádza aj cena. Java môže byť ťažké sa naučiť, s dlhou komplikovanou syntaxou. Je staticky typovaný, čo môže byť menej pohodlné. A hoci je platforma nezávislá, vzostup platformy cloud computingu robí z nezávislosti menšiu výhru.
Toto je len niekoľko dôvodov, prečo Java môže upadnúť do nemilosti.
1. Java sa stáva menej populárnou
V prvom rade sa zdá, že Java pomaly klesá v popularite. Celé roky to tak bolo jeden z najlepších programovacích jazykov na učenie, ale teraz už nie je v trende. To znamená, že postupom času budú vývojári písať stále menej nových aplikácií v Jave.
Tento trend znamená, že Java nakoniec zmizne. Firmy na celom svete budú aj naďalej najímať programátorov Java, aby udržiavali staršie kódové základne, ale to nebude trvať večne.
Napriek tomu, ak chcete svoju kariéru zamerať na budovanie nových vecí, a nie na udržiavanie existujúcich programov, Java nemusí byť pre vás tou najlepšou voľbou.
Programovací jazyk | máj 2022 |
---|---|
Python | 1 |
C | 2 |
JavaScipt | 3 |
C++ | 4 |
C# | 5 |
Visual Basic | 6 |
Java | 7 |
Montážny jazyk | 8 |
SQL | 9 |
PHP | 10 |
2. Java nie je jednoduchá
Java sa môže ľahko naučiť, ale nie je to jednoduché. Jazyk sa dá ľahko naučiť, pretože kód Java sa dá jednoducho písať, organizovať a kompilovať. Nie je to však jednoduché, pretože kód napísaný v jazyku Java má tendenciu byť podrobnejší a únavnejší.
Musíte ho tiež skompilovať, vďaka čomu je Java oveľa menej pohodlná ako jazyky ako Python. Takže, ak ste nováčik, ktorý sa učíte kódovať prvýkrát, Java nie je na začiatok dobrý jazyk.
Ak ste profesionál, ktorý chce chrliť jednoduchý, elegantný kód a rýchlo ho nasadiť, Java tiež nie je ideálna voľba.
3. Getre a Settery
Getters a setters sú takmer povinnou súčasťou používania jazyka a mnohé rámce podporujú ich používanie. Gettery a nastavovače Java však môžu byť zbytočne podrobné.
Správa kódu zdobeného Java getter a setter je peklo a komplikovaná. Chýbajúce zmysluplné riešenie problému geterov a nastavovačov je len špičkou ľadovca.
verejnostitriedaVozidlo{
súkromné Reťazec farba;// Getter
verejnosti Reťazec getColor(){
vrátiť farba;
}
// Setter
verejnostineplatnésetColor(reťazec c){
toto.farba = c;
}
}
4. Bez syntaktickej námrazy
Pracujete so zbierkou. Chcete prvú položku. Čo robíš? Samozrejme, zavoláte metódu namiesto použitia common [] operátor. Všetko preto, že operátorov nemôžete preťažiť.
Prakticky pre každú operáciu musíte použiť slovný názov metódy, aj keď by to urobil jednoznakový operátor.
Java podporuje tento koncept; jazyk vám umožňuje zreťaziť reťazce s + operátora, napr. To vám, programátorovi, jednoducho nedovolí urobiť to isté.
5. Vyhlásenie výnimiek za metódu, ktorá môže hodiť
Java vyžaduje, aby ste deklarovali výnimky, ktoré môže metóda vyvolať. Zdá sa to užitočné, však? Použitím danej metódy viete, čo môžete očakávať.
Problém je v tom, že kód je živý organizmus a stáva sa, že metóda, ktorú používate, začne vyvolávať ďalšie výnimky. čo sa stane potom? Váš kód sa práve prestal kompilovať.
Musíte situáciu zvládnuť alebo pridať výnimku do zoznamu hodov. Predpokladajme, že API, ktoré používate, sa nezmení. V Jave existuje niečo ako RuntimeException. Ak vaša metóda môže vyvolať túto výnimku alebo jedného z jej potomkov, musíte ju deklarovať.
Výnimky Java môžu priniesť veľa problémov s údržbou kódu.
// Java program, ktorý demonštruje použitie throw
triedaThrowExcep
{
statickéneplatné zábava ()
{
skúste
{
hodiťNový NullPointerException("demo");
}
chytiť (Výnimka NullPointer e)
{
System.out.println("Chytený vnútri zábavy().");
hodiť e; // obnovenie výnimky
}
}
verejnosti statickéneplatné Hlavná(Reťazec argumenty[])
{
skúste
{
zábava ();
}
chytiť (Výnimka NullPointer e)
{
System.out.println("Chytený v hlavnom.");
}
}
}
6. Komplikované IDE
Java programátori často používajú IDE ako Eclipse alebo IntelliJ. Tieto IDE sú výkonné, ale interakcia s nimi je zložitá, najmä pre začiatočníkov alebo stredne pokročilých vývojárov. Budete musieť vynaložiť veľa úsilia na to, aby ste sa naučili svoje IDE zvnútra aj zvonka, aby to bolo pre vás produktívnejšie a menej bolestivé.
7. Nezávislosť platformy je v roku 2022 menej dôležitá
Skutočnosť, že Java je veľmi nezávislá od platformy, je dnes pravdepodobne menej dôležitá ako pred 10 alebo 20 rokmi.
Dôvodom je, že žijeme v softvérovo definovanom svete. V súčasnosti virtuálne stroje, kontajnery a cloudové služby uľahčujú spustenie aplikácie kdekoľvek chcete, bez obáv o základné prostredie.
Inými slovami, nemusíte meniť kód, aby vaša aplikácia fungovala tam, kde ju potrebujete. Namiesto toho môžete zmeniť hostiteľské prostredie.
To neznamená, že na prenosnosti aplikácií už nezáleží. Už to nie je také dôležité, ako to bývalo, a preto je Java o niečo menej dôležitá.
8. Statické písanie
Java vykonáva kontrolu typu počas kompilácie. To znamená, že musíte deklarovať typ každej premennej v čase kompilácie. Je to rovnaké s jazykmi ako C a C++, ale iné jazyky, ako napríklad Scala a Haskell, ponúkajú určitú formu odvodzovania typu.
Pri statickom písaní nemajú premenné vo všeobecnosti povolené meniť typy. To robí syntax Java trochu komplikovanou, najmä pri písaní kódu pre veľký projekt.
Mnohí programátori uprednostňujú dynamické programovanie kde kontrola typu prebieha za behu. To znamená, že typ premennej sa môže počas svojej životnosti meniť.
Naučte sa nové programovacie jazyky
Nie je to tak, že by Java na nič nebola dobrá, ale jej syntax je neohrabaná a neprispieva k čítaniu kódu. Správa závislostí Java umožňuje zneužitie a vedie k ťažko odhaliteľným chybám.
Technológia sa neustále mení a ako vývojár je vždy užitočné mať aktuálne informácie o nových programovacích jazykoch. To, čo je dnes v móde, môže byť čoskoro novinkou včerajšieho dňa.