# Why new programming language

Taichi is a high-performance programming language for computer graphics applications. The design goals are

  • Productivity
  • Performance
  • Portability
  • Spatially sparse computation
  • Differentiable programming
  • Metaprogramming

# Design decisions

  • Decouple computation from data structures
  • Domain-specific compiler optimizations
  • Megakernels
  • Two-scale automatic differentiation
  • Embedding in Python