Kotlin
Kotlin is a statically typed general-purpose programming language that targets the JVM and other platforms and interoperates with Java.
Kotlin in Action, 2E
Kotlin is a statically typed programming language designed to interoperate with Java and run across multiple execution environments.
- How it is used
- Supports Android, server-side, JVM, and cross-platform development while enabling gradual Java-project adoption.
- How deep it goes
- Introduces syntax through runnable examples, then explains typing, functional style, safety, interoperability, tools, and JVM compilation.
- Examples
- Demonstrates a Person collection, Spring Boot JSON service, Ktor routes, and a Jetpack Compose expandable message card.
- What you can do after
- Apply it via IntelliJ IDEA, Android Studio, or the online playground to write and run Kotlin programs.
The Art of Code
A statically typed programming language that runs on the JVM and provides explicit nullability in its type system.
- How it is used
- Uses null-safe expressions and expressive type-based control flow to keep engineering intent visible in everyday code.
- How deep it goes
- Explains nullability, safe calls, Elvis fallback, smart casts, and sealed when exhaustiveness through comparative code examples.
- Examples
- Uses product pricing chains and Book subtype promotion messages as concrete examples of concise, safe control flow.
- What you can do after
- Evaluate Kotlin designs for readability, cognitive complexity, null-safety, and compiler-enforced coverage of sealed cases.
Related concepts
- JVMuses · The Java Virtual Machine is an abstract runtime environment that executes Java bytecode and compatible compiled code according to defined execution semantics.
- static typingkind of · Static typing is a type-system discipline in which program types are determined or checked before execution, typically during compilation or static analysis.
- multiparadigm languagekind of · A multiparadigm programming language supports programming according to more than one distinct programming paradigm, such as object-oriented and functional styles.
- function typeuses · A function type is a type that specifies the parameter types and return type of callable values.
- nullable typeuses · A nullable type is a type whose values may be either a value of the underlying type or an explicit representation of absence, such as null.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

