Why a second tier
A three-line snippet tells you what a language’s for loop looks like. It cannot tell you that Go will invert your whole control flow, that Java’s two-method iterator contract forces the fetch into the wrong place, or that C makes you encode “there is nothing left” in the return type because nothing else will. Those only show up at forty lines, doing a job worth doing.
Every recipe is the same task in every language, built to one shared design so the differences you see belong to the languages. Each one is compiled and run before it ships, and anything that could not be verified says so on its face.
Iteration and data
Lazy pagination
Walk every item across a paginated source, fetching each page only when someone reaches for an item on it.
Group and count
Turn a flat list of records into counts per key, then rank them.
Sort records by a field
Comparators, key functions, and what each language does about stability.
Text
Word frequency
Read prose, normalise it, and count what is in it.
Extract every match
Regex across a whole document, with capture groups.
Files and formats
Read a CSV and total a column
Parsing, type conversion, and the rows that are wrong.
Round-trip JSON
Where the standard library stops and a dependency starts.
Structure and state
A validated type
Construction that refuses invalid values, plus equality.
A state machine
Sum types, enums, and what happens when a case is missed.
Errors
Custom error, propagated
Raise it deep, catch it once at the top, keep the context.