Let's talk about transpilers!
summary
Argues that semi-automated transpilation lowers risk and cost of legacy modernization by preserving behavior while modernizing code; implements a four-stage Kotlin-based pipeline (parsing, symbol resolution/type inference, AST transforms, code generation) and demonstrates an RPG→Python transpiler that emits Python plus a small runtime shim to mimic RPG built-ins; uses fixed-column 1959 RPG input, runs unit tests in the demo and produces working Python output, showing practical feasibility.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:49Agenda
- 1:36What are Legacy Systems
- 2:24Problem with Legacy Systems
- 2:36Problems with Legacy Systems
- 3:05Codes
- 3:41Optimizations
- 4:20Architecture
- 4:46Documentation
- 5:25Interoperability
- 5:51Support tools
- 6:12Legacy systems
- 6:38Why not replace all legacy systems
- 7:28Why are they so risky
- 8:00The Legacy system
- 9:23Development risks
- 9:41Reengineering
- 11:31Reengineering process
- 16:20Transpilers
- 17:03Pipeline Architecture
- 22:04Fibonacci Implementation
- 25:40Summary
- 26:23Questions
related talks
44mLet's talk about transpilers
40mYour Program as a Transpiler: Applying Compiler Design to Everyday Programming
34mYour Program as a Transpiler: Applying Compiler Design to Everyday Programming
25mCrash course in transpiling Ruby
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
38mDemystifying compilers by writing your own
34mThe boundless possibilities of transpilation
45mTwo-level Just-in-Time Compilation with One Interpreter and One Engine
