Status:
planned. This is the reason the repo is split by domain, written down far enough to check that the split is worth having. Nothing here has been used yet. Expect the question list to be wrong in at least two places and to find that out only by doing Korean.
The method that makes the programming side work is not "learn languages". It is:
Question 1 and 2 port over cleanly. Question 3 mostly does not, and pretending otherwise would be the fastest way to make this half worthless.
logagglogagg works because it is small, forces every language to reveal the same eight things, and
produces output that can be diffed. The human-language analogue is a fixed sentence set —
somewhere around twenty sentences, the same twenty every time, chosen so that rendering them
forces the language to show its hand:
| Sentence forces | Reveals |
|---|---|
| "The dog bit the man." / "The man bit the dog." | Word order, and whether it is even load-bearing |
| "I gave her the book." | Ditransitives, case marking, particle systems |
| "I am eating." / "I ate." / "I have eaten." | Tense versus aspect, and whether the distinction exists |
| "I don't know." | Negation — a separate word, an affix, or a different verb |
| "Are you coming?" | Question formation: particle, inversion, or intonation alone |
| "Three cats" / "three sheets of paper" | Classifiers and counters — where CJK diverges hardest from English |
| Same request to a friend / to a stranger / to your boss | Politeness register, which in Korean and Japanese is grammar, not tone |
| "It's raining." | Dummy subjects, and whether the language needs a subject at all |
| "The book I read yesterday" | Relative clauses and their direction |
| "I think he said she would come." | Embedding, reported speech, evidentiality |
Each sentence gets: the target-language form, a transliteration, a morpheme-by-morpheme gloss, and a note on what it revealed. The gloss is the part that does the teaching — it is the equivalent of the annotated code walkthrough, not of the program.
Twenty sentences in Korean, Japanese, and Chinese side by side would show, on one page, that Korean and Japanese are structurally close and Chinese is not remotely related to either despite sharing a script history. That comparison is the payoff, and it is only possible because the sentences are held constant.
The programming axes — memory, typing,
concurrency — mean nothing here, which is why the site generator scopes the comparison matrix
to the programming domain rather than growing extra columns. The human-language axes would be
something like:
family · script · morphology · word-order · tone · register-grammar ·
speakers · distance-from-english
That last one is worth making explicit and honest: the US Foreign Service Institute puts Korean, Japanese, and Mandarin in its hardest category for English speakers, roughly four times the hours of Spanish. Planning as though a track is a few evenings would be the same mistake as the original "a language a week" framing, and worse, because here it is not recoverable by reading faster.
There is no byte-exact diff. Nothing can tell you your Korean sentence is correct the way
verify.py tells you the Go output is. That is a real asymmetry and the sketch should not
paper over it.
What can be mechanised — and is worth a human/bench/verify.py — is consistency:
That is a linter, not a proof. It catches the failure mode this repo is actually prone to —
notes that quietly go incomplete and inconsistent — and it leaves correctness to a native
speaker, a tutor, or a good dictionary. Claiming more than that would be the same error as
marking the Go track done because the code looks right.
Korean first: Hangul is a genuinely excellent writing system that can be read in a weekend, so the writing-system barrier is nearly zero and the grammar — agglutination, SOV, honorifics — gets full attention. Japanese second: nearly the same syntax, so Q5 is largely transfer, while three scripts at once makes Q2 the hard part. Mandarin third, and treated as unrelated to both, because it is: isolating, SVO, tonal, with the writing system as the entire project.
Not started. The programming domain is four tracks in and one of those does not compile yet.