Syntax for Java Eyes
The same ideas, spelled more concisely.
Kotlin's everyday syntax, taught by contrast with the Java you'd write for the same thing: val over final, type inference, functions with default and named arguments, if/when/try as expressions that return values, string templates, unified number types, ranges, and Kotlin's take on packages, visibility, and exceptions.
Lessons in this stage
- 01
val, var & Type Inference
BeginnerDeclaring variables: val (immutable, like final) vs var, and type inference that drops the ceremony without losing static typing - immutability as the default habit.
12 min - 02
Functions, Defaults & Named Args
IntermediateThe fun keyword, expression-body functions, and the two features that kill overloads and builders: default parameter values and named arguments at the call site.
14 min - 03
Everything Is an Expression
Intermediateif, when, and try return values in Kotlin, so there's no ternary operator and no temporary-then-assign dance - and when is a far more powerful switch.
14 min - 04
Strings & Basic Types
BeginnerString templates instead of concatenation, triple-quoted raw strings, and a type system with no primitives - Int, Long, Double are real types, unified but compiled efficiently.
12 min - 05
Control Flow & Ranges
Beginnerfor over ranges and collections, ranges as first-class values (1..10, until, downTo, step), and why Kotlin drops the C-style for loop for something more readable.
12 min - 06
Packages, Visibility & Exceptions
IntermediatePackage and import rules, visibility modifiers (public by default, plus internal), top-level declarations - and the big one for Java devs: Kotlin has no checked exceptions.
13 min