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.

henryhawke Updated

File contents

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

henryhawke/skills/tree/main/systems-programming commit e24d25f436

Frequently asked questions

npx skillmds@latest add henryhawke/systems-programming