Episode cover
If You Want Better Code, Do It For Me (with Jonathan Schneider)
February 14, 2024 · 62 min

A lot of programming is split into the mechanical work of writing what you know, and the creative work of figuring out what you don’t know. Wouldn’t it be nice to automate the mechanical stuff away?

Well the good news is we’re already automating a lot of it. Every time you run a refactoring tool or a pretty-printer, you’re handing boring work off to the computer. But how does that magic work, and how can we do more of it?

This week we’re joined by one of the authors of OpenRewrite—Jonathan Schneider—to learn how automated code-rewriting tools really work. From the basic approach to the hairy corner cases, to the reality of keeping developers happy with the subjective side of the results.

It takes a lot of work to automate work away - this week we’ll learn how the work gets done for us too.

OpenRewrite: https://docs.openrewrite.org/

Supported Languages: https://docs.openrewrite.org/recipes

Moderne: https://www.moderne.io/

Gradle Lint: https://github.com/nebula-plugins/gradle-lint-plugin

Chicory (Native JVM WASM): https://github.com/dylibso/chicory

Call Java from Haskell: https://github.com/tweag/inline-java#readme

Call Haskell from Java: https://github.com/nh2/call-haskell-from-anything

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

#podcast #software #programming #softwareengineering #refactoring #parsers