Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Kotlin (linguaggio di programmazione) - Teknopedia
Kotlin (linguaggio di programmazione) - Teknopedia
Kotlin
linguaggio di programmazione
AutoreJetBrains
Data di origine22 luglio 2011
Ultima versione2.2.21 (23 ottobre 2025)
Utilizzogeneral purpose
Paradigmiprogrammazione generica, riflessione, programmazione concorrente, programmazione orientata agli oggetti, programmazione funzionale, programmazione imperativa, programmazione strutturata e programmazione dichiarativa
Tipizzazioneforte
Estensioni comunikt e kts
Influenzato daApache Groovy, C#, Gosu, Java, Ruby, JavaScript, Scala, Python e ML
Implementazione di riferimento
Implementazionecompilatore
Sistema operativomulti-piattaforma
Licenzalicenza Apache 2.0
Sito webkotlinlang.org/
Modifica dati su Wikidata · Manuale

Kotlin è un linguaggio di programmazione general purpose, multipiattaforma, multi-paradigma, open source sviluppato dall'azienda di software JetBrains.

Kotlin gira sulla macchina virtuale Java (JVM) ed è ispirato ad altri linguaggi di programmazione tra i quali Scala e lo stesso Java, con cui è designato per essere intercompatible, mentre ulteriori spunti sintattici sono stati presi da linguaggi classici, come il Pascal e moderni come Go o F#. Kotlin viene utilizzato principalmente con la JVM, ma permette di compilare anche codice JavaScript (per esempio nel caso di applicazioni front-end in React[1]) o persino codice macchina via LLVM (utilizzato, per esempio, per il codice nativo di iOS quando si vuole condividere la logica di business con un'app Android[2]).

Lo sviluppo è iniziato nel 2011 mentre una prima versione pubblica del compilatore, in versione 0.1, è stata pubblicata a gennaio 2012. Kotlin è un linguaggio a tipizzazione statica e forte, ed è particolarmente orientato verso la programmazione a oggetti permettendo peraltro un pieno uso dell'approccio funzionale.

Il 7 maggio 2019 Google ha designato Kotlin come il linguaggio standard per lo sviluppo di applicazioni Android, sostituendo Java.[3] A partire dal 2017 con Android Studio 3.0 Google ha incluso compiler per entrambi i linguaggi di programmazione. Questo sostegno da parte di Google ha significativamente incrementato la popolarità e l'adozione di Kotlin nell'ambito industriale.[4]

I costi di sviluppo del linguaggio sono sostenuti da JetBrains, mentre la Kotlin Foundation protegge il marchio Kotlin.[5]

Il linguaggio prende il nome dall'omonima isola vicino a San Pietroburgo.[6]

Piattaforme supportate

[modifica | modifica wikitesto]

Il 7 maggio 2019, Google ha annunciato che Kotlin è ora il linguaggio preferito per lo sviluppo di app per Android.[7] Dalla pubblicazione di Android Studio 3.0 nell'ottobre 2017, Kotlin è stato incluso come alternativa al compilatore Java standard. Il compilatore Kotlin di Android produce bytecode di Java 8 di default (che gira quindi in una qualsiasi JVM pari o superiore), ma permette al programmatore di targetizzare Java 9 fino alla versione 17, per ottimizzazione,[8] o per avere più funzionalità; ha un tipo di record bidirezionale per supportare l'interoperabilità con la JVM, introdotto in Java 16 e considerato stabile da Kotlin 1.5 in poi.

Kotlin supporta la compilazione diretta in JavaScript (per esempio, la classica per il back-end) ed è considerato stabile dalla versione 1.3, mentre il nuovo Kotlin/JS(IR) è in beta dalla versione 1.5.30. La nuova implementazione ottimizzata di Kotlin/JVM(IR) e Kotlin/JS è stata introdotta dalla versione 1.4. Kotlin/JVM(IR) è considerato stabile e abilitato di default dalla versione 1.5.

Basi teoriche

[modifica | modifica wikitesto]

Il leader del progetto, lo sviluppatore russo Andrey Breslav, ha affermato che Kotlin è stato progettato per essere pienamente operativo con l'ambiente Java e tutto il suo enorme ecosistema, superando però le limitazioni e le criticità del linguaggio Java stesso. In questo modo non si sarebbe perso il background culturale esistente favorendo la migrazione al nuovo strumento. Tra le caratteristiche distintive ricercate, la capacità di evitare alcune classi di errore, come gli accessi a puntatori nulli.[9]

Hello, World

[modifica | modifica wikitesto]

Il seguente esempio propone il classico "Hello, World!"[10]:

fun main() {
    println("Hello, world!")
}

Qui invece l'esempio precedente viene esteso recuperando un parametro dalla riga di comando (nello specifico la stringa "world"), si può anche notare la facilità di interpolazione delle variabili all'interno delle stringhe:

