kotlin: incompetence * motivation = innovation?
DESCRIPTION
TRANSCRIPT
Wednesday, October 3, 12
About Me
• Project lead of Kotlin ➡ at JetBrains since 2010
• EG member of JSR-335➡ Project Lambda
2
Andrey Breslav
Wednesday, October 3, 12
Outline
• Where Kotlin comes from
• Where features come from
3
Wednesday, October 3, 12
Motivation
4
1995 2012
Wednesday, October 3, 12
5
Modern languagefor Industry
Right Abstractions Safety Tool Support
Interoperability
Wednesday, October 3, 12
6Users
Expert
Wednesday, October 3, 12
6
Change theworld!
UsersExpert
Wednesday, October 3, 12
6
Change theworld!
UsersExpert
Wednesday, October 3, 12
6
Change theworld!
UsersExpert
It's impossible!
Wednesday, October 3, 12
Incompetence
• Thinking out of the box
• Without knowing it
7
LampsGreat for requirements!
Wednesday, October 3, 12
Competence
8
Great for implementations
(if you have enough courage)
Wednesday, October 3, 12
9
– We hate writing stupid constructors!..
– And getters/setters!..
– We want to use fields!..
Wednesday, October 3, 12
10
– Can't I just say 3.toString()?
Wednesday, October 3, 12
11
– String doesn't have enough methods!..
Wednesday, October 3, 12
12
– One return value is too restricting!..
Wednesday, October 3, 12
13
– List<String> contains objects, doesn't it?!.
Wednesday, October 3, 12
Kotlin's Collections
14
Wednesday, October 3, 12
15
– Can you figure out those nulls?!.
Wednesday, October 3, 12
16
– Doesn't it know that <TD> must be inside a <TR>?!.
Wednesday, October 3, 12
17
– I could use it for the browser, types and all...
Wednesday, October 3, 12
Kotlin Resources
• Docs: http://kotlin.jetbrains.org
• Demo: http://kotlin-demo.jetbrains.com
• Code: http://github.com/jetbrains/kotlin
• Twitter:➡ @project_kotlin
➡ @abreslav
18
Wednesday, October 3, 12