(cover image credited to unsplash/@mreichelt)
- 🔖 Bookmark this page ☝🏽☝🏽 | Be notified of updates!
- ✅ Follow #kotlinfyi and #kotlin tags | Find relevant people!
- 📚 Read my Kotlin FYI series | Start your #30Days Journey
The 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!
By definition Kotlin:
- is a modern programming language
- that is open-source
- that is safe, concise and interoperable (with Java)
- that is tool-friendly (IDE & CLI)
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 for Android
So what is a modern programming language? This article 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).
Android is now 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!