
CommunityNews
How Uber Uses Zig
Disclaimer: I work at Uber and am partially responsible for bringing
zig cc
to serious internal use. Opinions are mine, this blog post is not affiliated with Uber.I talked at the Zig Milan meetup about “Onboarding Zig at Uber”. This post is a little about “how Uber uses Zig”, and more about “my experience of bringing Zig to Uber”, from both technical and social aspects.
The video is here. The rest of the post is a loose transcript, with some commentary and errata.
TLDR:
- Uber uses Zig to compile its C/C++ code. Now only in the Go Monorepo via bazel-zig-cc, with plans to possibly expand use of
zig cc
to other languages that need a C/C++ toolchain.- Main selling points of C/C++ toolchain on top of zig-cc over the alternatives: configurable versions of glibc and macOS cross-compilation.
- Uber does not have any plans to use zig-the-language yet.
- Uber signed a support agreement with Zig Software Foundation (ZSF) to prioritize bug fixes. The contract value is disclosed in the ZSF financial reports.
- Thanks to my team, the Go Monorepo team, the Go Platform team, my director, finance, legal, and of course Zig Software Foundation for making this relationship happen. The relationship has been fruitful so far.
Read in full here:
This thread was posted by one of our members via one of our news source trackers.
Popular Backend topics
New

For the first time in the history of TIOBE’s index, Java has slipped out of the top two, leaving Python to occupy the spot behind reignin...
New

GitHub - nanobowers/py2cr: Python3 to Crystal Translation using Python AST Walker.
Python3 to Crystal Translation using Python AST Walke...
New

GitHub - audulus/rui: Experimental Rust UI library.
Experimental Rust UI library. Contribute to audulus/rui development by creating an a...
New

GitHub - mcobzarenco/zee: A modern text editor for the terminal written in Rust.
A modern text editor for the terminal written in Rust -...
New

GitHub - clojure-rs/ClojureRS: Clojure, implemented atop Rust (unofficial).
Clojure, implemented atop Rust (unofficial). Contribute to c...
New

GitHub - codic12/worm: A dynamic, tag-based window manager written in Nim.
A dynamic, tag-based window manager written in Nim - GitHub -...
New

Some Thoughts on Zig — Sympolymathesy, by Chris Krycho.
One of the biggest things Zig has going for it—especially compared to Rust—is th...
New

crubit/design.md at main · google/crubit.
Contribute to google/crubit development by creating an account on GitHub.
New

user-defined iteration using range over func values · Discussion #56413 · golang/go.
There is no standard way to iterate over a sequence...
New
Other popular topics

I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New

Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New

There’s a whole world of custom keycaps out there that I didn’t know existed!
Check out all of our Keycaps threads here:
https://forum....
New

This looks like a stunning keycap set :orange_heart:
A LEGENDARY KEYBOARD LIVES ON
When you bought an Apple Macintosh computer in the e...
New

Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New

I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New

Author Spotlight
Rebecca Skinner
@RebeccaSkinner
Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New

Author Spotlight
Erin Dees
@undees
Welcome to our new author spotlight! We had the pleasure of chatting with Erin Dees, co-author of ...
New

Author Spotlight:
Karl Stolley
@karlstolley
Logic! Rhetoric! Prag! Wow, what a combination. In this spotlight, we sit down with Karl ...
New

I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc.
However, I don’t...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /svelte
- /typescript
- /crystal
- /c-plus-plus
- /kotlin
- /tailwind
- /gleam
- /ocaml
- /react
- /flutter
- /elm
- /vscode
- /ash
- /opensuse
- /centos
- /php
- /deepseek
- /html
- /zig
- /scala
- /sublime-text
- /textmate
- /lisp
- /nixos
- /debian
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /django
- /manjaro
- /spring
- /diversity
- /nodejs
- /lua
- /c
- /julia
- /slackware
- /neovim