Earlier quoted context omitted.
For one, Java programs always take too long to start, and that's not something you want in a program that's supposed to be interactive.
See, that's exactly the type of uncritical statement that will force me to discount the rest of your statements on a whole range of topics. bazelisk help 0.01s user 0.00s system 26% cpu 0.053 total
The next generation of Bazel builds
61–70 of 90 posts
Re: The next generation of Bazel builds
#62As the manager of the original Buck team, rules should not be starlark. They should be `wasm`.
Re: The next generation of Bazel builds
#63Earlier quoted context omitted.
See, that's exactly the type of uncritical statement that will force me to discount the rest of your statements on a whole range of topics. bazelisk help 0.01s user 0.00s system 26% cpu 0.053 total
Takes 1.97s on my machine, which is a lot of time for just showing a help message. Maybe you have the setup where Bazel is staying alive in the background or something?
Re: The next generation of Bazel builds
#64Earlier quoted context omitted.
Why do you think this author (a long-time senior Blaze maintainer) believes this? Do you think the Blaze team just not have the necessary expertise?
I have no idea but dismissing Java as not "a real systems language" just isn't a convincing critique.
Re: The next generation of Bazel builds
#65Earlier quoted context omitted.
Takes 1.97s on my machine, which is a lot of time for just showing a help message. Maybe you have the setup where Bazel is staying alive in the background or something?
Literally everyone who uses bazel uses it client-server as a persistent daemon.
Re: The next generation of Bazel builds
#66Earlier quoted context omitted.
Takes 1.97s on my machine, which is a lot of time for just showing a help message. Maybe you have the setup where Bazel is staying alive in the background or something?
Literally everyone who uses bazel uses it client-server as a persistent daemon.
I'll note that bazelisk is written in Go.
Re: The next generation of Bazel builds
#67Build systems are workflow engines. Workflow engines fundamentally separate and structure code and execution in discrete steps with a graph visualizer (hopefully the graph is acyclical). Maybe it's just a bad example, but the code I saw looked very very unseparated. I understand most people who do builds want start out with the one build file to rule them all model. But ultimately you are dealing with a workflow exec…
Re: The next generation of Bazel builds
#68One thing not mentioned is the massive amount of complexity and difficulty involved in Starlark rules. In the next generation of build tools, I really wish Starlark could be replaced with some subset of TypeScript, which would have drastically better IDE support. And I wish the typing would be done in such a way that it's harder to do things that are bad for performance. Starlark is super difficult to read, navigate,…
I think the part I hated most about Bazel was the fact that there were in fact two dialects; one for BUILD files and one for .bzl files. The things you do in them are different but the documentation is always vague on what goes where.
Re: The next generation of Bazel builds
#69Earlier quoted context omitted.
I agree. The biggest issue with Buck 2 for me (apart from documentation) is the lack of something like bzlmod. There's actually a decent number of modules available for Bazel now: https://registry.bazel.build/all-modules But with Buck2 you're stuck with `http_archive` and vendoring.
Seems like a non-issue to me. I work with a relatively large Bazel monorepo, and we have to vendor pretty much anything anyways. Many 3rd-party rules might need patches to work properly with our custom toolchains/rules. Bzlmod sounds nice for small projects, but for big monorepos within organizations with established processes it is more of a hassle, and I imagine that most Bazel users are not using it for small proj…
Re: The next generation of Bazel builds
#70As the manager of the original Buck team, rules should not be starlark. They should be `wasm`.