fun main(args: Array<String>) {
    if (args.size == 0) {
        println("Please provide a name as a command-line argument")
        return
    }
    println("Hello, ${args[0]}!")
}

Kotlin per Android

[modifica | modifica wikitesto]

Il linguaggio Kotlin è stato adottato e integrato nell'ambiente di sviluppo Android Studio a partire dalla versione 3.0.[11] Kotlin introduce tutti i vantaggi di un moderno linguaggio di programmazione senza introdurre nessuna nuova restrizione. È totalmente compatibile con JDK 6, fornendo delle prestazioni pari, e in alcuni casi superiori a Java. Viene garantita l'interoperabilità con Java al 100%.[12] Il passaggio da Java a Kotlin per un programmatore è reso molto semplice per l'affinità dei due linguaggi e degli strumenti di conversione resi disponibili.

Dal 7 maggio 2019, Kotlin è il linguaggio consigliato da Google per lo sviluppo di applicazioni Android.[3] Appare infatti come prima opzione nell'IDE Android Studio.

Versioni

[modifica | modifica wikitesto]
Da aggiornare
Questa voce o sezione deve essere rivista e aggiornata appena possibile.

Sembra infatti che questa voce contenga informazioni superate e/o obsolete. Se puoi, contribuisci ad aggiornarla.

Il ciclo release di Kotlin prevede tre distinti tipi di release:[13][14]

  1. Feature release (1.x) che apportano modifiche importanti al linguaggio.
  2. Incremental release (1.x.y) che includono aggiornamenti del tooling, miglioramento delle prestazioni e correzioni di bug.
  3. Bug fixes (1.x.yz) che di solito non includono nessuna nuova funzionalità ma solo correzione di bug.

Di seguito vengono elencate solo le versioni maggiori, omettendo le sottoversioni.

Versione Data di pubblicazione Aggiornamenti sicurezza fino al[15]
Vecchia versione non più supportata: 1.3 28 ottobre 2018 14 agosto 2020
Vecchia versione non più supportata: 1.4 14 agosto 2020 26 aprile 2021
Vecchia versione non più supportata: 1.5 26 aprile 2021 29 novembre 2021
Vecchia versione non più supportata: 1.6 15 novembre 2021 28 dicembre 2022
Vecchia versione non più supportata: 1.7 9 giugno 2022 28 dicembre 2022
Vecchia versione non più supportata: 1.8 28 dicembre 2022 6 luglio 2023
Vecchia versione non più supportata: 1.9 6 luglio 2023 21 Maggio 2024
Versione stabile corrente: 2.0 21 Maggio 2024
Ultima anteprima di una versione futura: 2.0.20 22 Agosto 2024
Legenda:
Vecchia versione
Versione precedente ancora supportata
Versione corrente
Ultima versione di anteprima
Versione futura

Note

