kotlin: incompetence * motivation = innovation?

21
Wednesday, October 3, 12

Upload: andrey-breslav

Post on 15-Jan-2015

600 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Kotlin: Incompetence * Motivation = Innovation?

Wednesday, October 3, 12

Page 2: Kotlin: Incompetence * Motivation = Innovation?

About Me

• Project lead of Kotlin ➡ at JetBrains since 2010

• EG member of JSR-335➡ Project Lambda

2

Andrey Breslav

Wednesday, October 3, 12

Page 3: Kotlin: Incompetence * Motivation = Innovation?

Outline

• Where Kotlin comes from

• Where features come from

3

Wednesday, October 3, 12

Page 4: Kotlin: Incompetence * Motivation = Innovation?

Motivation

4

1995 2012

Wednesday, October 3, 12

Page 5: Kotlin: Incompetence * Motivation = Innovation?

5

Modern languagefor Industry

Right Abstractions Safety Tool Support

Interoperability

Wednesday, October 3, 12

Page 6: Kotlin: Incompetence * Motivation = Innovation?

6Users

Expert

Wednesday, October 3, 12

Page 7: Kotlin: Incompetence * Motivation = Innovation?

6

Change theworld!

UsersExpert

Wednesday, October 3, 12

Page 8: Kotlin: Incompetence * Motivation = Innovation?

6

Change theworld!

UsersExpert

Wednesday, October 3, 12

Page 9: Kotlin: Incompetence * Motivation = Innovation?

6

Change theworld!

UsersExpert

It's impossible!

Wednesday, October 3, 12

Page 10: Kotlin: Incompetence * Motivation = Innovation?

Incompetence

• Thinking out of the box

• Without knowing it

7

LampsGreat for requirements!

Wednesday, October 3, 12

Page 11: Kotlin: Incompetence * Motivation = Innovation?

Competence

8

Great for implementations

(if you have enough courage)

Wednesday, October 3, 12

Page 12: Kotlin: Incompetence * Motivation = Innovation?

9

– We hate writing stupid constructors!..

– And getters/setters!..

– We want to use fields!..

Wednesday, October 3, 12

Page 13: Kotlin: Incompetence * Motivation = Innovation?

10

– Can't I just say 3.toString()?

Wednesday, October 3, 12

Page 14: Kotlin: Incompetence * Motivation = Innovation?

11

– String doesn't have enough methods!..

Wednesday, October 3, 12

Page 15: Kotlin: Incompetence * Motivation = Innovation?

12

– One return value is too restricting!..

Wednesday, October 3, 12

Page 16: Kotlin: Incompetence * Motivation = Innovation?

13

– List<String> contains objects, doesn't it?!.

Wednesday, October 3, 12

Page 17: Kotlin: Incompetence * Motivation = Innovation?

Kotlin's Collections

14

Wednesday, October 3, 12

Page 18: Kotlin: Incompetence * Motivation = Innovation?

15

– Can you figure out those nulls?!.

Wednesday, October 3, 12

Page 19: Kotlin: Incompetence * Motivation = Innovation?

16

– Doesn't it know that <TD> must be inside a <TR>?!.

Wednesday, October 3, 12

Page 20: Kotlin: Incompetence * Motivation = Innovation?

17

– I could use it for the browser, types and all...

Wednesday, October 3, 12

Page 21: Kotlin: Incompetence * Motivation = Innovation?

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