First Principles Thinking
Break down problems to their fundamental truths. Build up from there. Don't reason by analogy. Question everything.
Process
- Identify the problem
- Break into components
- Find fundamental truths
- Build from ground up
- Verify each step
Applications
- Compiler design
- System architecture
- Algorithm invention
- Language creation