Looking at what people did with Rust macros it's shame that Go code generation story is either "just run some random binaries to compile stuff" or "put code instructing the compiler to do stuf in fucking comments"
Why is it a shame? Rely on macros and this is what you get:
1. Slow compile times
2. Unsearchable (grep, sourcegraph...) code
3. Magic codebases. Longer learning curve
To me, working in a large organization, those are big downsides.
but you can inspect the generated code, jump to def, search it...
how the actual generation works may be magic, but the code is reviewable, searchable, debuggable...
Comments
Why is it a shame? Rely on macros and this is what you get:
1. Slow compile times
2. Unsearchable (grep, sourcegraph...) code
3. Magic codebases. Longer learning curve
To me, working in a large organization, those are big downsides.
The article is about code generation that is more magic than macros.
but you can inspect the generated code, jump to def, search it... how the actual generation works may be magic, but the code is reviewable, searchable, debuggable...
Its clearly better than macros for my use cases