JavaOne2012: Kotlin: Practical Aspects of JVM Language Implementation
1. Kotlin: How Things Work
Practical Aspects of JVM Language
Implementation
Andrey Breslav
Tuesday, October 2, 12
2. Why you should care
• Language is an abstraction
➡ thus it leaks
abstraction
• When something weird happens
➡ you may need to "see through the Matrix"
2
Tuesday, October 2, 12
3. tetris is way too easy
when played this way
3
Tuesday, October 2, 12
4. JVM & Its Languages
What's
i n...
otl
e , K possible?
sur
Clo
vy,
G roo
,
Sc ala
Java
t
1995 2012
4
Tuesday, October 2, 12
5. About Me
• Project lead of Kotlin
➡ at JetBrains since 2010
(not
(RICH HICKEY))
• EG member of JSR-335
➡ Project Lambda
5
Tuesday, October 2, 12
6. Kotlin
Modern Language for Industry
• Smart compiler • Static typing
➡ Less boilerplate • Readability
• Flexible abstractions • Tool support
➡ Powerful libraries • Interoperability
6
Tuesday, October 2, 12
7. Outline
• Extensions
• Bridges of All Sorts
• Types: Collections and Nulls
• Dreams... (maybe)
7
Tuesday, October 2, 12
8. Extensions
• Live Demo
➡ Extension syntax
➡ How it is compiled
➡ Multiple files in a package
8
Tuesday, October 2, 12