[HN Gopher] How Uber Uses Zig
___________________________________________________________________
How Uber Uses Zig
Author : kristoff_it
Score : 280 points
Date : 2022-05-23 13:12 UTC (9 hours ago)
(HTM) web link (jakstys.lt)
(TXT) w3m dump (jakstys.lt)
| benreesman wrote:
| I will have to look at "zig cc". Right now I'm using NixOS for
| this, but more options never hurts.
|
| I can recommend Bazel for C/C++. If you're doing Rust or
| something you've already got a pretty good build story and maybe
| Bazel isn't worth the trouble. But CMake is a nightmare, and it
| goes downhill from there. If you're stuck learning a tricky build
| system with spotty docs, Bazel at least makes it worth your
| while.
| LAC-Tech wrote:
| In classic HN fashion, I will sidestep the content of the article
| and just say...
|
| Zig is the most productive I've ever been with a systems
| programming language. I've never been less frustrated dealing
| pointers and allocation in my life.
| TulliusCicero wrote:
| I have almost no systems programming experience, but I'm
| curious, how is it better than Rust?
| oconnor663 wrote:
| Rust definitely has a steeper learning curve, and sometimes
| it forces you into designs that may or may not be your
| preferred choice. (Typically your data ownership diagram in
| Rust needs to look like a tree with no cycles.) Many folks
| who learn Rust eventually feel like "the compiler was right
| all along", but not everyone feels that way, and the time
| investment to get to that point can be a lot.
| 2c2c2c wrote:
| The easiest way to put it is to just install/set up both
| languages, and jump into definitions of random stdlib
| functions.
| jefftime wrote:
| I strongly agree. I thought I would have this same feeling with
| Rust way back when I first learned about it, but the more I use
| Zig and Rust, the more I prefer the former for systems
| programming
| Jensson wrote:
| Sounds great, maybe I should take a look at zig. Rust feels
| too much like a data processing language instead of a systems
| language.
|
| Quick glance at Zig, it supports the kind of metaprogramming
| I always wanted in C++! Looks like regular code but
| guarantees to not typecheck the paths that can't be taken.
| Also has reflection! And since generic types are created like
| any other struct, you can write that metaprogramming like
| normal code as well!
|
| If it works as advertised then you could implement your own
| type constraints and type checking as regular code for those
| types, I always wanted to do that. Then I can implement
| compile time type constraints and type checking to see what
| the type supports and pick implementation based on that, or
| throw an error if the interface is passed some invalid type
| etc. This should make the code ultimately safer than even
| rust if you master this style of coding as you can move so
| much checking to compile time.
|
| What are the main problems with the language? This sounds
| great, just wanna hear what the drawbacks are.
| kristoff_it wrote:
| The worst part is that it's not done yet :^)
|
| This means that you will not find super complete
| introductory materials about every aspect of programming
| with Zig. The language reference is very good but for
| example the standard library doesn't have docs yet as we're
| still working on the autodoc tool. On the other hand
| reading the stdlib source code is very easy in good part
| thanks to the reasons you already mentioned in your post.
|
| https://github.com/ziglang/zig/wiki/How-to-read-the-
| standard...
|
| You might also be interested in reading about the project
| to see if you like where we're going (aside from technical
| details of the language).
|
| https://kristoff.it/blog/zig-new-relationship-llvm/
| https://kristoff.it/blog/maintain-it-with-zig/
| https://kristoff.it/blog/interfacing-with-zig/
| https://www.youtube.com/watch?v=AqDdWEiSwMM
|
| You can find links to learning materials in the "learn"
| section of the official website:
|
| https://ziglang.org/learn/
|
| Last but not least, at the moment we compensate the lack of
| learning materials by having a community that it's very
| good at helping newcomers, so make sure you join one of the
| communities.
| pcj-github wrote:
| I recall reading https://andrewkelley.me/post/zig-cc-powerful-
| drop-in-replace... as well and thinking this would be great to
| integrate with Bazel for hermetic cross-compile of go/cgo. Great
| to see they actually went and did it! Will definitely be trying
| this.
| goodguyamerikan wrote:
| [deleted]
| nobleach wrote:
| This is why I tend to follow the project's Twitter account and
| NOT the authors. Authors are humans with human opinions. Some
| folks seem more hellbent on USING their project's popularity to
| spread their views... but, I don't think I've ever seen a
| project's Twitter retweet the author (it's usually the other
| way around).
| lr1970 wrote:
| A word of caution: Uber uses `zig cc` toolchain to compile C/C++
| code, not Zig language. Moreover, from the article itself:
|
| > "Uber does not have any plans to use zig-the-language yet."
| tomatowurst wrote:
| scrubs wrote:
| > ...immediately.... Really? You might want breath a little bit
| and then relook at Zig. If you've got C code and you're stuck
| with it, Zig might be the "C" girl that got way!
| motiejus wrote:
| Author here.
|
| Took a while to get thumbs-up to publish the talk. Happy to
| answer questions, if any.
| [deleted]
| CoastalCoder wrote:
| I agree with a sibling comment: when I read "Zig" I assumed the
| language.
|
| You might consider adding "toolchain" to the title.
| motiejus wrote:
| Good suggestion, though the title of my original talk (in the
| linked video) was even less assuming: "How Zig is used at
| Uber".
|
| Will not change it now though, as this blog post is the
| _last_ piece of this talk+announcement effort.
| seg_lol wrote:
| pip install ziglang
|
| https://github.com/ziglang/zig-pypi
| thebiglebrewski wrote:
| Thanks for publishing this, it was an interesting look into the
| topic!
|
| Can you explain at a higher level why Uber has the need to go
| to such a lower level with its programming? What services need
| the kind of speed that Go, Zig, and the like provide in
| particular? I guess I was kind of surprised to see a
| conversation about low-level compilation of programs being
| super related to Uber's core mission(s)?
| motiejus wrote:
| Some services span many many hosts (not sure I can say how
| many though). Not because they are inefficient; that's
| because it takes many cpus to do to support our
| trips/eaters/etc.
|
| Most of the services benefit from speed/efficiency of Go: the
| more effective the language (runtime) is, the less we pay for
| hosting it, the cheaper the service to the customers.
|
| Given that, the GC costs are still significant. Depends what
| you compare against.
| thebiglebrewski wrote:
| Appreciate the answer. In hindsight do you think any
| solutions could have been purchased that the company
| "rolled" itself? Was it necessary to create such a huge
| engineering organization and deep level of technology for
| what's essentially a ride hailing and food delivery
| company, or was it more needed to burnish the company's
| image to investors as a "technology company"? I don't mean
| to offend with this question, I'm just honestly curious.
| throwaway2037 wrote:
| This is cool. I don't know why the author wrote <<Uber signed a
| support agreement with Zig Software Foundation (ZSF) to
| prioritize bug fixes. The contract value is disclosed in the ZSF
| financial reports.>> ... but did not provide the amount.
|
| Here is what I could find: *
| https://ziglang.org/news/financials-update/ * https://docs.
| google.com/spreadsheets/d/14_ljFHGFXY5NhBhlfjgkO0RZHqeVv04fAmCxw3
| ZusYc/edit#gid=1409515513 2022-01-21 Deposit Uber UBER
| USA,LLC EDI PAYMNT JAN 20 1454320
| REF*TN*0001454320*1\ Support Contract 52,800.00
|
| Great work! Keep it up Zig community.
|
| (edit for formatting only)
| ryanworl wrote:
| The amount is in a screenshot in the article itself with the
| subtitle "The amount of money that changed hands is public,
| because ZSF is a nonprofit."
| stevekemp wrote:
| There was a screenshot towards the bottom of the article which
| showed the figure(s) so that wasn't really excluded.
|
| Though I guess including it inline would have been nicer for
| the readers.
| [deleted]
| [deleted]
| spaniard89277 wrote:
| I don't know about such deals, but isn't 52k like nothing for
| such agreement? It's close to free support.
| throwaway2037 wrote:
| Honestly, I'm not sure, but it is a worthy question. I
| quickly searched that doc: It is the _only_ "Support
| Contract" entry. I sincerely hope they get more.
| nicoburns wrote:
| Presumably that depends on how support that contract covers,
| and over what time period. If it covers 1 hour/month over a
| monthly time period it's a huge amount. If it cover 40
| hours/month over a yearly time period then it's a pretty
| small amount given the usual rates for such services
| (although still more than some people make for that amount of
| work).
| radiator wrote:
| No, actually 52800 US dollars is a lot different than
| nothing.
| orthoxerox wrote:
| It's a 52k bonus for basically doing what you're already
| doing.
| TheSoftwareGuy wrote:
| It is $52k to prioritize bugs which Uber reports to be
| impacted by, ahead of other bugs
| kevincox wrote:
| Exact. It is money to fix bugs. Presumably these bugs would
| be desirable to fix anyways, this just changes the
| priority.
|
| Unless the reported bugs are not really bugs or the reports
| of of very low quality there appears to be little downside
| for what could potentially pay for a full-time dev.
| johanj wrote:
| The contract details are outlined in the blog post. Depending
| on the number of hours worked to fix some issues, it is
| likely fair. > Contract terms were roughly as
| follows: > * Uber reports issues to
| github.com/ziglang/zig and pings Loris. > * Loris
| assigns it to someone in ZSF. > * Hack hack hack hack
| hack. > * When done, Loris enters the number of hours
| worked on the issue. > > Uber has a right to
| ZSF members' time. We have no decision or voting power
| whatsoever with regards to Zig. We have right to offer
| suggestions, but they have been and will be treated just like
| from any other third-party bystander. We did not ask for
| special rights, it's explicit in the contract, and we don't
| want that.
| 2c2c2c wrote:
| Does this mean 52k upfront + (hour rate) * hours? If not,
| how much "time" of ZSF does Uber own?
| cortesoft wrote:
| It's impossible to tell without details of what the support
| agreement includes. My large company has support contracts
| with a lot of vendors, and many of them are for way less than
| $52k
| traceroute66 wrote:
| I have beef with people who boast $big_corp uses X/Y/Z.
|
| This beef applies to both commercial vendors using corporate
| logos on their "customers" pages, as well as open source projects
| wanting to hype up their community.
|
| Why ?
|
| Simple. $big_corp is BIG. I'm sure if you look hard enough you'll
| find all sorts of commercial and open-source technologies being
| used at $big_corp.
|
| It doesn't mean they use it for critical functions or even any
| production functions.
|
| And then when we start talking about "tech-savvy" $big_corp such
| as Uber, then its almost guaranteed they've got some devs sitting
| somewhere playing around with bleeding-edge tech .... but it
| still doesn't mean they are using it in production, or will be
| using it "soon" ... that tech might well get bored of X/Y/Z move
| on to the "next big thing".
|
| Or they might deploy it to production but only in Beta test to
| select customers, or A/B testing to larger groups.
| Aissen wrote:
| I think the big difference here is the "How". In general, I'd
| agree, but the article seemed pretty honest that this was a
| small project (in manpower, not necessarily scope); yet they
| did everything right by supporting the project. It was also
| honest about not using the language, but its tools.
| romanhn wrote:
| Having reference customers that are willing to be publicly
| associated with your product is one of the most important tools
| in the product marketing toolbox. It's not meant for you as a
| consumer, but rather for the decision-makers/buyers at similar
| organizations.
| moron4hire wrote:
| I get what you're saying. I know of a few digital agencies that
| list every client they've ever worked with, but not list what
| actual projects they worked on. In a huge number of cases,
| those projects were almost inconsequential. One in particular
| at which I previously worked has a website all about game
| development and VR, because they aspirationally want to work on
| those things, but all of their actual work has been tiny RoR
| marketing pages that a friend-of-a-friend farmed out to them as
| a favor. It disingenuously makes it seem like they built full
| VR apps for those clients.
|
| I personally take every company's website that lists all their
| business divisions and all their clients separately without
| actually listing projects with a huge grain of salt. If you
| can't at least make a press release about a project, then
| what's even the point of listing those clients for those
| projects?
| throwaway2037 wrote:
| It helps senior purchasing managers to defend their decision to
| even more senior managers (many non-technical) to pay a
| relative unknown name a biggish sum of money for their product
| (or support).
| traceroute66 wrote:
| > It helps senior purchasing managers to defend their
| decision to ....
|
| Ah yes. The famous "Nobody got fired for buying IBM" school
| of purchasing.
| KerrAvon wrote:
| Even so, plenty of people were still willing to buy from
| established IBM competitors during that era. There's a
| difference between that and buying from someone no one in
| the C-suite has ever heard of, which is where `zig` is
| currently.
| tuvan wrote:
| Whats even worse is when vendors do this without even having
| any affiliation with the companies they are name dropping.
| Example: planetscale.com "Trusted by Github, Square,
| Soundcloud...)" just because they are using the same open
| source database.
| samlambert wrote:
| We have a commercial relationship with every company in our
| top banner.
| mcronce wrote:
| I was thinking as I read that comment that it seemed
| unlikely you would not only (1) attempt to use companies'
| logos without their permission and without accurately
| representing the relationship, but also (2) get away with
| it
| kristoff_it wrote:
| You should read the full post or watch the video, even the TLDR
| at the top of the blog post would have clarified exactly what
| is the scope in which Uber is using Zig.
|
| As to whether that's enough to justify for making a fuss about
| it, it's up to you, but you can't do that analysis if you stop
| at the title.
|
| On top of all of that, the blog post and talk are about the
| journey that the author went trough to bring an unproven
| technology into their company and I think it deserves to be
| appreciated in a more nuanced way than a logo on a web page.
| UncleEntity wrote:
| I read the article and am still confused.
|
| They use zig to compile go code transpiled to C is what I got
| out of it.
|
| Not really sure why they don't throw some money at go so it
| could pin the glibc version it compiles against as that seems
| to be the stated problem.
| scottlamb wrote:
| "CGo" is a FFI technique for Go code to call into C. My
| read is that they haven't transpiled any Go to C; they're
| compiling and linking a mixed Go+C program. And IIRC, Go on
| Linux makes direct syscalls rather than using libc, so the
| need to pin glibc versions is exclusively on the C side.
| That's probably why the Go folks haven't invested much
| effort into it. I don't know if there's anyone you could
| throw money at who would get glibc pinning for CGo
| implemented and merged.
|
| I certainly would love to see this become equally easy in
| other languages / with standard toolchains. I write a lot
| of Rust. I have one program in particular that I'd like to
| make a one-binary install that works on old glibc versions.
| My program uses glibc both through Rust's std and through a
| C library (SQLite) it compiles/links in. I'd prefer to just
| throw a glibc version in my Cargo.toml and have cross
| compiling Just Work, rather building within a Docker
| container with an old glibc version, or having to install
| both Rust and Zig toolchains, or the like.
| motiejus wrote:
| We are though. Look for "Timeline of 2022 so far" for the
| current status, and what our _production rollout_ plans for
| 2022 are.
| giancarlostoro wrote:
| > I have beef with people who boast $big_corp uses X/Y/Z.
|
| I do not, it is how you gauge if something has been tried and
| tested in production for example Go. It doesn't hurt whatsoever
| knowing that Go is used in production by Google in various high
| demand systems.
|
| The more companies I see using a product in production, the
| more I can determine feasibility. I just wish more companies
| would have technical blogs to describe their experiences.
| LosWochosWeek wrote:
| > doesn't hurt whatsoever knowing that Go is used in
| _productio_ by Google in _various high demand systems_.
|
| (emphasis mine)
|
| Bit odd how you could miss the only point OP was trying to
| make. Yes, if you know that TECH_X is used in production at
| BIG_CORP_Y, it's very helpful. I can tell you that in the
| BIG_CORP I work for, we quite possibly use or have used any-
| and everything for _something_. The point OP was trying to
| make is: What is that something?
| traceroute66 wrote:
| > The point OP was trying to make is: What is that
| something?
|
| Nail. Head.
|
| If you want a one-liner to summarise my post, this is it.
| aidenn0 wrote:
| Considering the context of the original comment: a top-
| level comment on an article that details _exactly_ how
| Zig is used at Uber, it 's understandable that people
| misunderstood.
| giancarlostoro wrote:
| In the case of Google it is Go's built-in web server was
| good enough to handle workloads that any smaller company
| wouldn't come close to a Google tier web load. I get what
| was meant, I guess I should of elaborated why I chose Go as
| an example.
| citrin_ru wrote:
| > I do not, it is how you gauge if something has been tried
| and tested in production
|
| FAANG size company can use in production much less mature
| software than most small companies. If they want to use X
| they don't need to wait when X will be mature - they can make
| it so for the use cases they have (which may differ from the
| use-cases you have). They can hire an X expert or dedicate a
| few engineers who will learn X and become X experts. Even if
| they will encounter a problem in production (not every bug
| can be prevented by pre-prod testing) these engineers will
| debug and fix it and with the help of CI/CD pipeline the fix
| will be in production in a few hours or days at most.
|
| What would a smallish company do in a similar case - report a
| bug to developers and hope it will be fixed and the fix will
| be included in the next release which will arrive as an OS
| package / Docker image several months later.
| dom96 wrote:
| This really shows the genius of `zig cc`: companies adopting the
| toolchain will have a much easier time adopting the language too
| in the years to come.
| mrtweetyhack wrote:
| anoy8888 wrote:
| I still find it hard to comprehend how a one of the tools of a
| taxi calling app has this much complexity and have thousands of
| engineers working on it . It surely must solve a difficult
| technical problem but I suspect the business impact is minimal as
| these apps were able to become widely successful initially
| without this level of complexity
| hu3 wrote:
| https://www.uber.com/global/en/cities
|
| Any kind of business operating at these many places, having to
| deal with local laws, tax and payment processing in each one of
| them would require a huge and constant engineering effort.
| hansworst wrote:
| I guess it is just a taxi calling app, but I have to say that
| for me personally, Uber has become a very useful tool because I
| can just instantly get wherever I need to go whenever I travel
| to a new place I've never been before. I hardly ever use Uber
| in my home city, but when I travel I use it all the time.
|
| That kind of stuff used to involve a bunch of planning, now I
| just open an app and I immediately get a decent estimation of
| time needed and price to get to my destination, all over the
| world. I don't find it so surprising that there is a bunch of
| complexity involved there.
| speedgoose wrote:
| > Our Go Monorepo is larger than Linux kernel, and worked on by
| a couple of thousand engineers. In short, it's big.
|
| I was very surprised too. So much complexity must slow them
| down a lot.
| latchkey wrote:
| Having worked briefly for Grab, I can comprehend it.
| didip wrote:
| This is like saying: Why Google need to hire so many engineers?
| It's just a single search field.
| dangoor wrote:
| > I still find it hard to comprehend how a one of the tools of
| a taxi calling app has this much complexity and have thousands
| of engineers working on it
|
| You can really say this about almost anything once it's
| established. A startup can seemingly get really far with just a
| handful of people, but that startup is undoubtedly also dealing
| with only a handful of the use cases and edge cases. They also
| don't have legacy to maintain and upgrade. They also don't have
| all of the issues of scale.
|
| Couple that with the fact that as outsiders we likely only see
| a tiny fraction of what the system ultimately needs to deal
| with.
|
| I'd get this sort of feedback here whenever talking about Khan
| Academy's work, so I ended up blogging about it to give a sense
| of how much more there is than what people think about:
| https://www.kevindangoor.com/posts/why-khan-academy-has-so-m...
| vidar wrote:
| The user facing part of the technology behind such a company is
| just a fragment of the whole puzzle
| whimsicalism wrote:
| have you worked at a large tech company before? there are so
| many opportunities for micro-optimization that, if they pay for
| themselves, are worth hiring for.
| dagmx wrote:
| To be fair to them, Uber is more than just a ride hailing
| service.
|
| It's also a food buying marketplace with, a package, grocery
| and meal delivery service.
|
| There's also their autonomous research division.
|
| Plus even with just the ride hailing service, they have tons of
| things that require engineering like load balancing of their
| drivers to requests in an area, and predictions for pricing and
| route timing.
|
| There's also the whole messaging component to it.
|
| It's a lot more complex of a company than it appears on the
| surface.
| didip wrote:
| Autonomous research division is gone, right?
| jasode wrote:
| _> I still find it hard to comprehend how a one of the tools of
| a taxi calling app has this much complexity and have thousands
| of engineers working on it ._
|
| Fyi... have you already seen the famous Uber engineer comment
| on the complexity of the app?
|
| https://news.ycombinator.com/item?id=25376346
|
| As a case study, the simpler non-profit RideAustin app fails
| customers even after Uber/Lyft left Austin:
| https://techcrunch.com/2017/03/12/austin-is-fine-without-ube...
|
| It takes a lot of money and engineer salaries to make high-
| demand apps that work. That's not to say Uber staffing isn't
| bloated; they may be. That doesn't change the fact that
| armchair observers may still drastically underestimate how many
| hundreds (or thousands) of programmers it requires to build
| something equivalent.
| Jensson wrote:
| Bolt (Taxify) built a similar service with a few hundred
| people and has now taken a significant market share in
| Europe. At least the people I talk to recommend taking bolt
| over uber since it is the same service but cheaper. It has a
| map and you can see where you are live etc, and it schedules
| rides intelligently so you can get a ride with a car that is
| full but is about to drop off near you, just like uber.
|
| Not sure why Uber needs so many people in silicon valley when
| apparently you can build an equivalent service with a few
| hundred people in Estonia costing 1/10 per head.
| [deleted]
| [deleted]
| wiremine wrote:
| Title is a bit misleading, since they're not actually using Zig
| the language.
| throwawaymaths wrote:
| https://ziglang.org/
|
| Zig is a general-purpose programming language _and toolchain_
| for maintaining robust, optimal, and reusable software.
|
| Emphasis mine
| jb3689 wrote:
| Yeah, it seems odd to me that the title is "How Uber Uses Zig"
| but the first line of the page literally says "this blog post
| is not affiliated with Uber"...
| kristoff_it wrote:
| The author works at Uber, that line means that its just his
| personal blog and that his opinions are not necessarily the
| same as Uber's.
| colesantiago wrote:
| > Uber does not have any plans to use zig-the-language yet.
|
| I would say that Uber uses the Zig toolchain, title is a bit
| misleading as I thought that Uber uses Zig (the language)
| kristoff_it wrote:
| The title is as misleading as you want it to be, Zig (the
| language) is famous for not being yet stable, did you really
| expect Uber to use it in production?
|
| edit: I just realized that maybe you were referring to the HN
| title. The real title is "How Uber Uses Zig" but HN cut the
| "How", making the title seem a stronger statement that what
| it's intended to be.
| yjftsjthsd-h wrote:
| > Zig (the language) is famous for not being yet stable, did
| you really expect Uber to use it in production?
|
| Yes, easily. If Uber has a reputation for valuing stability
| over new shiny tech, I've never head it.
| Kiro wrote:
| I hate HN's automatic title parsing. I get offended every
| time I post something and the title is automatically
| converted to something unintended.
| ntoskrnl wrote:
| Someone should write a blog post called "How changing
| titles makes Hacker News worse"
| gibolt wrote:
| It's quite comical how the auto formatter would make that
| factual, by removing the 'How' :)
| avgcorrection wrote:
| > The title is as misleading as you want it to be, Zig (the
| language) is famous for not being yet stable, did you really
| expect Uber to use it in production?
|
| You seem a bit confrontational considering your role.
|
| The Uber title would have been more clear if it said "How
| Uber Uses zig(1)". No, I don't expect capital-Z Zig to mean
| the compiler but not the language itself.
| kristoff_it wrote:
| Zig is a programming language and toolchain, it's on the
| website. Uber is not only using the compiler but also the
| linker.
| scottlamb wrote:
| I'd expect most people to read "Zig is a general-purpose
| programming language and toolchain" as saying Zig has a
| toolchain for compiling _itself,_ which is unremarkable.
| The idea that an experimental language 's toolchain might
| be superior at (cross-)compiling and linking C than gcc
| or clang is not obvious and isn't described that well on
| the front page. I see the "Maintain it with Zig" section
| has a bullet point about this, but it's not that
| prominent IMHO and doesn't say why. I heard elsewhere how
| great Zig is for cross-compiling C. (Easily targeting
| arbitrary glibc versions is a great feature!)
|
| IMHO, you'd be wise to consider this paragraph
| avgcorrection wrote:
|
| > You seem a bit confrontational considering your role.
|
| Not everyone opening up an article on HN will have the
| context you do that Zig is an experimental language, that
| it has a toolchain that can do this, etc. Maybe look at
| how you can work on that rather than say stuff like "The
| title is as misleading as you want it to be"?
| kristoff_it wrote:
| > Not everyone opening up an article on HN will have the
| context you do that Zig is an experimental language, that
| it has a toolchain that can do this, etc. Maybe look at
| how you can work on that rather than say stuff like "The
| title is as misleading as you want it to be"?
|
| All this stuff is mentioned in the blog post itself, some
| of it even in the opening TLDR.
| scottlamb wrote:
| > All this stuff is mentioned in the blog post itself,
| some of it even in the opening TLDR.
|
| Yes. And...it was a surprise, people found the blog
| post's contents inconsistent with the HN title "Uber Uses
| Zig". People identify Zig as the language, not the
| toolchain, in part for the reasons I just described. You
| mentioned the website describes the toolchain, but I
| don't think it did it as well as it could.
|
| As the VP of community for Zig, do you want to be telling
| everyone on HN that they're wrong? Or do you want to be
| welcoming, to build a Zig website that helps people
| quickly understand what Zig is, etc.?
| cultofmetatron wrote:
| haha its hilarious but true that zig is really an amazing c
| compiler build system that happens to include an alternative
| safer c like language.
| devmunchies wrote:
| I was getting a 404. taken down?
|
| here is archive:
| https://web.archive.org/web/20220523131231/https://jakstys.l...
| motiejus wrote:
| DNS. Looking.
|
| Edit: not DNS. Starting a restart-in-a-loop for now. Thanks for
| flagging.
|
| Will not take this down.
___________________________________________________________________
(page generated 2022-05-23 23:01 UTC)