Programming Language Fundamentals
[日本語版](../../ja/01-cs-fundamentals/programming-language-fundamentals/SKILL.md)
SKILL.md
Full skill instructions
Programming Language Fundamentals
A comprehensive guide to understanding the essence of programming languages. Covering type systems, memory models, control flow, functions, concurrency, and language comparisons, this guide builds the ability not just to "use" languages but to "understand and choose" them.
Skill Structure
docs/
├── 00-introduction/ # Introduction
│ ├── 00-what-is-programming-language.md
│ ├── 01-compilation-vs-interpretation.md
│ ├── 02-paradigms-overview.md
│ └── 03-choosing-a-language.md
├── 01-type-systems/ # Type Systems
│ ├── 00-static-vs-dynamic.md
│ ├── 01-type-inference.md
│ ├── 02-generics-and-polymorphism.md
│ └── 03-algebraic-data-types.md
├── 02-memory-models/ # Memory Models
│ ├── 00-stack-and-heap.md
│ ├── 01-garbage-collection.md
│ ├── 02-ownership-and-borrowing.md
│ └── 03-reference-counting-vs-tracing.md
├── 03-control-flow/ # Control Flow
│ ├── 00-branching-and-loops.md
│ ├── 01-pattern-matching.md
│ ├── 02-error-handling.md
│ └── 03-iterators-and-generators.md
├── 04-functions/ # Functions
│ ├── 00-first-class-functions.md
│ ├── 01-closures.md
│ ├── 02-higher-order-functions.md
│ └── 03-recursion.md
├── 05-concurrency/ # Concurrency
│ ├── 00-threads-and-processes.md
│ ├── 01-async-await.md
│ ├── 02-message-passing.md
│ └── 03-parallel-programming.md
├── 06-language-comparison/ # Language Comparison
│ ├── 00-scripting-languages.md
│ ├── 01-systems-languages.md
│ ├── 02-jvm-languages.md
│ └── 03-functional-languages.md
└── 07-language-evolution/ # Language Evolution
├── 00-history-of-languages.md
├── 01-modern-language-features.md
├── 02-dsl-and-metaprogramming.md
└── 03-future-of-languages.md
Prerequisites
Learning Path
- Introduction -> Type Systems -> Memory Models (foundational understanding)
- Control Flow -> Functions -> Concurrency (implementation skills)
- Language Comparison -> Language Evolution (selection ability and applied knowledge)
