Code Generation
Using software that makes software is like having super powers
These videos are intended for software developers, engineers, analysts, shell-scripters, and data engineers to gain an understanding of code generation and it's impact across the software space, and presents high-level ideas on places it can be used today.
There is a lot of theory and ideas in these videos, but they're short on demo, and there's no code.
Available now - if you want to start using a powerful cli-code generator today: pip install hmd-cli-mickey. It's the same code generator the NeuronSphere platform uses, available under the Apache 2.0 license.
1.0 - Overview and Brief History
- Code Generation is everywhere in software
- There is broad variety of code generators
- Learning this will make you a better developer
1.1 - General Code Gen Structure
We'll introduce the example Person and Bike using "simple config" and talk through the logical flow and major elements in a code generating pipeline
1.2 Looking at a few high-level challenges
Switching to using structured text as an input, we develop more detailed examples of outputs. Type systems and common challenges are introduced.
1.3 Reuse and Extensibility Considerations
Reuse and extensibility take on a few forms when considering the primary code generation use cases, which we explore here.
1.4 Reuse and Extensibility concerns
Is your code generator a specific saw or a swiss-army knife? Can you add a new attachment later?
1.5 - GUIs, Visual modeling, and metadata extraction
They're so pretty, and easy to get started with. Let's dig into considerations for visual modeling. Closely related, we'll also cover 'metadata extractors'
1.6 SDLC, CI/(CDD), and Integration/Usage
How does code generation fit into the SDLC? What if we're doing CI, or CD?
How many ways can you interface with or extend a code generator?
1.7 - SQL Models and SQL Generators
Relational structure generation is a complete subclass of tools. Finally we'll talk about dbt, a little bit.