
First What is kotlin ?
A Modern Programming Language.
Kotlin is a general purpose, free, open source, statically typed “pragmatic” programming language initially designed for the JVM (Java Virtual Machine) and Android that combines object-oriented and functional programming features. It is focused on interoperability, safety, clarity, and tooling support. Versions of Kotlin targeting JavaScript ES5.1 and native code (using LLVM) for a number of processors are in production as well.
Kotlin originated at JetBrains, the company behind IntelliJ IDEA, in 2010, and has been open source since 2012. JetBrains uses Kotlin in many of its products including its flagship IntelliJ IDEA.
It can run on numerous platforms. You can apply the twinning of functionalities by miniature codes in Kotlin.
The name of the language represents the name of an island according to Wikipedia: “Kotlin is a Russian island, located near the head of the Gulf of Finland, 32 kilometres (20 mi) west of Saint Petersburg in the Baltic Sea.”

Kotlin is popular language: According stackoverflow flow developer survey it rank as the 4th most programming language.
In 2017 Google officially announced at Google I/O that Kotlin is a first-class citizen in the Android world.
App Built With Kotlin

Kotlin is 100% interoperable with Java

Build For & Good For


Why Kotlin?
Concise
Drastically reduce the amount of boilerplate code
/*
Create a POJO with getters, setters, `equals()`, `hashCode()`, `toString()` and `copy()` in a single line:
*/
data class Student(val name: String, val email: String, val address: String)
// Filter a list using lambda expression:
val positiveNumbers = list.filter { it > 0 }
// Singletone?
object IsASingletone {
val compnayName: String = "KotlinSchool"
}
Safe
Avoid null pointer exception
/*
Get rid of those pesky NullPointerExceptions, you know, The Billion Dollar Mistake
*/
var output: String
output = null // Compilation error
// Kotlin protects you from mistakenly operating on nullable types
val name: String? = null // Nullable type
println(name.length()) // Compilation error
// And if you check a type is right, the compiler will auto-cast it for you
fun calculateTotal(obj: Any) {
if (obj is Invoice)
obj.calculateTotal()
}
Interoperable
Existing lib for JVM, Android and the browser
/*
Use any existing library on the JVM, as there’s 100% compatibility, including SAM support.
*/
import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers
Flowable
.fromCallable {
Thread.sleep(1000) // imitate expensive computation
"Done"
}
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.single())
.subscribe(::println, Throwable::printStackTrace)
// Target either the JVM or JavaScript. Write code in Kotlin and decide where you want to deploy to
import kotlin.browser.window
fun onLoad() {
window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}
Now why KotlinSchool.com
- kotlinschool.com is designed for new learner, professional and who want to learn kotlin as interested purpose. kotlinschool.com website provide small code snippet and example with all platform (Mobile , Web , Back end & multi platform).
- kotlinschoo.com provide all information about kotlin language with new kotlin version changes with example.