Java är ett starkt skrivet objektorienterat programmeringsspråk. Den skapades 1995 och har fått många förbättringar sedan dess. Intar stadigt en ledande position i rankningar av programmeringsspråk samt i rankningar av löner för mjukvaruutvecklare .

Och viktigast av allt är att Javas rankning inte hoppar runt från år till år – den förblir konsekvent hög. Låt oss försöka förstå vad som gör Java populärt.

1. Cross-platform — Den skrivna koden konverteras till bytekod, som sedan exekveras av JVM. Det finns JVM-implementationer för en mängd olika plattformar. Det betyder att koden, när den väl är skriven, kommer att köras på Windows, Linux och macOS, och till och med olika exotiska plattformar, som Arduino, smarta kylskåp och dammsugare. Med andra ord kommer koden att fungera på olika plattformar och operativsystem, utan att behöva anpassas för var och en av dem.

2. Automatisk minneshantering — Utvecklaren behöver inte tänka på var variablerna lagras i RAM, läsa/skriva dem manuellt eller oroa sig för dataintegritet. När du löser en kunds affärsproblem bör du tänka på problemet, inte på hur och var du ska skriva bytes.

3. Hastighet (JIT-kompilator) — Förutom statisk kompilering, som sker "i förväg", stöder Java just-in-time (JIT) kompilering. Detta är mycket relevant för serverkod, som kan köras i månader eller till och med år åt gången. Ofta exekverad kod kompileras på olika sätt och dess exekveringstid mäts. Resultatet är att ju längre en applikation körs, desto snabbare blir den. Och det är sant för en server som körs aktivt. Coolt, eller hur?

4. Bakåtkompatibilitet — Kod skriven i äldre versioner av Java fungerar också på nyare versioner. Detta är bekvämt: efter att Java-specifikationen har uppdaterats behöver du inte skriva om hälften av ditt projekt "på grund av uppdateringen", men du kan fortfarande få de senaste säkerhetskorrigeringarna.

5. Objektorientering — Människor tänker i termer av objekt: ett bord, en trolleybuss, en smartphone. Utvecklare tvingas inte tänka i ovanliga paradigm när de arbetar, och det hjälper till att hålla onödiga fel borta från vår kod. Istället kan vi koncentrera oss på endast de detaljer som är viktiga i uppgiften. Till exempel, ur en inredningsarkitekts perspektiv är ett bords storlek och placering i ett rum viktigt. Dess tillverkningsdatum, namnet på arbetaren som sågade virket till bordet och telefonnummer till FedEx-föraren som levererade det är inte viktiga. Dessutom lagras data och metoder för att arbeta med den datan tillsammans i koden.

6. Statisk typning (misslyckas snabbt) — Variabeltypers kompatibilitet kontrolleras under kompileringsstadiet. Varje utvecklare kompilerar kod, så kompileringsfel fångas nästan omedelbart. Ju senare ett fel upptäcks, desto dyrare är det att åtgärda det.

7. Koda som dokumentation — Java läses som meningar på engelska. Följaktligen, i de flesta fall, finns det inget behov av att lägga ner ansträngningar på att underhålla dokumentationen, eftersom alla utvecklare, som har tittat på koden, kommer att förstå vad en metod gör eller vilket beteende ett gränssnitt är ansvarigt för. Dessutom finns det intelligenta konventioner angående "korrekt" namngivning av alla entiteter i koden. En metods namn gör ofta tydligt vad den gör.

Till exempel returnerar metoden getContext() kontexten och åldersfältet är ansvarigt för att lagra åldern. I Java påverkar inte längden på namn mängden systemresurser som krävs för att arbeta med entiteter. C hanterar inte detta lika bra: när en utvecklare går med i ett nytt projekt, istället för att förstå logiken i koden, måste han eller hon dechiffrera den.

8. Massor av öppen källkodsbibliotek och ramverk — 99 % av uppgifterna som en utvecklare står inför i den dagliga praktiken har redan lösts av någon. Med tiden växer de bra lösningarna till bibliotek och till och med ramverk. Vilket är bättre — googla i 5 minuter eller återuppfinna din egen cykel med fyrkantiga hjul?

9. Stor community — Detta populära språk har en enorm utvecklarbas som ställer många frågor på Internet, ger många svar, skriver mycket kod och möter och löser många problem. Och ju fler utvecklare det finns, desto mer populärt språk, och desto snabbare växer det. Det är en dygdig cirkel.

Många av Javas positiva "kvaliteter" har redan nämnts, men jag skulle vilja lägga till några fler:

  • JVM (Java Virtual Machine) hanterar minne åt dig, vilket gör det säkert och språket #1 för finansiella verktyg.

  • Det är väldigt bekvämt att skriva backend-servern (serverlogik) i Java.

  • Tills nyligen var Java det främsta språket för Android-applikationer.

    Kotlin, ett JVM-språk som skiljer sig från Java genom "syntaktisk socker" och ett par funktioner, tar nu dess plats. Att byta från Java till Kotlin och vice versa kommer att ta flera dagar. Och med tanke på att Java-uppdateringscykeln nu är sex månader, kan nästa Java-utgåva ha alla de hypade sakerna som Kotlin skrevs för.

  • Många kända företag använder Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym och många, många fler.