Introducing Abseil, a new common libraries project
opensource.googleblog.com
opensource.googleblog.com
https://news.ycombinator.com/item?id=15341493
I think there may have been another thread about it, but I'm not seeing it.
It's interesting to see more and more Google internals being open sourced. It's like Blaze being released as Bazel[1] opened the flood gates for many other projects to be shared. Can any Googlers speak to how these projects are synchronized with the internal monorepo?
[0]: https://github.com/facebook/folly
[1]: https://bazel.build
I and probably many others are more likely to be willing to depend on a library if I know Google internals directly depend on the maintenance of said library.
Disclaimer: yes I work for Google but my work is not related to Abseil team.
[0]: https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
>The libraries we are releasing come with a pedigree: many years of experience using these APIs in Google’s production environments. We’ve seen what works and what doesn’t, what designs lead to bugs, performance problems, and misuse. What you see here is what we found to be a good balance between simplicity and meeting the needs of production use and an ever-evolving codebase. [1]
Also a googler who has nothing to do with abseil.
[1]: https://abseil.io/
From [1]. Essentially, there are files and changes that I cannot view the source of.
[1]: https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
The good things are: noexcept, no bloat, FixedArray as better alloca(), InlinedVector similar.
folly is much more advanced.
The static analysis tools for C++ are much more mature than for Python, and good static analysis tools are necessary if you want to perform a refactor across the entire monorepo[1] and encourage thousands of other engineers to start coding in your new paradigm[2].
[1] https://cacm.acm.org/magazines/2016/7/204032-why-google-stor... [2] https://static.googleusercontent.com/media/research.google.c...
(Disclaimer: I work on YouTube, which has one of the largest legacy Python code-bases at Google. This is my opinion, not that of my employer.)
https://cs.chromium.org/chromium/src/net/base/int128.h?dr
https://github.com/abseil/abseil-cpp/blob/master/absl/numeri...
If your software is NOT zero configuration, ask yourself why not.