9 ms·
Maybe it's a pipe dream, but I'd love to see a project that tries to unify a lot of existing software under one robust, featureful build system, doing a job sim
by syntheweave 5y ago
Maybe it's a pipe dream, but I'd love to see a project that tries to unify a lot of existing software under one robust, featureful build system, doing a job similar to packaging but with a more invasive method. Because, of course what will happen from there is that, while nearly everyone will grumble that it is not the best build system, they will use it in anger when they want to get their personal projects running. At that point it becomes the defacto standard and we can escape snowflake-build madness.
- Wowfunhappy 5y agoI don't think I understand how what you're describing is different than a Linux distribution. Edit: I suppose e.g. Debian is generally for binaries, but what I'm pretty sure source packages still work the same way? There's also Gentoo, and maybe Nix.
- JustLurking2022 5y agoBazel?
- smilliken 5y agoYou're looking for nixpkgs. Years ago I switched to it in anger for builds breaking, and I've had a much healthier relationship with computers since then.
- breakds 5y ago+1. I feel the same as OP after leaving Google. However, after switching to Nix, I had a greater experience working with projects (with mulitple languages), even better than the mono repo at Google.
- thundergolfer 5y ago> they will use in in anger when they want to get their personal projects running. At that point it becomes the defacto standard and we can escape snowflake-build madness. I hold to a very similar sentiment. I sold Bazel on my blog like this: > Our builds will be pure functions from source to deployable. This will represent a durable evolution the software engineering field, and Bazel will become as essential as git and source control. Like git, we will often find it annoying. We will punch out comments about how it’s API is not quite right, or that it’s too hard to learn, and we will likely be right. But we will never suggest going back.[1] Unfortunately Google is not throwing its weight behind Bazel enough to overcome Bazel's significant up-front costs. Maybe in time... 1. https://thundergolfer.com/build-systems/software-engineering/bazel/2021/06/14/bazel-is-taking-over/ https://thundergolfer.com/build-systems/software-engineering...
- onedognight 5y ago> Unfortunately Google is not throwing its weight behind Bazel enough to overcome Bazel's significant up-front costs. Nope. It’s unfortunate that Bazel is written in Java. There is no overcoming that. You have to have been isolated at Google for years to be blind to that.
- jart 5y agoI write all my projects in the Cosmopolitan repository which is basically that. It also uses plain old GNU Make so it's not snowflake. Example build config: https://github.com/jart/cosmopolitan/blob/master/tool/decode/decode.mk https://github.com/jart/cosmopolitan/blob/master/tool/decode... So far managed to port a lot of programming languages like Python including its tests https://github.com/jart/cosmopolitan/blob/master/third_party/python/python.mk https://github.com/jart/cosmopolitan/blob/master/third_party... Whole repo builds and all tests run in less than 60 seconds on my PC. That includes building Python, Lua, JavaScript, 672 executables, 82 static archives, and 17,637 object files. The PC I just ran the build on cost $1000. Yes I used to work at Google and yes I made a lot of contributions to Blaze/Bazel too, like its system for downloading files. The binaries the cosmo repo builds run on seven operating systems too.