Programming Languages
Notes on various programming languages: syntax details, runtime internals, best practices and language comparisons, continuously updated along with learning.
Collected
- JavaScript — Language core, asynchronous model, runtime internals
- TypeScript — Type system, generics and engineering practices
- Python — Syntax features, data science and scripting
- Go — Syntax and concurrency primitives
- Rust — Ownership, lifetimes and systems programming
Planning Checklist
| Topic | Description | Status |
|---|---|---|
| JavaScript | Prototype chain, closures, async (Event Loop / Promise / Async), ES202x new features | Planned |
| TypeScript | Type gymnastics, conditional types, template literal types, declaration files | Planned |
| Python | Data model, decorators, generators, type annotations, common standard library | Planned |
| Go | Package management, interfaces, concurrency (goroutine/channel), error handling | Planned |
| Rust | Ownership and borrowing, traits, error handling, common crates | Planned |
| C++ | Value categories & move semantics, RAII memory model, templates & generics, STL, concurrency and C++20/23 | Planned |
| Language comparison | Different solutions to the same problem, selection considerations | Planned |
| Compiler basics | Lexical/syntax analysis, interpreter and compiler fundamentals | Planned |
Writing Guidelines
- Language notes are organized as "Syntax Essentials → Runtime Mechanism → Examples → Pitfalls";
- Each example provides a reproducible minimal code snippet, stating the runtime environment and version;
- Comparison articles should use tables to present differences for quick reference;
- File names use kebab-case, and new files should be registered in the
config.mjssidebar.