
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

nim-lang/Nim.
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages lik...
New

As I continue to work on Cyberscore, I keep finding new quirks / features in PHP and MySQL. All of the tests below are being run on mysql...
New

One of Haskell’s features that I really liked was list comprehensions, so I was very pleased to discover how nice Julia’s comprehensions ...
New

In recent months I use Go for the implementation of Proof of Concept in my leisure time, partly to study of Go programming language itsel...
New

A conversation with Laurent Mazare about how your choice of programming language interacts with the kind of work you do, and in particula...
New

Algebraic effects and handlers provide a modular abstraction for expressing effectful computation, allowing the programmer to separate th...
New

Multicore OCaml by kayceesrk · Pull Request #10831 · ocaml/ocaml.
This PR adds support for shared-memory parallelism through domains and...
New

Ruby: How to Run a Rack app in a Background Thread.
Stubbing and mocking are fine, but sometimes you want to test full integration. This...
New

One of the strongest sides of Go programming language is a built-in concurrency based on Tony Hoare’s CSP paper. Go is designed with conc...
New

Postgres 18 introduces Asynchronous I/O (AIO) that can dramatically improve read performance, especially in the cloud. Learn how these ch...
New
Other popular topics

What chair do you have while working… and why?
Is there a ‘best’ type of chair or working position for developers?
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

Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face:
https://on...
New

Just done a fresh install of macOS Big Sur and on installing Erlang I am getting:
asdf install erlang 23.1.2
Configure failed.
checking ...
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

Think Again 50% Off Sale »
The theme of this sale is new perspectives on familiar topics.
Enter coupon code ThinkAgain2021 at checkout t...
New

Create efficient, elegant software tests in pytest, Python's most powerful testing framework.
Brian Okken @brianokken
Edited by Kat...
New

If you want a quick and easy way to block any website on your Mac using Little Snitch simply…
File > New Rule:
And select Deny, O...
New

Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New

There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /rails
- /python
- /js
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /svelte
- /typescript
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /flutter
- /elm
- /vscode
- /ash
- /opensuse
- /html
- /centos
- /php
- /deepseek
- /zig
- /scala
- /textmate
- /lisp
- /sublime-text
- /nixos
- /debian
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /django
- /ubuntu
- /revery
- /manjaro
- /spring
- /nodejs
- /diversity
- /lua
- /deno
- /julia
- /slackware
- /c