Kotlin
Logo języka Kotlin
Logo języka
Pojawienie się

2011

Paradygmat

wieloparadygmatowy (obiektowy, strukturalny, imperatywny)

Typowanie

statyczne

Implementacje

Kotlin (oficjalna)

Pochodne

brak

Aktualna wersja stabilna

Kotlin 2.4.0
(3 czerwca 2026) [±]

Twórca

JetBrains i autorzy open source

Licencja

Apache 2.0

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

Windows, Linux, Solaris[1][2]

Strona internetowa

Kotlin – statycznie typowany język programowania działający na maszynie wirtualnej Javy, który jest głównie rozwijany przez programistów JetBrains. Nazwa języka pochodzi od wyspy Kotlin niedaleko Petersburga[3]. Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z językami działającymi na maszynie wirtualnej Javy.

Historia

edytuj

W lipcu 2011 JetBrains zaprezentował projekt Kotlin, nowy język na JVM[4]. Główny programista JetBrains Dmitry Jemerov stwierdził, że większość języków nie miała cech, których potrzebowali, z wyjątkiem Scali, która kompiluje się zbyt wolno w stosunku do oczekiwań twórców Kotlina[4]. Jednym z wymienianych celów języka jest czas kompilacji na poziomie Javy. W lutym 2012 JetBrains otworzył kod projektu na licencji Apache 2.0[5].

Filozofia

edytuj

Według programisty Andrieja Briesława, Kotlin został zaprojektowany jako przemysłowy, obiektowy język w pełni interoperacyjny z kodem napisanym w Javie, pozwalając firmom na stopniową migrację bazy kodu z Javy do Kotlina[6], wprowadzając m.in. eliminację błędów odwołania (null-pointer safety)[7], funkcje rozszerzeń czy notację infiksową (tworzenie nowych operatorów i przeciążanie operatorów)[8].

Składnia

edytuj

Podobnie jak w językach Pascal, Haxe, PL/SQL, F#, Go, czy Scala typ danych w deklaracjach zmiennych umiejscowiony jest po nazwie, od której oddzielony jest dwukropkiem. Średniki na końcu wiersza są opcjonalne[9].

Semantyka

edytuj

Oprócz klas i metod (nazywanych przez dokumentację jako member functions), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[10].  Podobnie jak w Javie, klasycznym punktem wejścia do programu w Kotlinie jest funkcja main, do której przekazywana jest tablica z argumentami podanymi w linii poleceń.

Przykład programu Hello world napisanego w języku Kotlin:

fun main(args: Array<String>) {
  val scope = "world"
  println("Hello, $scope!")
}

Oficjalne narzędzia

edytuj

W ramach oficjalnego wsparcia języka dla różnych platform, producent języka wydał dla środowiska IntelliJ IDEA wtyczkę dodającą wsparcie dla Kotlina[11], natomiast od wersji 15 jest ona już wbudowana do IDE jako standardowa funkcja[12]. Dostępna jest także wtyczka dla środowiska Eclipse[13]. Ponadto Kotlin współpracuje z takimi narzędziami jak Apache Maven, Apache Ant czy Gradle[14].

Zastosowania

edytuj

Jednym z zastosowań języka Kotlin jest platforma Android. Został on ogłoszony oficjalnym językiem programowania na konferencji Google I/O 2017[15].

Przypisy

edytuj
  1. Supported System Configurations for non-Itanium platforms → Lista implementacji poza architekturą Itanium.
  2. About 1.6.0_22 (6u22) for the Itanium® architecture → Uwagi do wydania 1.6.0_22 (6u22) dla architektury Itanium.
  3. Janice Heiss: The Advent of Kotlin: A Conversation with JetBrains’ Andrey Breslav. Oracle Technology Network, 2013-04. [dostęp 2015-11-22]. (ang.).
  4. a b Paul Krill: JetBrains readies JVM language Kotlin. InfoWorld, 2011-07-22. [dostęp 2015-11-22]. (ang.).
  5. John Waters: Kotlin Goes Open Source. 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2018-05-10]. (ang.).
  6. JRebel: JVM Languages Report extended interview with Kotlin creator Andrey Breslav. 2013-04-22. [dostęp 2019-06-27]. (ang.).
  7. Griffiths i Griffiths 2020 ↓, s. 2. Cytat: „Kotlin niemal w całości eliminuje wiele rodzajów błędów, które powszechnie występują w innych językach programowania. A to oznacza solidniejszy, bardziej niezawodny kod i mniej czasu spędzonego na tropienie i usuwanie błędów.”.
  8. Operator overloading – Kotlin [online], Kotlin Help [dostęp 2024-10-23] (ang.).
  9. „Semicolons”. jetbrains.com.
  10. „functions”. jetbrains.com.
  11. „Jetbrains Plugin Repository:Kotlin”.
  12. What’s New in IntelliJ [online], www.jetbrains.com [dostęp 2019-06-27].
  13. „Kotlin for Eclipse”.
  14. „Compiler Plugins”.
  15. Maxim Shafirov, Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2019-06-26] (ang.).

Bibliografia

edytuj

Linki zewnętrzne

edytuj

📚 Artikel Terkait di Wikipedia

Typ generyczny

definicja może tworzyć wyspecjalizowane warianty (np. Lista<int> i Lista<string>), bez potrzeby tworzenia osobnych implementacji dla każdego typu elementów

Hasło (kryptografia)

przekształcenia zdefiniowano w 1998 roku w standardzie OpenPGP pod nazwą S2K (string to key). Współczesne funkcje stosowane do tego celu określa się nazwą PBKDF

Eiffel (język programowania)

class HELLO_WORLD creation make feature make is local do std_output.put_string("Hello, world") std_output.put_new_line end end Język został zaprojektowany

Embarcadero Delphi

predefiniowany typ string) przebiega w bardzo wygodny sposób za pomocą znaku „+”. Nie potrzeba ręcznie alokować pamięci dla typu string. Znaczna ewolucja

Chromodynamika kwantowa

Chromodynamics (ang.) Andreas S Kronfeld Quantum chromodynamics with advanced computing (ang.) Model standardowy daje właściwą odpowiedź. sciencenews.org. [zarchiwizowane

Historia informatyki

Isaacson(inne języki) skomponowali Illiac Suite for String Quartet (znane również pod tytułem String Quartet No. 4. Utwór stanowił wynik prac Hillera i

Bezpieczeństwo teleinformatyczne

bufora, nadużycie szablonu formatowania funkcji *printf() (ang. format string attack) czy przekroczenie zakresu liczb całkowitych. Częstym efektem błędów

OpenMP

OMP_SCHEDULE. #include <omp.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <unistd.h> /*defines the total amount of iterations*/