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