Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Zen of Kotlin by Vincent Carrier
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
GDG Montreal
February 28, 2018
Technology
190
0
Share
The Zen of Kotlin by Vincent Carrier
GDG Montreal
February 28, 2018
More Decks by GDG Montreal
See All by GDG Montreal
Advanced Pregnancy Risk Assessment Using AI Model Chain by Kiruthika Subramani
gdgmontreal
0
83
Al and Security: A double edge sword? by Stacy Véronneau and Yan Bellerose
gdgmontreal
0
110
Scaling AI on a Budget: A Startup's GPU Optimization Journey by Shannon Lal
gdgmontreal
0
88
Build Your Own Secured AI Platform with Google Cloud Vertex AI by unleashing the Power of Multi-LLM by Eckarath Khounsombath
gdgmontreal
0
140
FlutterMTL_-_Flutter_Next_24.pdf
gdgmontreal
0
140
Developing Flutter Applications in Dev Container Environments - Ali Yazdi
gdgmontreal
0
360
Building an ML powered Android Livestreaming App by Etienne Caron
gdgmontreal
1
130
Boosting Your Mobile App: Small Details, Big Impact by Mathieu Fillion
gdgmontreal
0
68
The Hitchhiker's Guide to MLOps by David Cardozo
gdgmontreal
0
75
Other Decks in Technology
See All in Technology
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
330
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
古今東西SRE
okaru
1
170
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
120
Purview Endpoint DLP 動かしてみた
kozakigh
0
180
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
190
The 7 pitfalls of AI
ufried
0
200
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
AI 時代の Platform Engineering
recruitengineers
PRO
1
130
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
210
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
1
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
Scaling GitHub
holman
464
140k
Done Done
chrislema
186
16k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Accessibility Awareness
sabderemane
1
110
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
280
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
330
Facilitating Awesome Meetings
lara
57
6.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Transcript
The Zen of Kotlin By Vincent Carrier
Follow along https://github.com/Vincent-Carrier/Omego.git
Simple rules, infinite possibilities • Take turns to place stones
• If one of your group is surrounded by the other, it is captured • The player with the most territory wins
Less code is more
None
with()
Without with()
None
apply()
Without apply()
Good code documents itself
Local functions
None
Extension functions and lambdas with receivers Within my AppCompatActivity:
Custom getter functions
Type aliases
Type aliases
Don’t expose more than you should
lateinit vs by lazy
package visibility does not exist in Kotlin • package limits
visibility to enclosing folder. internal limits visibility to enclosing module. • Get comfortable with modules!
Why modules? • Encourages better code structure • Easier to
distribute and reuse • Compiles faster • Convert to an Instant App easily THIS IS GRADLE. IT’S A BUILD SYSTEM FOR THE JVM THAT WORKS THROUGH A BEAUTIFUL DIRECTED ACYCLIC GRAPH MODEL.
Module types • Phone & Tablet • Android Library •
Java Library • And more…
build.gradle (Project) Define some common dependencies to avoid having to
repeat ourselves too much
build.gradle (model) build.gradle (app)
Thank you for listening