Part 7 · 1 chapters · ~8 min
How to Learn Any Language Fast
A repeatable two-week method: map features to known concepts, learn the error model and concurrency model first, rebuild a known project, read idiomatic code and the standard library, adopt the tooling, use AI assistants as tutors rather than authors, and the questions to ask of any new language.
8
Questions to ask of any language
| question | Go | Rust | Python | Elixir |
|---|---|---|---|---|
| how are errors handled? | (value, err) | Result + ? | exceptions | {:ok, v} / {:error, e}, crash and restart |
| who frees memory? | GC | ownership | refcount + GC | per-process GC |
| how does concurrency work? | goroutines + channels | threads, async (tokio) | GIL threads, asyncio, processes | actors (BEAM processes) |
| static types? | yes, structural interfaces | yes, traits | optional hints | dynamic (gradual types arriving) |
| package and build tool | go mod, go build | cargo | uv / pip, pyproject | mix, hex |
| formatter / linter | gofmt, staticcheck | rustfmt, clippy | ruff | mix format, credo |
Using AI assistants well: ask for explanations of idioms and compiler errors, then write the code yourself; ask the assistant to review your code against the language's idioms. Code you did not write teaches you little about a language (AI-native course).
LEARNING ANY LANGUAGE IN TWO WEEKS
the same project, a new language
swipe the figure sideways, or tap expand for full screen
1/4
map, do not memorise
Start with a tour (A Tour of Go, The Rust Book, the Python tutorial) and place each feature on the axes from this course: types, memory, errors, concurrency.
place features on known axesofficial tours first