Java er et meget brugt objektorienteret programmeringssprog og softwareplatform. Det kører på milliarder af enheder, herunder bærbare computere, mobile enheder, spillekonsoller og mange andre.

At have sådanne kapaciteter kommer med en pris. Java kan være svært at lære, med en lang og kompliceret syntaks. Det er statisk skrevet, hvilket kan være mindre bekvemt. Og selvom det er platformsuafhængigt, gør fremkomsten af ​​cloud computing-platformen uafhængighed mindre af en gevinst.

Dette er blot nogle få af grundene til, at Java muligvis falder i ugunst.

1. Java bliver mindre populær

Først og fremmest ser Java ud til at glide langsomt i popularitet. I årevis var det et af de bedste programmeringssprog at lære, men det er nu ikke længere trending. Det betyder, at udviklere over tid vil skrive færre og færre nye applikationer i Java.

Denne tendens indebærer, at Java i sidste ende vil forsvinde. Virksomheder over hele verden vil fortsætte med at ansætte Java-programmører til at vedligeholde ældre kodebaser, men det vil ikke vare evigt.

instagram viewer

Alligevel, hvis du vil fokusere din karriere på at bygge nye ting i stedet for at vedligeholde eksisterende programmer, er Java måske ikke det bedste valg for dig.

Programmeringssprog maj 2022
Python 1
C 2
JavaScipt 3
C++ 4
C# 5
Visual Basic 6
Java 7
Forsamlingssprog 8
SQL 9
PHP 10

2. Java er ikke simpelt

Java kan være let at lære, men det er ikke nemt. Sproget er nemt at lære, fordi Java-kode er ligetil at skrive, organisere og kompilere. Men det er ikke nemt, fordi kode skrevet i Java har en tendens til at være mere omfattende og mere kedeligt at skrive.

Du skal også kompilere det, hvilket gør Java meget mindre bekvemt end sprog som Python. Så hvis du er en novice, der lærer at kode for første gang, er Java ikke et godt sprog at starte med.

Hvis du er en professionel, der ønsker at udsende enkel, elegant kode og implementere den hurtigt, er Java heller ikke det ideelle valg.

3. Getters og Settere

Getters og seters er næsten en obligatorisk del af brugen af ​​et sprog, og mange rammer tilskynder til deres brug. Javas gettere og sættere kan dog være unødvendigt verbose.

Det er helvede og kompliceret at administrere kode dekoreret med Java-gettere og -sættere. Manglen på en meningsfuld løsning på problemet med getters og setters er kun toppen af ​​isbjerget.

offentligklasseKøretøj{
privat Snor farve;

// Getter
offentlig Snor getColor(){
Vend tilbage farve;
}

// Sætter
offentligugyldigsætFarve(streng c){
det her.farve = c;
}
}

4. Ingen syntaktisk glasur

Du opererer på en samling. Du vil have den første vare. Hvad laver du? Man kalder selvfølgelig metoden i stedet for at bruge det fælles [] operatør. Alt sammen fordi du ikke kan overbelaste operatører.

For stort set hver operation skal du bruge et ordrigt metodenavn, selvom en enkelt-tegns operator ville gøre det.

Java understøtter konceptet; sproget lader dig sammenkæde strenge med + operatør, for eksempel. Det lader bare ikke dig, programmøren, gøre det samme.

5. At erklære undtagelserne for en metode kan kaste ud

Java kræver, at du erklærer de undtagelser, som en metode kan give. Det virker nyttigt, gør det ikke? Ved at bruge en given metode ved du, hvad du kan forvente.

Problemet er, at koden er en levende organisme, og det sker, at den metode, du bruger, begynder at kaste flere undtagelser. Hvad vil der så ske? Nå, din kode er lige holdt op med at kompilere.

Du skal håndtere situationen eller tilføje en undtagelse til kastlisten. Lad os antage, at den API, du bruger, ikke ændres. Der er sådan noget som RuntimeException i Java. Hvis din metode kan kaste denne undtagelse eller en af ​​dens efterkommere, skal du erklære den.

Javas undtagelser kan medføre en masse kodevedligeholdelsesproblemer.

// Java-program, der demonstrerer brugen af ​​throw
klasseThrowExcep
{
statiskugyldig sjovt()
{
prøve
{
kasteny NullPointerException("demo");
}
fangst (NullPointerException e)
{
System.out.println("Fanget i sjov().");
kaste e; // gengiver undtagelsen
}
}

offentlig statiskugyldig hoved(Snor args[])
{
prøve
{
sjovt();
}
fangst (NullPointerException e)
{
System.out.println("Fanget i hoved.");
}
}
}

6. Komplicerede IDE'er

Java-programmører bruger ofte en IDE som Eclipse eller IntelliJ. Disse IDE'er er kraftfulde, men de er komplekse at interagere med, især for en begynder eller en mellemudvikler. Du skal bruge en masse kræfter på at lære din IDE inde og ude, for at den bliver mere produktiv og mindre smertefuld for dig.

7. Platformuafhængighed er mindre vigtig i 2022

Det faktum, at Java er meget platform-uafhængig, betyder uden tvivl mindre i dag, end det gjorde for 10 eller 20 år siden.

Grunden er, at vi lever i en software-defineret verden. I dag gør virtuelle maskiner, containere og cloud-tjenester det nemt at køre en applikation, hvor du vil, uden at bekymre dig om det underliggende miljø.

Du behøver med andre ord ikke at ændre din kode for at få din app til at fungere, hvor du har brug for den. Du kan i stedet ændre hostingmiljøet.

Dette betyder ikke, at applikationsportabilitet ikke længere betyder noget. Det er bare ikke så kritisk, som det plejede at være, og det gør Java i forlængelse heraf en smule mindre vigtigt.

8. Statisk typning

Java udfører typekontrol under kompileringstiden. Det betyder, at du skal deklarere typen af ​​hver variabel på kompileringstidspunktet. Det er det samme med sprog som C og C++, men andre sprog, såsom Scala og Haskell, tilbyder en form for typeslutning.

Med statisk indtastning har variabler generelt ikke lov til at ændre typer. Dette gør Java-syntaks en smule kompliceret, især når man skriver kode til et stort projekt.

Mange programmører foretrækker dynamisk programmering hvor typekontrol finder sted under kørsel. Det betyder, at typen af ​​en variabel kan ændre sig i løbet af dens levetid.

Lær nye programmeringssprog

Det er ikke, at Java ikke er godt for noget, men dets syntaks er klodset og ikke befordrende for læsning af kode. Javas afhængighedsstyring giver mulighed for misbrug og fører til svære at opdage fejl.

Teknologien bliver ved med at ændre sig, og som udvikler er det altid nyttigt at være up-to-date med nye programmeringssprog. Hvad der er på mode i dag kan snart være gårsdagens nyheder.