Skip to content
Programming Language Fundamentals logo

Programming Language Fundamentals

[日本語版](../../ja/01-cs-fundamentals/programming-language-fundamentals/SKILL.md)

Gaku52/claude-code-skills0installs6stars

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

  1. Introduction -> Type Systems -> Memory Models (foundational understanding)
  2. Control Flow -> Functions -> Concurrency (implementation skills)
  3. Language Comparison -> Language Evolution (selection ability and applied knowledge)