Skip to main content

Awesome list for "Aha!" moments related to programming and computer science. Accelerate your learning.

83
GitHub Stars
33
Curated Resources
13
Categories
5 hours ago
Last Refreshed
TechnologyOperating SystemsUnixGeneral ProgrammingFunctional ProgrammingPatternsDataProgramming LanguagesEffectivenessFrameworksMechanicsYouNext Steps

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me vim resources from awesome-aha"

Installation instructions →

What's inside

Mechanics

Technology

General Programming

  • better errors

  • Design Stamina Hypothesis (Fowler)

    The emerging pop computing trend challenges good design because people keep adopting buzzwords and slapping stack overflow code snippets onto production. This essay reminds us why good design is important and why it's so hard to justify good design or architecture in general.

  • Greg Young on Software

    (video) a few observations about what makes a good or bad codebase, a good or bad design. Spoiler: it's the code size; sort of. Has many other good observation if you have not a lot of experience. Very repetitive, but good.

  • ID Software's 90's Programming Guidelines

    (video) Amazingly relevant still, even today.

  • Programming Pearls

    programming and problem solving.

  • Rob Pike's Notes on Programming in C

    Really this could have been called "shit people knew in 89' that people today will keep rediscovering and fight about - but will never stop to realize they're really reinventing a flatter wheel".

Functional Programming

  • FP Jargon

    pair the "Mostly Adequate Guide" with these, either while reading, or after finishing reading it, to bolt in place all of the FP magic. These will also serve as a good cheatsheet for later.

  • Introduction to Functional Programming

    Wadler and Bird's classic. Many FP concepts first introduced here. Search on Google for more usable copies.

  • Mostly Adequate Guide (to functional programming)

    a great tutorial if you want to short-circuit years of wax-on wax-off to properly "get" FP. Start with this if you don't have FP background, or have some university clue, and progress to more heavy hitters such as Haskell, Lisp and so on.

  • Some History of Functional Programming Languages

    Turner summarizes part of the history of FP languages. Good to skim and to get a feeling of the evolution.

  • What's a Transducer

    A modern take on explaining transducers with Javascript (ES6), but read it any way because it intros map, filter, reduce and so on.

Programming Languages

  • Golang NotesGo

    coverage of several subjects from a programmer's perspective, including a bit of internals.

Next Steps

Effectiveness

Data

Showing a sample of 33 resources. View the full list on GitHub →