Kotlin

Kotlin
Парадигма об'єктно-орієнтоване програмування, функційне програмування, імперативне програмування, структурне програмування, декларативне програмування, узагальнене програмування, Рефлексія і конкурентні обчислення
Дата появи 22 липня 2011
Творці JetBrains
Розробник JetBrains
Останній реліз 1.9.23 (7 березня, 2024; 59 днів тому (2024-03-07))
Тестова версія 2.0.0 Beta 5 (20 березня, 2024; 46 днів тому (2024-03-20))
Система типізації статична
Під впливом від Java, Scala, Groovy, Gosu, Ceylon, C#[1]
Платформа Java Virtual Machine
Операційна система будь-яка із тих, що підтримують JVM
Ліцензія Apache 2
Звичайні розширення файлів .kt або .kts
Репозиторій вихідного коду github.com/JetBrains/kotlin
Вебсайт kotlinlang.org

Kotlin (Ко́тлін) — статично типізована мова програмування, що працює поверх JVM і розробляється компанією JetBrains. Також компілюється в JavaScript. Мову названо на честь острова Котлін у Фінській затоці, на якому розміщена частина Кронштадту[2].

Автори ставили перед собою ціль створити лаконічнішу та типо-безпечнішу мову, ніж Java, і простішу, ніж Scala[2]. Наслідками спрощення, порівняно з Scala стали також швидша компіляція та краща підтримка IDE[3].

Мова розробляється з 2010 року, публічно представлена в липні 2011[1]. Початковий код було відкрито в лютому 2012[4]. В лютому було випущено milestone 1, який містив плагін для IDEA. У червні — milestone 2 з підтримкою Android[5]. У грудні 2012 року вийшов milestone 4 та забезпечив підтримку Java 7[6]. Станом на листопад 2015 року основні можливості мови стабілізовані, готується реліз версії 1.0[7]. В грудні 2015 року з'явився реліз-кандидат версії 1.0, а 15 лютого 2016 року відбувся реліз версії 1.0.

З 17 травня 2017 року входить в список офіційно підтримуваних мов для розробки застосунків для платформи Android.[8]

З 7 травня 2019 року є рекомендованою мовою програмування для розробки Android застосунків.[9]

15 листопада 2023 року було випущено мажорну бета версію kotlin 2.0.0 Beta1

Синтаксис

Процедурний стиль програмування

Kotlin послаблює обмеження Java, що дозволяє статичним методам та змінним існувати лише в тілі класу. Статичні об'єкти та функції можуть бути визначені на верхньому рівні пакету без необхідності створення надлишкового рівня класів. Для сумісності з Java у Kotlin передбачено анотацію JvmName, яка визначає ім'я класу, що використовується, коли пакунок переглядається з проекту Java.

Точка входу

Як і у C, C++, C#, Java та Go, точкою входу до програми на Kotlin є функція з назвою "main", якій можна передати масив, що містить будь-які аргументи командного рядка. Це необов'язково, оскільки у Kotlin 1.3 підтримується інтерполяція рядків у стилі командного рядка Perl, PHP та Unix. Також підтримується виведення типів.

// Hello, World! 
fun main() {
    val scope = "World"
    println("Hello, $scope!")
}

fun main(args: Array<String>) {
    for (arg in args)
        println(arg)
}

Див. також

Примітки

  1. а б JetBrains produces another Java alternative. The H. 22 липня 2011. Архів оригіналу за 27 липня 2013. Процитовано 29 жовтня 2015.(англ.)
  2. а б Kotlin — конкурент Java і Scala. Открытые системы[ru]. липень 2011. Архів оригіналу за 10 січня 2014. Процитовано 29 жовтня 2015.(рос.)
  3. Андрей Бреслав. Язык программирования Kotlin // Открытые системы[ru]. — 2011. — № 09.(рос.)
  4. Java-alternative Kotlin now available as open source. The H. 14 лютого 2012. Архів оригіналу за 27 липня 2013. Процитовано 29 жовтня 2015.(англ.)
  5. Kotlin M2 now runs on Android too. The H. 04 червня 2012. Архів оригіналу за 24 липня 2013. Процитовано 29 жовтня 2015.(англ.)
  6. Fourth Kotlin milestone adds annotation tool. The H. 12 грудня 2012. Архів оригіналу за 27 липня 2013. Процитовано 29 жовтня 2015.(англ.)
  7. Kotlin 1.0 Beta 2 is Out!. 16 листопада 2015. Архів оригіналу за 30 грудня 2015. Процитовано 29 грудня 2015.(англ.)
  8. Android Announces Support for Kotlin. Android Developers Blog (амер.). Архів оригіналу за 18 травня 2017. Процитовано 18 травня 2017.
  9. Kotlin is now Google’s preferred language for Android app development. TechCrunch (амер.). Процитовано 8 травня 2019.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)

Посилання

  • Офіційний сайт мови Kotlin(англ.)
  • Андрей Бреслав. Язык программирования Kotlin // Открытые системы[ru]. — 2011. — № 09.(рос.)
  • Kotlin в открытых кодах. Computerworld Россия[en]. квітень 2012. Архів оригіналу за 14 квітня 2016. Процитовано 29 жовтня 2015.(рос.)
  • Интервью с COO компании JetBrains Андреем Ивановым. Реактивные мозги // Журнал Хакер. — 26.03.2013.(рос.)
  • Janice J. Heiss (April 2013). The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav. Oracle Technology Network. Архів оригіналу за 10 липня 2013. Процитовано 29 жовтня 2015.(англ.)
  • Language of the Month: Kotlin. Language of the Month: Kotlin // Dr. Dobb's Journal[en]. — 20 January, 2012., Andrew Binstock. The JVM As Language Farm Club // Dr. Dobb's Journal[en]. — February 14, 2012.(англ.)
  • Eric Bruno. A Long Look at JVM Languages // Dr. Dobb's Journal[en]. — November 19, 2012.(англ.)
  • п
  • о
  • р
Інтегроване середовище розробки
.NET і Visual Studio
  • ReSharper
  • dotTrace[ru]
  • dotMemory
  • dotCover
  • dotPeek
  • ReSharper C++
Колективна робота
Мови програмування
  • Meta Programming System[ru]
  • Kotlin
Освіта
Категорія Категорія
  • п
  • о
  • р
Низькорівневі
Високорівневі
Загального
призначення
Серверні
Запитів до баз
даних[суперечливо 1]
Розмітки та векторної
графіки[суперечливо 1]
Синхронні[en]
  • Lustre[en]
Символьних та
чисельних обчислень
Квантових обчислень
Логічні
  • Mercury[en]
  • Prolog
Академічні
Езотеричні
  1. а б Немає загальноприйнятого рішення, чи вважати усі ці мови саме мовами програмування


Мова програмування Це незавершена стаття про мови програмування.
Ви можете допомогти проєкту, виправивши або дописавши її.