Java er et stærkt typet objektorienteret programmeringssprog. Den blev oprettet i 1995 og har modtaget mange forbedringer siden da. Indtager støt en førende position i rangeringer af programmeringssprog såvel som i rangeringer af lønninger til softwareudviklere .

Og vigtigst af alt, så springer Javas rangering ikke rundt fra år til år – den forbliver konstant høj. Lad os prøve at forstå, hvad der gør Java populær.

1. Cross-platform — Den skrevne kode bliver konverteret til bytecode, som derefter bliver eksekveret af JVM. Der er JVM-implementeringer til en række forskellige platforme. Det betyder, at koden, når den er skrevet, vil køre på Windows, Linux og macOS, og endda forskellige eksotiske platforme, såsom Arduino, smarte køleskabe og støvsugere. Med andre ord vil koden fungere på forskellige platforme og operativsystemer, uden at det behøver at blive tilpasset til hver af dem.

2. Automatisk hukommelsesstyring — Udvikleren behøver ikke at tænke på, hvor variablerne er gemt i RAM, manuelt læse/skrive dem eller bekymre sig om dataintegritet. Når du løser en kundes forretningsproblem, bør du tænke på problemet, ikke på hvordan og hvor du skal skrive bytes.

3. Hastighed (JIT compiler) — Ud over statisk kompilering, som sker "på forhånd", understøtter Java just-in-time (JIT) kompilering. Dette er yderst relevant for serverkode, som kan køre i måneder eller endda år ad gangen. Hyppigt udført kode kompileres på forskellige måder, og dens eksekveringstid måles. Resultatet er, at jo længere en applikation kører, jo hurtigere bliver den. Og det gælder for en aktivt kørende server. Fedt, ikke?

4. Bagudkompatibilitet — Kode skrevet i ældre versioner af Java vil også fungere på nyere versioner. Dette er praktisk: efter at Java-specifikationen er blevet opdateret, behøver du ikke at omskrive halvdelen af ​​dit projekt "på grund af opdateringen", men du kan stadig få de seneste sikkerhedsrettelser.

5. Objektorientering — Mennesker tænker i form af objekter: et bord, en trolleybus, en smartphone. Udviklere er ikke tvunget til at tænke i usædvanlige paradigmer, mens de arbejder, og det hjælper med at holde unødvendige fejl ude af vores kode. I stedet kan vi kun koncentrere os om de detaljer, der er vigtige i opgaven. For eksempel fra en indretningsarkitekts perspektiv er et bords størrelse og placering i et rum vigtig. Dets fremstillingsdato, navnet på den arbejder, der skar træet til bordet, og telefonnummeret på den FedEx-chauffør, der leverede det, er ikke vigtige. Derudover er data og metoder til at arbejde med disse data gemt sammen i koden.

6. Statisk typning (fejl hurtigt) — Variabletypernes kompatibilitet kontrolleres under kompileringsfasen. Hver udvikler kompilerer kode, så kompileringsfejl fanges næsten øjeblikkeligt. Jo senere stadiet, hvor en fejl opdages, jo dyrere er det at rette den.

7. Kode som dokumentation — Java kan læses som sætninger på engelsk. Derfor er der i de fleste tilfælde ingen grund til at bruge kræfter på at vedligeholde dokumentation, da enhver udvikler, der har set på koden, vil forstå, hvad en metode gør, eller hvilken adfærd en grænseflade er ansvarlig for. Hvad mere er, er der intelligente konventioner vedrørende "korrekt" navngivning af alle entiteter i kode. En metodes navn gør ofte klart, hvad den gør.

For eksempel returnerer metoden getContext() konteksten, og aldersfeltet er ansvarligt for at gemme alderen. I Java påvirker længden af ​​navne ikke mængden af ​​systemressourcer, der kræves for at arbejde med entiteter. C håndterer ikke dette så godt: Når en udvikler tilslutter sig et nyt projekt, i stedet for at forstå logikken i koden, skal han eller hun dechifrere den.

8. Masser af open source-biblioteker og rammer — 99% af de opgaver, som en udvikler står over for i daglig praksis, er allerede løst af nogen. Med tiden vokser de gode løsninger til biblioteker og endda rammer. Hvad er bedre - google i 5 minutter eller genopfinde din egen cykel med firkantede hjul?

9. Stort fællesskab — Dette populære sprog har en enorm udviklerbase, der stiller mange spørgsmål på internettet, giver en masse svar, skriver en masse kode og står over for og løser mange problemer. Og jo flere udviklere der er, jo mere populært er sproget, og jo hurtigere vokser det. Det er en dydig cyklus.

Mange af Javas positive "kvaliteter" er allerede blevet nævnt, men jeg vil gerne tilføje et par flere:

  • JVM (Java Virtual Machine) administrerer hukommelse for dig, hvilket gør det sikkert og det #1 sprog for finansielle værktøjer.

  • Det er meget praktisk at skrive backend-serveren (serverlogik) i Java.

  • Indtil for nylig var Java det bedste sprog for Android-applikationer.

    Kotlin, et JVM-sprog, der adskiller sig fra Java ved "syntaktisk sukker" og et par funktioner, indtager nu stedet. At skifte fra Java til Kotlin og omvendt vil tage flere dage. Og i betragtning af at Java-opdateringscyklussen nu er seks måneder, kan den næste Java-udgivelse have alle de hypede ting, som Kotlin blev skrevet til.

  • Mange kendte virksomheder bruger Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym og mange, mange flere.