Java is een sterk getypeerde objectgeoriënteerde programmeertaal. Gemaakt in 1995, heeft het sindsdien veel verbeteringen ondergaan. Neemt gestaag een leidende positie in in ranglijsten van programmeertalen en in ranglijsten van de salarissen van softwareontwikkelaars .

En het allerbelangrijkste: Java's ranking schommelt niet van jaar tot jaar - hij blijft constant hoog. Laten we proberen te begrijpen wat Java populair maakt.

1. Cross-platform — De geschreven code wordt omgezet in bytecode, die vervolgens wordt uitgevoerd door de JVM. Er zijn JVM-implementaties voor verschillende platforms. Dat betekent dat code, eenmaal geschreven, kan worden uitgevoerd op Windows, Linux en macOS, en zelfs op verschillende exotische platforms, zoals Arduino, slimme koelkasten en stofzuigers. Met andere woorden, de code werkt op verschillende platforms en besturingssystemen, zonder dat deze voor elk daarvan hoeft te worden aangepast.

2. Automatisch geheugenbeheer — De ontwikkelaar hoeft niet na te denken over waar de variabelen in het RAM worden opgeslagen, ze niet handmatig te lezen/schrijven of zich zorgen te maken over de gegevensintegriteit. Bij het oplossen van een zakelijk probleem van een klant moet u aan het probleem denken, niet aan hoe en waar u bytes moet schrijven.

3. Snelheid (JIT-compiler) — Naast statische compilatie, die "van tevoren" gebeurt, ondersteunt Java just-in-time (JIT)-compilatie. Dit is zeer relevant voor servercode, die maanden of zelfs jaren achtereen kan worden uitgevoerd. Vaak uitgevoerde code wordt op verschillende manieren samengesteld en de uitvoeringstijd wordt gemeten. Het resultaat is dat hoe langer een applicatie draait, hoe sneller deze wordt. En dat geldt voor een actief draaiende server. Cool toch?

4. Achterwaartse compatibiliteit — Code geschreven in oudere versies van Java werkt ook op nieuwere versies. Dit is handig: nadat de Java-specificatie is bijgewerkt, hoeft u niet de helft van uw project te herschrijven "vanwege de update", maar u kunt nog steeds de nieuwste beveiligingspatches krijgen.

5. Objectoriëntatie — Mensen denken in termen van objecten: een tafel, een trolleybus, een smartphone. Ontwikkelaars worden niet gedwongen om in ongebruikelijke paradigma's te denken terwijl ze werken, en dat helpt om onnodige fouten uit onze code te voorkomen. In plaats daarvan kunnen we ons concentreren op alleen die details die belangrijk zijn in de taak. Vanuit het perspectief van een interieurontwerper zijn bijvoorbeeld de grootte van een tafel en de locatie in een kamer belangrijk. De fabricagedatum, de naam van de arbeider die het hout voor de tafel heeft gekapt en het telefoonnummer van de FedEx-chauffeur die het heeft afgeleverd, zijn niet belangrijk. Daarnaast worden data en methoden om met die data te werken bij elkaar in de code opgeslagen.

6. Statisch typen (faalsnel) — De compatibiliteit van variabeletypen wordt gecontroleerd tijdens de compilatiefase. Elke ontwikkelaar compileert code, dus compilatiefouten worden vrijwel onmiddellijk opgespoord. Hoe later het stadium waarin een fout wordt ontdekt, hoe duurder het is om deze te herstellen.

7. Code als documentatie — Java leest als zinnen in het Engels. Dienovereenkomstig is het in de meeste gevallen niet nodig om moeite te doen om de documentatie bij te houden, aangezien elke ontwikkelaar, die de code heeft bekeken, zal begrijpen wat een methode doet of voor welk gedrag een interface verantwoordelijk is. Bovendien zijn er intelligente conventies met betrekking tot de "juiste" naamgeving van alle entiteiten in code. De naam van een methode maakt vaak duidelijk wat het doet.

De methode getContext() retourneert bijvoorbeeld de context en het veld leeftijd is verantwoordelijk voor het opslaan van de leeftijd. In Java heeft de lengte van namen geen invloed op de hoeveelheid systeembronnen die nodig zijn om met entiteiten te werken. C kan dit ook niet aan: wanneer een ontwikkelaar zich aansluit bij een nieuw project, moet hij of zij de logica van de code niet begrijpen, maar deze ontcijferen.

8. Veel open source-bibliotheken en frameworks — 99% van de taken waarmee een ontwikkelaar in de dagelijkse praktijk wordt geconfronteerd, is al door iemand opgelost. Na verloop van tijd groeien de goede oplossingen uit tot bibliotheken en zelfs frameworks. Wat is beter: 5 minuten googlen of je eigen fiets opnieuw uitvinden met vierkante wielen?

9. Grote gemeenschap — Deze populaire taal heeft een enorme ontwikkelaarsbasis die veel vragen stelt op internet, veel antwoorden geeft, veel code schrijft en veel problemen onder ogen ziet en oplost. En hoe meer ontwikkelaars er zijn, hoe populairder de taal en hoe sneller deze groeit. Het is een deugdzame cirkel.

Veel van de positieve "kwaliteiten" van Java zijn al genoemd, maar ik zou er nog een paar willen toevoegen:

  • De JVM (Java Virtual Machine) beheert het geheugen voor u, waardoor het veilig is en de #1 taal voor financiële tools.

  • Het is erg handig om de backend-server (serverlogica) in Java te schrijven.

  • Tot voor kort was Java de belangrijkste taal voor Android-applicaties.

    Kotlin, een JVM-taal die verschilt van Java door "syntactische suiker" en een aantal kenmerken, komt nu in de plaats. Het overstappen van Java naar Kotlin en vice versa duurt enkele dagen. En gezien het feit dat de Java-updatecyclus nu zes maanden duurt, kan de volgende Java-release alle gehypte dingen bevatten waarvoor Kotlin is geschreven.

  • Veel bekende bedrijven gebruiken Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym en nog veel, veel meer.