Starlark vs Make
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 meets developers should learn make when working on projects that require complex build processes, such as compiling source code, linking libraries, or managing dependencies across multiple files. Here's our take.
Starlark
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
Starlark
Nice PickDevelopers 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
Pros
- +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
- +Related to: bazel, build-systems
Cons
- -Specific tradeoffs depend on your use case
Make
Developers should learn Make when working on projects that require complex build processes, such as compiling source code, linking libraries, or managing dependencies across multiple files
Pros
- +It is essential for C/C++ development, embedded systems, and any scenario where incremental builds improve efficiency, as it avoids unnecessary recompilation by tracking file changes
- +Related to: c, c-plus-plus
Cons
- -Specific tradeoffs depend on your use case
The Verdict
These tools serve different purposes. Starlark is a language while Make is a tool. We picked Starlark based on overall popularity, but your choice depends on what you're building.
Based on overall popularity. Starlark is more widely used, but Make excels in its own space.
Disagree with our pick? nice@nicepick.dev