Distillery by Myka Rust
- Summarize simple to complex topics related to computer programming.
- Provide google-able refernces and vocabulary for further learning.
- The Self-Learner: Searching for ways to improve their skills but is having touble finding their unknown unknowns.
- The Explorer: Examining new and old ideas they may not have encountered yet.
- The Student: Preparing for a challenging interview hoping to build deeper knowledge.
- The Innovator: Building upon existing design ideas with an eye for improvement.
The main goal of the distillery is to enable the reader to rapidly read through many quick summaries of computer programming topics. Each document has a topic. A document contains many sections on that topic which go into ever increasing complexity and detail. The distillery summary sections attempt to be language agnostic, but when needed they tend to lean towards C/C++ to explain some more complex sections.
Each section of a document has a tier level associated with it roughly correlating to its subjective "depth" into the field of computer programming. If you know little about computer programming, you should read the tiers sequentially across all documents because they reference material listed in previous tiers of other documents.
The topics may be read from your browser or other markdown viewing application. If you are reading from a text editor, it is recommended that you enable word-wrap and use a monospace font.
Where to start:
- Veteran Programmer (2+ years, systems-level programming): Skim read teir 2 section titles. You likely know most everything below tier 3 topics.
- Intermediate programmer (college grad, self-taught): Skim read teir 1 topics. Knowing the names for certain terms/concepts will be helpful in later tiers.
- New programmer: Read everything in each tier of every document before proceeding to the next tier. Starting Point
Topic Summary
- Control.md : Programming methods/designs/systems related to static and dynamic control of your program.
- Memory.md : Programming memory layout and features
- Pointer.md : Programming access patterns/designs/systems for your memory.
- Types.md : Programming types as a CPU instruction interface and program design.
- Containers.md : Programming container concepts and a brief explanation of their function.
Tier Explanation
- Tier 1.xx-2.xx : Foundational knowledge
- Tier 3.xx-7.xx : Situationally useful and domain-specific knowledge
Note: If you have never written code before in any language, the distillery is not a good resource for you. Find and do a beginner tutorial series in any language then come back once you have at least +25 hours of personal coding time.