Kotlin

**Kotlin** (Котлин) — як забони барноманависии статикӣ чопшуда, ба объект нигаронидашуда аст, ки дар болои мошини виртуалии Java кор мекунад ва аз ҷониби JetBrains таҳия шудааст. Инчунин ба JavaScript ва коди иҷрошаванда дар як қатор платформаҳо тавассути инфрасохтори LLVM тартиб медиҳад. Забон ба номи ҷазираи Котлини Русия дар Халиҷи Финландия, ки дар он шаҳри Кронштадт ҷойгир аст .

Ҳадафи муаллифон эҷод кардани забоне буд, ки нисбат ба Java мухтасартар ва бехатартар ва аз Scala соддатар бошад . Соддасозӣ дар муқоиса бо Scala инчунин боиси тезтар тартиб додан ва дастгирии беҳтари забон дар IDE гардид  . Забон бо Java комилан мувофиқ аст, ки ба таҳиягарони Java имкон медиҳад, ки тадриҷан ба истифодаи он гузаранд; аз ҷумла, ин забон низ Android-ро дарунсохт, ки имкон медиҳад як барномаи мавҷудаи Android хусусиятҳои навро дар Котлин бидуни дубора навиштани тамоми барнома амалӣ кунад.

## Таърих
Ин забон аз соли 2010 таҳти роҳбарии Андрей Бреслав   таҳия шуда, моҳи июли соли 2011  пешкаши омма гардид. Рамзи сарчашма барои татбиқи забон дар моҳи феврали соли 2012 кушода шуд  . Milestone 1 дар моҳи феврал бароварда шуд, аз ҷумла плагин барои IDEA . Дар моҳи июн - марҳилаи 2 бо дастгирии Android  . Дар моҳи декабри соли 2012 марҳилаи 4 бароварда шуд, аз ҷумла, дастгирии Java 7  .

Дар моҳи феврали соли 2016, версияи расмии номзади версияи 1.0  ва 15 феврали соли 2016 нашри 1.0  бароварда шуд. Нашри 1.1 1 марти соли 2017 бароварда шуд  .

Дар моҳи майи соли 2017 Google эълон кард, ки абзорҳои забони Kotlin дар асоси JetBrains IDE ҳамчун стандарт ба Android Studio 3.0, воситаи расмии таҳияи OS Android дохил карда мешаванд  .

Дар Google I/O 2019 эълон шуд, ки забони барномасозии Котлин ба авлавияти таҳияи Android табдил ёфтааст  .

Моҳи ноябри соли 2020 Бреслав эълон кард, ки аз JetBrains хориҷ мешавад; идоракунии рушди забон ба Роман Елизаров  гузашт.

## Синтаксис
Синтаксиси забон пеш аз ҳама меросро аз ду шохаи забон муттаҳид мекунад: C / C++ / Java ва ML (ба гуфтаи эҷодкорон, тавассути Scala ). Аз унсурҳои хостарин блокҳои код, ки бо қавсҳои ҷингила иҳота шудаанд, аз шохаи якум мерос гирифта мешаванд; ва аз дуюм - нишонаи постфикси навъҳои тағирёбанда ва параметрҳо (аввал идентификатор, баъд ҷудокунанда - ду нуқта ва баъд навъи) ва калимаҳои калидӣ " `fun` " ва " `val` ". Нуқтаи вергул ҳамчун ҷудокунандаи изҳорот ихтиёрӣ аст (ба мисли Scala, Groovy ва JavaScript); дар аксари мавридҳо, як сатри нав кофӣ аст, то компилятор фаҳмад, ки ифода ба охир расидааст. Ба ғайр аз равиши ба объект нигаронидашуда, Котлин инчунин услуби мурофиавиро бо истифода аз функсияҳо дастгирӣ мекунад. Тавре ки дар C, C++ ва D, нуқтаи вуруд ба барнома вазифаи `main` мебошад, ки массиви параметрҳои сатри фармонро қабул мекунад. Барномаҳои Kotlin инчунин интерполятсияи сатри Perl ва сабки shell- ро дастгирӣ мекунанд (тағйирёбандаҳои ба сатр дохилшуда бо мундариҷаи онҳо иваз карда мешаванд). Хулосаи навъи низ дастгирӣ карда мешавад.

## Намунаҳои код

```kotlin
fun main() {
 val scope = "world"
 println("Hello, $scope!")
}
```

```kotlin
fun sayHello(nullable: String?, neverNull: Int) {
  // use of elvis operator
  val name: String = nullable ?: "stranger"
  println("Hello $name")
}
```

```kotlin
// returns null if foo is null, or bar() returns null, or baz() returns null
 foo ?. bar() ?. baz()
```


## Эзоҳ

## Адабиёт

* 
* 

## Пайвандҳо

* 
* 
* Андрей Бреслав. Язык программирования Kotlin // Открытые системы. — 2011. — № 09.
* 
* Интервью с COO компании JetBrains Андреем Ивановым. Реактивные мозги // Журнал Хакер. — 26.03.2013.
* 
* Language of the Month: Kotlin. Language of the Month: Kotlin // Dr. Dobb's Journal. — 20 January, 2012., Andrew Binstock. The JVM As Language Farm Club // Dr. Dobb's Journal. — February 14, 2012.
* Eric Bruno. A Long Look at JVM Languages // Dr. Dobb's Journal. — November 19, 2012.

 

Гурӯҳ:Википедия:Мақолаҳои бо сарчашма аз Викидода
Гурӯҳ:JetBrains
Гурӯҳ:Забонҳои барноманависӣ