Java è un linguaggio di programmazione orientato agli oggetti fortemente tipizzato. Creato nel 1995, da allora ha subito molti miglioramenti. Occupa stabilmente una posizione di primo piano nelle classifiche dei linguaggi di programmazione così come nelle classifiche degli stipendi degli sviluppatori software .

E, cosa più importante, la classifica di Java non salta di anno in anno: rimane costantemente alta. Proviamo a capire cosa rende popolare Java.

1. Multipiattaforma : il codice scritto viene convertito in bytecode, che viene quindi eseguito dalla JVM. Esistono implementazioni JVM per una varietà di piattaforme. Ciò significa che il codice, una volta scritto, funzionerà su Windows, Linux e macOS e persino su varie piattaforme esotiche, come Arduino, frigoriferi intelligenti e aspirapolvere. In altre parole, il codice funzionerà su diverse piattaforme e sistemi operativi, senza alcuna necessità di essere adattato per ciascuno di essi.

2. Gestione automatica della memoria : lo sviluppatore non deve pensare a dove sono archiviate le variabili nella RAM, leggerle/scriverle manualmente o preoccuparsi dell'integrità dei dati. Quando si risolve il problema aziendale di un cliente, è necessario pensare al problema, non a come e dove scrivere i byte.

3. Velocità (compilatore JIT) — Oltre alla compilazione statica, che avviene "in anticipo", Java supporta la compilazione just-in-time (JIT). Questo è molto rilevante per il codice del server, che può essere eseguito per mesi o addirittura anni alla volta. Il codice eseguito di frequente viene compilato in modi diversi e viene misurato il suo tempo di esecuzione. Il risultato è che più a lungo viene eseguita un'applicazione, più diventa veloce. E questo è vero per un server in esecuzione attiva. Fantastico, vero?

4. Compatibilità con le versioni precedenti : il codice scritto nelle versioni precedenti di Java funzionerà anche sulle versioni più recenti. Questo è conveniente: dopo che le specifiche Java sono state aggiornate, non devi riscrivere metà del tuo progetto "a causa dell'aggiornamento", ma puoi comunque ottenere le ultime patch di sicurezza.

5. Orientamento agli oggetti — Gli esseri umani pensano in termini di oggetti: un tavolo, un filobus, uno smartphone. Gli sviluppatori non sono costretti a pensare in paradigmi insoliti mentre lavorano, e questo aiuta a tenere gli errori non necessari fuori dal nostro codice. Invece, possiamo concentrarci solo su quei dettagli che sono importanti nel compito. Ad esempio, dal punto di vista di un interior designer, le dimensioni e la posizione di un tavolo in una stanza sono importanti. La sua data di fabbricazione, il nome dell'operaio che ha tagliato il legno per il tavolo e il numero di telefono dell'autista FedEx che lo ha consegnato non sono importanti. Inoltre, i dati ei metodi per lavorare con tali dati vengono archiviati insieme nel codice.

6. Tipizzazione statica (fail fast) — La compatibilità dei tipi di variabile viene verificata durante la fase di compilazione. Ogni sviluppatore compila il codice, quindi gli errori di compilazione vengono rilevati quasi istantaneamente. Più tardi è la fase in cui viene scoperto un errore, più costoso è risolverlo.

7. Codice come documentazione — Java si legge come frasi in inglese. Di conseguenza, nella maggior parte dei casi, non è necessario spendere sforzi per mantenere la documentazione, poiché qualsiasi sviluppatore, dopo aver esaminato il codice, capirà cosa fa un metodo o quale comportamento è responsabile di un'interfaccia. Inoltre, esistono convenzioni intelligenti per quanto riguarda la denominazione "corretta" di tutte le entità nel codice. Il nome di un metodo spesso chiarisce cosa fa.

Ad esempio, il metodo getContext() restituisce il contesto e il campo età è responsabile della memorizzazione dell'età. In Java, la lunghezza dei nomi non influisce sulla quantità di risorse di sistema necessarie per lavorare con le entità. C non gestisce anche questo: quando uno sviluppatore si unisce a un nuovo progetto, invece di afferrare la logica del codice, deve decifrarlo.

8. Molte librerie e framework open source : il 99% delle attività che uno sviluppatore deve affrontare nella pratica quotidiana è già stato risolto da qualcuno. Nel tempo, le buone soluzioni si trasformano in librerie e persino framework. Cos'è meglio: cercare su Google per 5 minuti o reinventare la tua bicicletta con ruote quadrate?

9. Grande comunità : questo linguaggio popolare ha un'enorme base di sviluppatori che pone molte domande su Internet, fornisce molte risposte, scrive molto codice e affronta e risolve molti problemi. E più sviluppatori ci sono, più popolare è il linguaggio e più velocemente cresce. È un circolo virtuoso.

Molte delle "qualità" positive di Java sono già state menzionate, ma vorrei aggiungerne altre:

  • La JVM (Java Virtual Machine) gestisce la memoria per te, il che la rende sicura e il linguaggio n. 1 per gli strumenti finanziari.

  • È molto conveniente scrivere il server back-end (logica del server) in Java.

  • Fino a poco tempo fa, Java era il linguaggio principale per le applicazioni Android.

    Kotlin, un linguaggio JVM che differisce da Java per "zucchero sintattico" e un paio di caratteristiche, ora prende il suo posto. Il passaggio da Java a Kotlin e viceversa richiederà diversi giorni. E dato che il ciclo di aggiornamento di Java è ora di sei mesi, la prossima versione di Java potrebbe contenere tutte le cose pubblicizzate per cui è stato scritto Kotlin.

  • Molte aziende famose usano Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym e molte, molte altre.