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.5
  • 4.5
  • 4.5
  • 4.5
  • 4.5

4.5

43 ratings


More shows like Meta Tech Podcast

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

292 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

586 Listeners

Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

Super Data Science: ML & AI Podcast with Jon Krohn

303 Listeners

NVIDIA AI Podcast by NVIDIA

NVIDIA AI Podcast

341 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

236 Listeners

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

Syntax - Tasty Web Development Treats

984 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

189 Listeners

Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

Kubernetes Podcast from Google

181 Listeners

Practical AI by Practical AI LLC

Practical AI

214 Listeners

AWS Podcast by Amazon Web Services

AWS Podcast

201 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

141 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

95 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

65 Listeners