Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kotlin: Where We Stand & What's Next (K-Night)
Search
Andrey Breslav
May 18, 2016
Programming
22k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin: Where We Stand & What's Next (K-Night)
Andrey Breslav
May 18, 2016
Other Decks in Programming
See All in Programming
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
160
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.6k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Next.js: The final boss of Web Performance
guaca
0
390
Secure Your Coding Agent Like It’s Malware (v1.5) 🇬🇧 @Code.talks 2026
richargh
0
110
SODA - FACT BOOK(EN)
sodainc
1
220
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.5k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
190
Modernizing iOS Apps
seyfoyun
0
150
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
300
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Optimizing for Happiness
mojombo
378
71k
Everyday Curiosity
cassininazir
0
400
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
Crafting Experiences
bethany
1
430
HDC tutorial
michielstock
2
1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Deep Space Network (abreviated)
tonyrice
0
410
A Tale of Four Properties
chriscoyier
163
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
Transcript
Where We Stand & What’s Next Andrey Breslav
Learning materials • kotlinlang.org – Language Reference – API Reference
– Tutorials – Talk Videos • try.kotlinlang.org – Mini-IDE in your browser – Kotlin Koans • Kotlin EDU Plug-in • + books, and much more
Where We Stand • Kotlin 1.0 released in Feb, 2016
– 1.0.1 in March – 1.0.2 in May – 1.0.3 in the summer • 1.1 is feature-driven – EAP will start this summer
Others like it (and so will you J)
You are not alone • Lively community – Slack, Forums, StackOverflow
– 100+ OSS contributors • Responsive Team – Regular bugfix updates – Frequent EAP builds
KEEP • Kotlin Evolu\on & Enhancement Process – Proposals from JB
and Community – Feedback – Discussions • h_ps://github.com/Kotlin/KEEP
OUR PLANS
Lines of Development • 1.0.X — incremental updates – Bugfixes,
Performance – Tooling – Source Compa7bility*: Full • 1.1 — language release – Language features – Source Compa7bility*: Backward * modulo bugfixes
Tooling Plans: 1.0.X • Incremental compila\on in Gradle • Spring
Support in the IDE • Reducing the Standard Library Size • Android Lint Checks • Jack&Jill Support
New Targets • Java 8/9 – Generate default methods in
interfaces – Support new collec\on APIs (Streams etc) • JavaScript – Run\me modules (amd, umd, common.js, …) – Common toolchains (npm, browserify, gulp, ...) • Na\ve – iOS – Embedded – Server-side
Scrip\ng: example.kts #!/usr/bin/kotlin <define dependencies> import java.io.* for (file in
File(“.”).listFiles()) println(file.name)
Type Aliases typealias Int32 = Int typealias Predicate<T> = (T)
-> Boolean • Not a “newtype” – Int can be assigned to Int32 and vice versa – Value types will cover the newtype use case (later)
Bound Method References val p: Predicate<String> = “foo”::equals // behaves
as { x -> “foo”.equals(x) } val c: KClass<Foo> = x.foo()::class • Kotlin 1.0 only supports Type::foo/Type::class
Enhancements for Proper\es • Local delegated proper\es – fun foo()
{ val lazyBar by lazy { ... } while (...) { if (...) { lazyBar.doBaz() ... } • Inline proper\es – val foo: Foo inline get() = ... inline set(v) { ... }
Hierarchies for Data Classes data class User(val name: String, val
age: Int) – equals()/hashCode()/toString() – copy() • val newUser = someUser.copy(name = “Jane Doe”) – componentN() • val (name, age) = someUser • sealed class C() { data class Example(…) : C() }
Destructuring in Lambdas myMap.forEach { (k, v) -> println(“$k =>
$v”) } Map.Entry<K, V> destructured
None
async/await fun loadImage(url: URL) = async { val bytes =
await(loadBytes(url)) bytesToImage(bytes) } Suspension point Asynchronous computa\on
Corou\nes • Covers async/await/yield, and much more • Maximum flexibility
– Support for virtually all exis\ng asynchronous APIs – Language is not bound to a given Task framework
Corou\nes: Example fun loadImage(url: URL) = async { val bytes
= await(loadBytes(url)) bytesToImage(bytes) } Library Func\ons, not keywords!
Conclusion • Come take part in KEEP
None
And One More Thing…
Images used • h_p://i.huffpost.com/gen/1307774/thumbs/o-PAGATI-PER-VIAGGIARE-facebook.jpg • h_ps://vanuatudaily.files.wordpress.com/2012/10/no-school-today-in-vanuatu.jpg • h_p://laubach.extapps.alphaplus.ca/pluginfile.php/2535/course/summary/learning%20materials.JPG • h_p://images.clipartpanda.com/knight-shield-clipart-Chrisdesign_weapon_shield.png
• h_p://pngimg.com/upload/hammer_PNG3884.png • h_ps://upload.wikimedia.org/wikipedia/en/thumb/4/42/Expedia_logo.svg/1024px-Expedia_logo.svg.png • h_p://fontmeme.com/images/Basecamp-Logo.jpg • h_ps://web-assets.domo.com/blog/wp-content/uploads/2015/03/connector-square-logo.png • h_p://info.clearpathsg.com/hs-fs/hub/154661/file-34316289-png/images/pivotal-logo1-resized-600.png • h_ps://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Neulix_2014_logo.svg/1280px-Neulix_2014_logo.svg.png • h_ps://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/1000px-Google_2015_logo.svg.png • h_ps://s3.amazonaws.com/\tlepages.leanpub.com/kotlin-for-android-developers/hero?1457531118 • h_ps://images.manning.com/255/340/resize/book/8/9b10436-7580-436b-85f2-0e6d17405ee6/Jemerov-Kotlin-MEAP-HI.png • h_p://www.garfsblog.uso99.com/wp-content/uploads/2014/04/people-joining-add.jpg • h_p://www.geotronix.co.id/wp-content/uploads/2016/01/Support2.png • h_p://www.sheffieldextensions.co.uk/wp-content/uploads/2014/09/blueprints-rolled.jpg • h_p://www.babybedding.com/images/collec\ons/solid-white-cradle-bedding_large.jpg