Live data from Hacker News

Buck – A build system developed and used by Facebook

buckbuild.com

111–120 of 131 posts

Re: Buck – A build system developed and used by Facebook

#112
post #79

> "Buck is a build system developed and used by Facebook." I have really, really grown to resent this culture of proud and unabashed cargo-culting that we've arrived at in the open source world. Why is this the first sentence describing a new project? Why do we need a Facebook™-approved build system? Does that somehow make it better than the others? And why does Facebook need their own build system? Was the existing…

I think the argument is that Facebook is spending an absurd amount of money on engineering. So, anything that emerges as something that huge pool of engineers find useful and cool is probably pretty well made.

On the other hand. I do think you are right. React suffers from this a lot. React is good. It has a lot of strong competition from smaller groups. But, the attitude seems to be "FB will rub so much money against React! That much money and fame will polish anything. Soon it'll be popular because it's popular. Don't fight it."

Re: Buck – A build system developed and used by Facebook

#113

This looks like a clone of Google's Blaze/Bazel: https://bazel.build/

As others have mentioned, Buck was open-sourced before Bazel but obviously inspired by Blaze.

There's also Please, which we wrote as a Buck replacement before Bazel was open sourced: https://github.com/thought-machine/please

(disclaimer: I wrote most of it...)

Re: Buck – A build system developed and used by Facebook

#115

My name is Michael Bolin and I created Buck. When I started the project, Buck had one specific goal: to make Android builds faster ( https://youtu.be/CdNw6mRpsDI ). At the time, the recommended way of building Android (from Google) was to use Ant. So when someone points to Buck as an example of "creating competing tools more often than persisting with and improving existing ones," I'd like to point out that you can't…

I think when you say "make Android builds faster", you mean "make Android application builds faster" -- as opposed to making Android operating system builds faster. Those are two very different things, and for the uninitiated the casual use of language here is confusing. The Android operating system has never been built with ant, but historically was built with make until around Android N when that team started migrating to ninja-based builds instead.

Re: Buck – A build system developed and used by Facebook

#116
post #95

Earlier quoted context omitted.

TBH, I never heard of Waf before. It looks interesting. Buck, Waf, Meson, Bazel....apparently Python is the language for next-gen hash-based build tools :)

Buck is primarily Java, just sayin'

But the syntax of your build files is Pythonish.

Just like Make is in C and the build files are in Make.

Re: Buck – A build system developed and used by Facebook

#117
post #93

Earlier quoted context omitted.

Well, IMO, React is much better than building the equivalent in jQuery.

I once thought that too. But after working under a jQuery ninja I learned that it's far more powerful than most people give it credit for. More importantly, it's significantly easier to reason about DOM changes in jQuery vs other frameworks because there's no magic at all. For example, here is a SQLite playground that I built with a friend https://sql.glitch.me/ . The entire frontend is only 100 lines of Javascript t…

Pretty sure no one really doubted jQuery power.. it's about maintainability, state management, modularization.

If you tinker hard enough, you can achieve those with jQuery, but it'll never be as easy as React.

Also, your site doesn't load (project not found)

Re: Buck – A build system developed and used by Facebook

#118
post #8

I don't work in a shop where performance/speed is important, but I am looking for other ways to do things I would do in Make but...not in Make. For example, my use-case is similar to what Mike Bostock described in "Why Use Make" [0] when explaining how he uses Make to build out his data tranformation process. Most of my work is data transformation/small-scale ETL, but I just haven't been able to get into Make beyond…

I tried Buck and found it to be a poor clone of the Google build tool it's based on. If you're interested, go straight to Bazel -- it's the real thing. Edit to add: here's a specific complaint. To run arbitrary commands and shell scripts, you use genrule(), but in Buck a genrule can only have a single output. I used Buck to preprocess and organize the assets for a game, and that restriction made it very awkward. It's…

Here's the top-level Bazel BUILD file of the open source project I work on at Google, if anyone wants to see an example for a good-sized (~100K LoC) codebase: https://github.com/google/nomulus/blob/master/java/google/re...

Each subdirectory below the root also has its own BUILD file, where you can see the individual packages being compiled.

Post reply on HN