A really helpful analogy: dynamic programming is bottom-up memoisation: https://stackoverflow.com/a/6185005
Related Posts
I'm a fan of the Software Unscripted podcast, and I particularly enjoyed this recent episode about CrowdStrike and security culture: https://www.youtube.com/watch?v=rzjaZssBEiI
The guest (Kelly Shortridge) compares attackers to lawyers trying to find loopholes. This is such a great analogy.
Blogging about my programming language project: choosing the basic syntax!
https://www.garden-lang.org/blog/syntax.html
@tristanC That's an option! There's often cases where you know what the user wanted though, so you can provide a sensible AST that the toolchain can handle.
For example, a malformed string literal can still be parsed a string so type checking etc can be helpful.