Java er et mye brukt objektorientert programmeringsspråk og programvareplattform. Den kjører på milliarder av enheter, inkludert bærbare datamaskiner, mobile enheter, spillkonsoller og mange andre.
Å ha slike evner kommer med en pris. Java kan være vanskelig å lære, med en lang og komplisert syntaks. Den er statisk skrevet, noe som kan være mindre praktisk. Og selv om den er plattformuavhengig, gjør fremveksten av cloud computing-plattformen uavhengighet mindre av en seier.
Dette er bare noen av grunnene til at Java kan falle i unåde.
1. Java blir mindre populært
Først og fremst ser det ut til at Java sklir sakte i popularitet. I årevis var det det et av de beste programmeringsspråkene å lære, men det er nå ikke lenger populært. Dette betyr at utviklere over tid vil skrive færre og færre nye applikasjoner i Java.
Denne trenden innebærer at Java til slutt vil forsvinne. Bedrifter over hele verden vil fortsette å ansette Java-programmerere for å opprettholde eldre kodebaser, men det vil ikke vare evig.
Likevel, hvis du ønsker å fokusere karrieren på å bygge nye ting, i stedet for å vedlikeholde eksisterende programmer, er kanskje ikke Java det beste valget for deg.
Programmeringsspråk | mai 2022 |
---|---|
Python | 1 |
C | 2 |
JavaScipt | 3 |
C++ | 4 |
C# | 5 |
Visual Basic | 6 |
Java | 7 |
Forsamlingsspråk | 8 |
SQL | 9 |
PHP | 10 |
2. Java er ikke enkelt
Java kan være lett å lære, men det er ikke enkelt. Språket er lett å lære fordi Java-kode er enkelt å skrive, organisere og kompilere. Men det er ikke enkelt fordi kode skrevet i Java har en tendens til å være mer detaljert og mer kjedelig å skrive.
Du må også kompilere det, noe som gjør Java mye mindre praktisk enn språk som Python. Så hvis du er en nybegynner som lærer å kode for første gang, er ikke Java et godt språk å begynne med.
Hvis du er en profesjonell som ønsker å churne ut enkel, elegant kode og distribuere den raskt, er heller ikke Java det ideelle valget.
3. Getters og Setters
Gettere og settere er nesten en obligatorisk del av bruk av et språk, og mange rammeverk oppmuntrer til bruk. Javas gettere og settere kan imidlertid være unødvendig detaljerte.
Å administrere kode dekorert med Java-gettere og -settere er helvete og komplisert. Mangelen på en meningsfull løsning på problemet med getters og setters er bare toppen av isfjellet.
offentligklasseKjøretøy{
privat String farge;// Getter
offentlig String getColor(){
komme tilbake farge;
}
// Setter
offentligtomromsett farge(streng c){
dette.color = c;
}
}
4. Ingen syntaktisk ising
Du opererer på en samling. Du vil ha det første elementet. Hva gjør du? Selvfølgelig kaller du metoden i stedet for å bruke det vanlige [] operatør. Alt fordi du ikke kan overbelaste operatører.
For praktisk talt hver operasjon må du bruke et ordfylt metodenavn selv om en enkelttegnsoperator ville gjøre det.
Java støtter konseptet; språket lar deg sette sammen strenger med + operatør, for eksempel. Det lar bare ikke deg, programmereren, gjøre det samme.
5. Å erklære unntakene som en metode kan kaste
Java krever at du erklærer unntakene som en metode kan gi. Det virker nyttig, ikke sant? Ved å bruke en gitt metode vet du hva du kan forvente.
Problemet er at koden er en levende organisme, og det hender at metoden du bruker begynner å gi flere unntak. Hva vil skje da? Vel, koden din sluttet nettopp å kompilere.
Du må håndtere situasjonen eller legge til et unntak til kastlisten. La oss anta at API-en du bruker ikke endres. Det er noe som heter RuntimeException i Java. Hvis metoden din kan kaste dette unntaket eller en av dets etterkommere, må du erklære det.
Javas unntak kan føre til mange problemer med kodevedlikehold.
// Java-program som demonstrerer bruken av kast
klasseThrowExcep
{
statisktomrom moro()
{
prøve
{
kasteny NullPointerException("demo");
}
å fange (NullPointerException e)
{
System.out.println("Fanget i moro().");
kaste e; // kaster unntaket på nytt
}
}
offentlig statisktomrom hoved(String args[])
{
prøve
{
moro();
}
å fange (NullPointerException e)
{
System.out.println("Fanget i hoved.");
}
}
}
6. Kompliserte IDE-er
Java-programmerere bruker ofte en IDE som Eclipse eller IntelliJ. Disse IDE-ene er kraftige, men de er komplekse å samhandle med, spesielt for en nybegynner eller en middels utvikler. Du må legge mye arbeid i å lære IDE-en din innvendig og utvendig for at den skal være mer produktiv og mindre smertefull for deg.
7. Plattformuavhengighet er mindre viktig i 2022
Det faktum at Java er veldig plattformuavhengig betyr uten tvil mindre i dag enn det gjorde for 10 eller 20 år siden.
Grunnen er at vi lever i en programvaredefinert verden. I dag gjør virtuelle maskiner, containere og skytjenester det enkelt å kjøre en applikasjon hvor du vil, uten å bekymre deg for det underliggende miljøet.
Du trenger med andre ord ikke å endre koden for å få appen til å fungere der du trenger den. Du kan endre vertsmiljøet i stedet.
Dette er ikke å si at applikasjonsportabilitet ikke lenger betyr noe. Det er bare ikke så kritisk som det pleide å være, og det gjør Java litt mindre viktig i forlengelsen.
8. Statisk skriving
Java utfører typekontroll under kompileringstiden. Dette betyr at du må deklarere typen av hver variabel på kompileringstidspunktet. Det er det samme med språk som C og C++, men andre språk, som Scala og Haskell, tilbyr en eller annen form for typeslutning.
Med statisk skriving har variabler generelt ikke lov til å endre type. Dette gjør Java-syntaksen litt komplisert, spesielt når du skriver kode for et stort prosjekt.
Mange programmerere foretrekker dynamisk programmering der typekontroll skjer under kjøring. Dette betyr at typen av en variabel kan endre seg over levetiden.
Lær nye programmeringsspråk
Det er ikke det at Java ikke er bra for noe, men syntaksen er klønete og ikke bidrar til å lese kode. Javas avhengighetsbehandling tillater misbruk og fører til vanskelige å oppdage feil.
Teknologien fortsetter å endre seg, og som utvikler er det alltid nyttig å være oppdatert med nye programmeringsspråk. Det som er på moten i dag kan snart være gårsdagens nyheter.