40 subscribers
Go offline with the Player FM app!
Podcasts Worth a Listen
SPONSORED


71: Translating Java to Kotlin at Scale
Manage episode 464270929 series 2390222
How do you translate roughly ten million lines of Java code to Kotlin? Clicking in your the IDE gets pretty repetitive after a while and doesn’t work if you have custom APIs and requirements for null safety. Eve and Jocelyn, two software engineers on the Mobile Infra Codebases Team have taken on this challenge and talk host Pascal through the unexpected difficulties when embarking on the journey to (close to) 100% Kotlin in our Android codebase.
Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.
Links
Meta Engineering Blog - Translating Java to Kotlin at Scale: https://engineering.fb.com/2024/12/18/android/translating-java-to-kotlin-at-scale/
Open-source transformations: https://github.com/fbsamples/kotlin_ast_tools
Mobile @Scale Conference recordings: https://www.youtube.com/watch?v=L7xSnbrk4CI
Timestamps
Intro 0:06
Introduction Eve 1:11
Introduction Jocelyn 2:15
Team mission 2:44
The scale of Meta's codebase 3:40
Why is there so much code? 4:34
Why migrate to Kotlin? 5:45
Isn't Kotlin slow to compile? 7:51
Why not use Android Studio's converter? 8:28
Nullability differences 10:04
Meta Codemod Service 14:50
Kotlin codemod stages 17:07
Headless J2K 20:14
Open-source transformations 23:14
Java Nullsafe 24:47
Leveraging Linters 26:01
Fixing build errors 27:24
Unexpected challenges 29:33
State of the union 33:44
Outro 36:10
Outtakes 37:08
80 episodes
Manage episode 464270929 series 2390222
How do you translate roughly ten million lines of Java code to Kotlin? Clicking in your the IDE gets pretty repetitive after a while and doesn’t work if you have custom APIs and requirements for null safety. Eve and Jocelyn, two software engineers on the Mobile Infra Codebases Team have taken on this challenge and talk host Pascal through the unexpected difficulties when embarking on the journey to (close to) 100% Kotlin in our Android codebase.
Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.
Links
Meta Engineering Blog - Translating Java to Kotlin at Scale: https://engineering.fb.com/2024/12/18/android/translating-java-to-kotlin-at-scale/
Open-source transformations: https://github.com/fbsamples/kotlin_ast_tools
Mobile @Scale Conference recordings: https://www.youtube.com/watch?v=L7xSnbrk4CI
Timestamps
Intro 0:06
Introduction Eve 1:11
Introduction Jocelyn 2:15
Team mission 2:44
The scale of Meta's codebase 3:40
Why is there so much code? 4:34
Why migrate to Kotlin? 5:45
Isn't Kotlin slow to compile? 7:51
Why not use Android Studio's converter? 8:28
Nullability differences 10:04
Meta Codemod Service 14:50
Kotlin codemod stages 17:07
Headless J2K 20:14
Open-source transformations 23:14
Java Nullsafe 24:47
Leveraging Linters 26:01
Fixing build errors 27:24
Unexpected challenges 29:33
State of the union 33:44
Outro 36:10
Outtakes 37:08
80 episodes
All episodes
×
1 75: Open-sourcing Pyrefly - A faster Python type checker written in Rust 32:22

1 74: Taking the plunge - The engineering journey of building a Subsea Cable 39:49





1 69: To type or not to type — measuring productivity impact with DAT 40:21


1 67: Measuring Developer Productivity with Diff Authoring Time 37:01

1 66: Inside Bento - Serverless Jupyter Notebooks at Meta 44:21

1 65: Getting Ready for Post-Quantum Cryptography 35:49

1 64: Caddy - Building the next generation of CAD software for Mixed Reality 1:04:19

1 63: The key to a happy Rust/C++ relationship 45:00



1 60: Simplified Executable Deployment with DotSlash 40:40


1 ARCHIVE: From Facebook Home to Instagram Stories 45:41





1 53: Offensive security at Meta’s Red Team X 41:38





1 48: A 94% reduction for basic video compute time on Instagram 37:22

1 47: Sapling - A scalable, user-friendly source control system 40:46
Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.