Starlark
Starlark is a deterministic, Python-like configuration language designed for build systems and configuration management, originally developed for the Bazel build tool. It is a dialect of Python that restricts features like I/O, concurrency, and recursion to ensure builds are reproducible and hermetic. Starlark is used to write BUILD and .bzl files that define build targets, dependencies, and rules in a declarative manner.
Developers should learn Starlark when working with Bazel or other build systems that adopt it, such as Buck or Pants, as it is essential for defining complex, scalable build configurations in large codebases. It is particularly valuable in monorepo environments where reproducible builds and fast incremental compilation are critical, such as in Google's internal infrastructure or open-source projects like TensorFlow and Kubernetes.