Kotlin FYI: Kotlin In Thirty Seconds
Tags: kotlinfyi, kotlin, inthirtyseconds, beginners
Published: 2020-08-04 03:38:56

---
title: Kotlin FYI: Kotlin In Thirty Seconds
published: true
description: What is Kotlin and where is it useful? Get the "Picture" with a 30-second introduction to Kotlin
tags: kotlinfyi, kotlin, inthirtyseconds, beginners
series: 30 Days of Kotlin
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/jwu2w4bnsueqi1sturab.png
---
_(cover image credited to [unsplash/@mreichelt](https://unsplash.com/photos/azJJSiwWW90))_

---

#### Interested in **Kotlin**? 3 things you can do right now:

{% link https://dev.to/nitya/kotlin-learning-resources-for-beginners-43g4 %}

 * 🔖 Bookmark this page ☝🏽☝🏽 | _Be notified of updates!_
 * ✅ Follow [#kotlinfyi](https://dev.to/t/kotlinfyi) and [#kotlin](https://dev.to/t/kotlin) tags | _Find relevant people!_
 * 📚 Read my [_Kotlin FYI_] (https://dev.to/t/kotlinfyi/latest) series | _Start your #30Days Journey_

---

## About Kotlin

The [inthirtyseconds](https://dev.to/t/inthirtyseconds) tag challenges you to explain a concept in 30 seconds or less. So here goes - a visual guide to Kotlin! Did you scan it in under a minute? I bet you learned something too - I call it a win!

---

![Visual sketchnote explaining Kotlin - what it is and where it can be used](https://dev-to-uploads.s3.amazonaws.com/i/a1c0gc8sv0z2tszh9j6e.jpg)

---

By [definition](https://kotlinlang.org/) Kotlin:
 * is a modern programming language
 * that is open-source
 * that is safe, concise and interoperable (with Java)
 * that is tool-friendly (IDE & CLI)
 * that transpiles to Javascript

---

Kotlin is good for:
 * mobile _cross-platform_ development (Android + iOS)
 * native development (embedded OS)
 * web development (transpiled to JS)
 * server-side development (Java server-side frameworks)
 * data science (Jupyter Kotlin kernel)

It is also [the preferred programming language](https://developer.android.com/kotlin) for Android

---

## About Modern Programming Languages

So what **is** a modern programming language? [This article](https://towardsdatascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec) explained it best; it's one that _takes advantage of modern day software development tools, techniques and ecosystems_ including:

 * multi-core CPU
 * GPU (acceleration)
 * fast networks
 * mobile devices
 * cloud computing
 * container architectures

--- 

As a result, it incurs less technical debt (to sustain legacy code) and demonstrates productive characteristics like:

 * concise code (less boilerplate)
 * built-in concurrency (async operations)
 * null pointer safety
 * type inference
 * lower cognitive load
 * simpler feature set

---

Kotlin is one of the fastest growing modern programming languages (alongside Dart and Rust). Two signature features include its structured concurrency (_coroutines_) and ability to share code across targets (_multiplatform_).

## Kotlin vs. Java

Android is now [Kotlin-First](https://developer.android.com/kotlin/first) making Java the secondary choice for development. So how does Kotlin relate to Java?
 * Java ("programming language") is verbose and complex but the JVM ("runtime") is battle-hardened and efficient.
 * Kotlin makes the programming language simpler & modern while remaining 100% interoperable with the JVM, allowing existing Java libraries to be used

---

That's probably more than 30 seconds worth but I hope it was useful. Questions or comments? Leave them below - and keep checcking back for updates!