[modifica | modifica wikitesto]
  1. ^ (EN) Kotlin for JavaScript - Kotlin Programming Language, su Kotlin. URL consultato il 20 agosto 2020.
  2. ^ (EN) Kotlin for cross-platform mobile development, su JetBrains: Developer Tools for Professionals and Teams. URL consultato il 20 agosto 2020.
  3. ^ a b Frederic Lardinois, Kotlin is now Google’s preferred language for Android app development, in TechCrunch, 7 maggio 2019.
  4. ^ Victor Oliveira, Leopoldo Teixeira e Felipe Ebert, On the Adoption of Kotlin on Android Development: A Triangulation Study, IEEE, 2020-02, pp. 206-216, DOI:10.1109/SANER48275.2020.9054859. URL consultato il 9 gennaio 2024.
  5. ^ Kotlin Foundation - Kotlin Programming Language, su Kotlin.
  6. ^ (EN) Janice J. Heiss, The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav, su oracle.com, Oracle, aprile 2013. URL consultato il 26 agosto 2019 (archiviato il 13 aprile 2013).
  7. ^ (EN) Kotlin is now Google's preferred language for Android app development, su TechCrunch. URL consultato l'8 maggio 2019 (archiviato dall'url originale il 17 giugno 2020).
  8. ^ Kotlin FAQ, su kotlinlang.org. URL consultato il 26 agosto 2021.
    «Kotlin lets you choose the version of JVM for execution. By default, the Kotlin/JVM compiler produces Java 8 compatible bytecode. If you want to make use of optimizations available in newer versions of Java, you can explicitly specify the target Java version from 9 to 17. Note that in this case the resulting bytecode might not run on lower versions.»
  9. ^ (EN) JVM Languages Report: Interview with Kotlin Creator, in zeroturnaround.com. URL consultato il 17 maggio 2018.
  10. ^ (EN) Kotlin, Kotlin Examples: Hello World, su play.kotlinlang.org. URL consultato il 18 novembre 2021 (archiviato dall'url originale il 18 novembre 2021).
  11. ^ (EN) Android Announces Support for Kotlin, in Android Developers Blog. URL consultato il 17 maggio 2018.
  12. ^ (EN) Kotlin Official FAQs: Is Kotlin compatible with the Java programming language?, su kotlinlang.org. URL consultato il 9 gennaio 2024.
  13. ^ (EN) Kotlin Releases, su kotlinlang.org.
  14. ^ (EN) The Kotlin Blog - Releases, su kotlinlang.org. URL consultato il 9 gennaio 2024.
  15. ^ Kotlin non ha al momento chiare linee guida per la pubblicazione di bug fixing. Di solito solo l'ultima feature release e le sue sottoversioni ricevono aggiornamenti e correzioni

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Kotlin

Collegamenti esterni

[modifica | modifica wikitesto]
  • (EN) Sito ufficiale, su kotlinlang.org. Modifica su Wikidata
  • Kotlin by JetBrains (canale), su YouTube. Modifica su Wikidata
  • (EN) Kotlin, su GitHub. Modifica su Wikidata
  • Repository sorgenti di Kotlin, su github.com. Modifica su Wikidata
  • (EN) Demo on line del linguaggio, su kotlin-demo.jetbrains.com. URL consultato il 29 gennaio 2012 (archiviato dall'url originale il 5 maggio 2012).
  • (EN) Repository dei plugin, su plugins.jetbrains.com.
  • (EN) Articolo di presentazione del linguaggio, su blog.joda.org.
  • (EN) Repository di esempi in Kotlin, su rosettacode.org.
V · D · M
Android
Sviluppo software
Strumenti di sviluppo ufficiali
UfficialiKit di sviluppo software (Android Debug Bridge · Fastboot · Android Package) · Android Native Development Kit · Kit di sviluppo Android Open Accessory · Bionic · RenderScript · Skia · Dalvik · Android Runtime · AdMob · Material Design · Font (Droid · Roboto · Noto) · Google Developers
AltriOpenBinder · Apache Harmony · OpenJDK · Gradle
Ambienti di sviluppo
integrati
(IDE)
Android Studio (IntelliJ IDEA) · Eclipse (Android Development Tools) · App Inventor
Linguaggi e databaseJava · Kotlin · XML · C · C++ · SQLite
Realtà virtualeCardboard · Daydream
Eventi e comunitàGoogle I/O · Developer Challenge · Android Open Source Project
Android logo
Versioni1.0 · 1.1 · Cupcake (1.5) · Donut (1.6) · Eclair (2.0–2.1) · Froyo (2.2) · Gingerbread (2.3) · Honeycomb (3.x) · Ice Cream Sandwich (4.0) · Jelly Bean (4.1–4.3) · KitKat (4.4) · Lollipop (5.x) · Marshmallow (6.0) · Nougat (7.x) · Oreo (8.x) · Pie (9) · 10 · 11 · 12 · 13 · 14 · 15
DerivatiAndroid Auto · Android Things · Android TV · Wear OS
Dispositivi mobili
PixelPixel e Pixel XL · 2 e 2 XL · 3 e 3 XL · 3a e 3a XL · C · 4 e 4 XL · 4a e 4a 5G · 5 · 5a · 6 · 7 · 8 · 9
NexusNexus One · Nexus S · Galaxy Nexus · Nexus 4 · Nexus 5 · Nexus 6 · Nexus 5X · Nexus 6P · Nexus 7 (2012 · 2013) · Nexus 10 · Nexus 9 · Nexus Q · Nexus Player
Play EditionHTC One (M7) · HTC One (M8) · LG G Pad 8.3 · Moto G · Samsung Galaxy S4 · Sony Xperia Z Ultra
AltroAndroid Go · Android One · Altri smartphone Android
Varianti personalizzate/e/ · Android-x86 · AOKP · Baidu Yi · Barnes & Noble Nook · ColorOS · CyanogenMod · Fire OS · Funtouch OS · Flyme OS · HyperOS · LineageOS · MIUI · Nokia X Software Platform · OmniROM · OxygenOS · Paranoid Android · Replicant · Ubuntu for Android · XobotOS
ApplicazioniAssistente (Google Now) · Earth (Sky) · Gmail · Google Chrome for Android · Goggles · Hangouts · Maps · Pay (Send) · Play (Giochi · Libri) · TV · Voice
APIGoogle Maps · Google Play Services · Google Search
Interfacce utente alternativeAsus ZenUI · HTC Sense · Google Pixel UI · LG UX (Optimus UI) · One UI (Experience · TouchWiz) · EMUI · MIUI
ElenchiApplicazioni per webmaster · Dispositivi Android · Distribuzioni derivate da Android AOSP · Servizi Google per Android · Servizi web di Google · Videogiochi per Android
Voci correlateGoogle · Chromecast · Java vs. Android API · Questioni giuridiche (Oracle contro Google · Guerra per i brevetti sugli smartphone) · XDA Developers · Rooting
  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Kotlin_(linguaggio_di_programmazione)&oldid=145164310"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022