Meta Tech Podcast

71: Translating Java to Kotlin at Scale


Listen Later

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

...more
View all episodesView all episodes
Download on the App Store

Meta Tech PodcastBy Meta

  • 4.4
  • 4.4
  • 4.4
  • 4.4
  • 4.4

4.4

40 ratings


More shows like Meta Tech Podcast

View all
a16z Podcast by Andreessen Horowitz

a16z Podcast

996 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

584 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

631 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

272 Listeners

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

432 Listeners

Go Time: Golang, Software Engineering by Changelog Media

Go Time: Golang, Software Engineering

128 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

141 Listeners

JS Party: JavaScript, CSS, Web Development by Changelog Media

JS Party: JavaScript, CSS, Web Development

91 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Practical AI by Practical AI LLC

Practical AI

194 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

63 Listeners

Last Week in AI by Skynet Today

Last Week in AI

280 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

332 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

397 Listeners

No Priors: Artificial Intelligence | Technology | Startups by Conviction

No Priors: Artificial Intelligence | Technology | Startups

122 Listeners