Comments (3)
On 2023-09-25 a user in the Zig Discord (in #meetups) asked:
is there a reason why x86_64 linux isn't listed in the zig downloads?
After being shown that there is indeed an x86_64 linux asset listed, the user said that they were confused by this:
#311 is a follow up to that, and it looks like an improvement to me. But I think the ordering is also a contributing factor here.
from www.ziglang.org.
Yes the ordering of OSs and architectures is deliberate and defined here https://github.com/ziglang/www.ziglang.org/blob/master/config.toml#L29-L50
This was originally designed to be like this by Andrew and since I too shared the same preference, I reimplemented the original system when I redesigned the website.
Even if the above asset ordering is supposed to convey something, the ordering isn't currently explained on that page.
True, but at the same time the idea is simple:
-
windows is at the top so that, as you scroll towards your OS, you see that we do have support for windows. it's common for OSS projects to leave windows support as an afterthought and this way we silently say that we hope to do better / make sure that more people become carriers of that information
-
arches are sorted by popularity, so that most people will find their arch right away. So that means x86_64 for windows, and aarch64 for macOS
Hopefully this makes clear the intent behind the ordering, and why we never really made it explicit.
In the end, in my opinion, while minor, it's a good thing to have even at the expense of making the sorting a bit weird for people that stop to smell the ordering :^)
I've merged #311 and with that implemented I don't feel impelled to make any other changes given the information at my disposal. That said, happy to discuss it further if you want to add some more arguments to the mix.
from www.ziglang.org.
Thanks for your thoughts.
I think 931966d is a significant improvement, and probably prevents most problems like that experienced by the Discord user above.
I'm fine with the current ordering, and I can see the rationale now. But since you're interested in more arguments against the status quo, I'll try to provide some below. Please feel free to close this issue if you still aren't impelled to make more changes - I'm no longer persuaded that this is worth the reader's time.
TL;DR: Bikeshedding, I think there's still an argument for either:
- Moving
x86_64
aboveaarch64
for macOS, to match the ordering for Windows and Linux. - Or ordering the architecture alphabetically, with the rationale that it:
- Is more intuitive (at least for me), especially if Zig adds assets for other architectures in the future.
- Avoids the question of when to re-order architectures as popularity changes.
I don't think it works exactly like "the user looks for macOS, then starts searching the arch column, and finishes earlier because their architecture is higher up". I think putting x86_64 at the top for Windows (and Linux) produces an expectation that x86_64 is at the top for macOS. Especially if the user has to scroll down to see the macOS assets, and because "x86_64" is now vertically higher than "Windows" (and the user looks first in the top left).
- windows is at the top so that, as you scroll towards your OS, you see that we do have support for windows. it's common for OSS projects to leave windows support as an afterthought and this way we silently say that we hope to do better / make sure that more people become carriers of that information
I'm fine with the ordering of OSes as it is currently. But I'm not sure that the current ordering is consistent with the above rationale: shouldn't we move FreeBSD (and potentially later NetBSD/DragonFlyBSD/OpenBSD, given that they're currently in the same support tier as FreeBSD?) upwards on the basis that BSD support is often an afterthought? Furthermore, if we order OSes by "decreasing OSS afterthoughtness", isn't it unintuitive to order architectures by something akin to "increasing OSS afterthoughtness"?
arches are sorted by popularity
Is this strictly true? Does "popularity" mean download counts of Zig assets? And if not, popular for whom - all people globally, developers globally, or Zig users in particular? Do we have data to suggest that for that audience, for example:
- aarch64 has become more popular than x86_64 for macOS? Apple's first arm64 machines were released in November 2020, and not all people-who-might-buy-a-mac have bought a new machine in the last 3 years.
- x86 is the second most popular architecture for Windows?
- x86 is the second most popular architecture for Linux?
Would we plan to adjust the ordering in the future as architectures change popularity? And how would we decide where to put mips
and sparc64
, which are in the Tier 1 support tier? If an architecture is more popular than x86/armv7a/powerpc, but less popular than x86_64/aarch64/powerpc64le respectively, would we split a similar-architecture pair?
from www.ziglang.org.
Related Issues (20)
- No new dev release on the website HOT 1
- Wrong fact in the "Why Zig When There is Already C++, D, and Rust?" article HOT 1
- Spelling mistake in the build.zig.zon example file HOT 3
- `zig init-exe` is deprecated HOT 4
- Language names inside the footer are broken in the middle of the word
- Build Tarballs is failing
- The `Options for Conditional Compilation` code snippet encounters an error HOT 2
- Hard-to-read text in `why_zig_rust_d_cpp` HOT 3
- Discrepancy between @src when invoked via `zig build` or in project code HOT 1
- 0.12.0 release notes link to llvm 16 release notes HOT 1
- signing keys on https://ziglang.org/download/ HOT 2
- Putting 0.12 Release above master on the download page HOT 1
- Zig Standard library documentation in 0.12 language reference linking to master HOT 1
- Mark current stable release in download.json HOT 6
- hugo serve: Error executing zigdoctest for [assets/.../1-simple-executable/build.zig]: AccessDenied HOT 1
- ziglang.org/download/index.json is often out of date HOT 1
- Typo: a small typo in the Russian version of the documentation HOT 1
- Language Reference: `master` hyperlink broken when `0.13.0` is selected. HOT 1
- In-Depth Overview states that "The reference Zig compiler is not completely self-hosted yet" this is not true anymore HOT 1
- Re-design home (landing) page HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from www.ziglang.org.