×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
WRITING CODE that WRITES CODE STEVE MARSHALL
Slide 2
Slide 2 text
But why?
Slide 3
Slide 3 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 4
Slide 4 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 5
Slide 5 text
Source code Code munger Output file
Slide 6
Slide 6 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 7
Slide 7 text
Source code Inline code expander Output source code Compiler
Slide 8
Slide 8 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 9
Slide 9 text
Source code Mixed code generator Output source code Compiler
Slide 10
Slide 10 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 11
Slide 11 text
Definition file Partial class generator Output base class code Compiler Custom derived class code Templates
Slide 12
Slide 12 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 13
Slide 13 text
Definition file Tier generator Output source code Compiler Templates
Slide 14
Slide 14 text
Code munging Inline code expansion Mixed code generation Partial class generation Tier generation Full domain language
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
What should I use?
Slide 17
Slide 17 text
Let me tell you a story…
Slide 18
Slide 18 text
One for the team.
Slide 19
Slide 19 text
Respect (and loathe) hand-coding. 1.
Slide 20
Slide 20 text
Hand-code first. 2.
Slide 21
Slide 21 text
Control your source. 3.
Slide 22
Slide 22 text
Consider the generator’s language. 4.
Slide 23
Slide 23 text
Integrate the generator into your workflow. 5.
Slide 24
Slide 24 text
Include warnings. 6.
Slide 25
Slide 25 text
Play nice with others. 7.
Slide 26
Slide 26 text
Document well. 8.
Slide 27
Slide 27 text
Consider the cultural impact. 9.
Slide 28
Slide 28 text
Keep it maintained. 10.
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
icanhaz.com/codegen-book icanhaz.com/codegen @stevemarshall
[email protected]
Stephen Wolfram photo: flickr.com/photos/hybernaut/87907765/