# Systems Programming

> Use for Go (goroutines, channels, generics), Rust (async/Tokio, ownership, lifetimes), C++ (modern features, RAII, templates), and C (memory management, system calls, embedded) development. Covers concurrency patterns, memory safety, and performance optimization.

- Skill: `henryhawke/systems-programming` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add henryhawke/systems-programming`
- Raw SKILL.md: https://api.skillmd.com/api/skills/henryhawke/systems-programming/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: henryhawke (https://skillmd.com/u/henryhawke)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/henryhawke/systems-programming

---


# Systems Programming

## When to use
- Write Go services with concurrency patterns
- Build Rust applications with async/Tokio
- Develop C++ with modern features
- Write C for systems/embedded
- Optimize performance-critical code
- Handle memory safety

## Go
- Goroutines, channels, sync primitives
- Context and cancellation
- Generics (Go 1.21+)
- Interface design
- Production microservices

## Rust
- Ownership, borrowing, lifetimes
- Async with Tokio and axum
- Error handling (Result, anyhow, thiserror)
- Unsafe code and FFI
- Performance optimization

## C++
- Modern C++ (C++17/20/23)
- RAII and smart pointers
- Move semantics and templates
- STL algorithms and containers
- Performance profiling

## C
- Memory management best practices
- System calls and POSIX
- Embedded systems patterns
- Kernel module development

