Java är ett mycket använt objektorienterat programmeringsspråk och mjukvaruplattform. Den körs på miljarder enheter inklusive bärbara datorer, mobila enheter, spelkonsoler och många andra.

Att ha sådana möjligheter kommer med ett pris. Java kan vara svårt att lära sig, med en lång och komplicerad syntax. Det är statiskt skrivet, vilket kan vara mindre bekvämt. Och även om det är plattformsoberoende, gör uppkomsten av cloud computing-plattformen oberoendet mindre av en vinst.

Detta är bara några av anledningarna till att Java kan falla i onåd.

1. Java blir mindre populärt

Först och främst verkar Java sakta sjunka i popularitet. I åratal var det ett av de bästa programmeringsspråken att lära sig, men det är nu inte längre trendigt. Detta innebär att utvecklare med tiden kommer att skriva färre och färre nya applikationer i Java.

Denna trend innebär att Java så småningom kommer att försvinna. Företag över hela världen kommer att fortsätta att anställa Java-programmerare för att upprätthålla äldre kodbaser, men det kommer inte att vara för evigt.

instagram viewer

Ändå, om du vill fokusera din karriär på att bygga nya saker, snarare än att underhålla befintliga program, kanske Java inte är det bästa valet för dig.

Programmeringsspråk maj 2022
Pytonorm 1
C 2
JavaScipt 3
C++ 4
C# 5
Visual Basic 6
Java 7
Assembleringsspråk 8
SQL 9
PHP 10

2. Java är inte enkelt

Java kan vara lätt att lära sig, men det är inte enkelt. Språket är lätt att lära sig eftersom Java-kod är enkel att skriva, organisera och kompilera. Men det är inte enkelt eftersom kod skriven i Java tenderar att vara mer utförlig och tråkigare att skriva.

Du måste också kompilera det, vilket gör Java mycket mindre bekvämt än språk som Python. Så om du är en nybörjare som lär dig koda för första gången är Java inte ett bra språk att börja med.

Om du är ett proffs som vill ta fram enkel, elegant kod och distribuera den snabbt, är Java inte heller det perfekta valet.

3. Getters och Setters

Getters och setters är nästan en obligatorisk del av att använda ett språk och många ramverk uppmuntrar deras användning. Javas getters och seters kan dock vara onödigt omfattande.

Att hantera kod dekorerad med Java getters och seters är ett helvete och komplicerat. Avsaknaden av en meningsfull lösning på problemet med getters och setters är bara toppen av isberget.

offentligklassFordon{
privat Sträng Färg;

// Getter
offentlig Sträng getColor(){
lämna tillbaka Färg;
}

// Setter
offentligtomhetsetColor(Sträng c){
detta.color = c;
}
}

4. Ingen syntaktisk isbildning

Du opererar på en samling. Du vill ha det första föremålet. Vad gör du? Självklart kallar man metoden istället för att använda det gemensamma [] operatör. Allt för att du inte kan överbelasta operatörer.

För praktiskt taget varje operation måste du använda ett ordrikt metodnamn även om en operator med ett tecken skulle göra det.

Java stödjer konceptet; språket låter dig sammanfoga strängar med + operatör, till exempel. Det låter bara inte dig, programmeraren, göra detsamma.

5. Att förklara undantagen som en metod kan leda till

Java kräver att du deklarerar de undantag som en metod kan ge. Det verkar användbart, eller hur? Genom att använda en given metod vet du vad du kan förvänta dig.

Problemet är att koden är en levande organism, och det händer att metoden du använder börjar ge fler undantag. Vad kommer att hända då? Nåväl, din kod slutade precis att kompilera.

Du måste hantera situationen eller lägga till ett undantag till kastlistan. Låt oss anta att API: et du använder inte ändras. Det finns något som RuntimeException i Java. Om din metod kan kasta detta undantag eller en av dess ättlingar, måste du deklarera det.

Javas undantag kan ge många kodunderhållsproblem.

// Java-program som visar användningen av throw
klassThrowExcep
{
statisktomhet roligt()
{
Prova
{
kastany NullPointerException("demo");
}
fånga (NullPointerException e)
{
System.out.println("Fångad inuti fun().");
kasta e; // kastar om undantaget
}
}

offentlig statisktomhet huvud(Sträng args[])
{
Prova
{
roligt();
}
fånga (NullPointerException e)
{
System.out.println("Fångad i huvudet.");
}
}
}

6. Komplicerade IDE: er

Java-programmerare använder ofta en IDE som Eclipse eller IntelliJ. Dessa IDE: er är kraftfulla, men de är komplexa att interagera med, särskilt för en nybörjare eller en mellanliggande utvecklare. Du måste lägga mycket ansträngning på att lära dig din IDE inifrån och ut för att den ska vara mer produktiv och mindre smärtsam för dig.

7. Plattformsoberoende är mindre viktigt 2022

Det faktum att Java är mycket plattformsoberoende spelar utan tvekan mindre roll i dag än för 10 eller 20 år sedan.

Anledningen är att vi lever i en mjukvarudefinierad värld. Idag gör virtuella maskiner, behållare och molntjänster det enkelt att köra en applikation var du vill, utan att oroa dig för den underliggande miljön.

Du behöver med andra ord inte ändra din kod för att din app ska fungera där du behöver den. Du kan ändra värdmiljön istället.

Detta är inte att säga att applikationsportabilitet inte längre spelar någon roll. Det är bara inte så kritiskt som det brukade vara, och det gör Java lite mindre viktigt i förlängningen.

8. Statisk typning

Java utför typkontroll under kompileringstiden. Detta innebär att du måste deklarera typen av varje variabel vid kompileringstillfället. Det är samma sak med språk som C och C++, men andra språk, som Scala och Haskell, erbjuder någon form av typinferens.

Med statisk typning får variabler i allmänhet inte ändra typ. Detta gör Java-syntaxen lite komplicerad, särskilt när man skriver kod för ett stort projekt.

Många programmerare föredrar dynamisk programmering där typkontroll sker vid körning. Detta innebär att typen av en variabel kan ändras under dess livstid.

Lär dig nya programmeringsspråk

Det är inte så att Java inte är bra för någonting, men dess syntax är klumpig och inte gynnsam för att läsa kod. Javas beroendehantering tillåter missbruk och leder till svårupptäckta buggar.

Tekniken förändras hela tiden och som utvecklare är det alltid användbart att vara uppdaterad med framväxande programmeringsspråk. Det som är på modet idag kan snart vara gårdagens nyheter.