"Zig" rhymes with "dig", because Zig digs deeper. It has more detail in memory management, and it has its own independent compiler with its portability that bring different levels of potential.
And don't worry, because it is the final dig, as in A, B, C, D, . . . Zig.
Zig Could Write Other Languages
Zig could potentially be used to write higher level languages, exactly the way C is, or even better than C, because of its additional low-level detail.
Depending on the language being created, this might require some more low-level functionalities to be added in Zig. Zig will have new functionalities added in any case, because it is not done yet. But perhaps these functionalities should not be high level ones - just necessary ones that add breadth to what the language can be used to create.
Higher level languages could appear to be supersets of Zig, or not. They can function with a garbage collector. They could have a borrow checker. Part of this idea would be that they are highly compatible with each other, due to their common compilation and platform portability.
Imagine a collection of languages that were allowed to resemble Zig, and all had a very high level of compatibility - but were not actually the same language.
Note: It might not be a good idea to add a garbage collector to Zig itself.
Benefits Beyond Syntactic Taste?
Believe it or not, languages have more to them than personal taste in how they work. If their infrastructure lends to more potential and possibility, then it changes the level of importance that they have.
So the reason that this is a question is in how I see Zig's purpose. Does it truly gain in importance because it digs deeper and wider to create more potential in what it can create?
Simplicity that Creates Potential
Zig should be able to create more breadth and depth in its proximity to the hardware (than Rust for instance) and in what it can be used to create. Perhaps Zig would never be able to actually create Rust itself, because of the borrow checker in the compiler, but the idea of being able to create Rust should greatly lend to why Zig is supposed to be special, and what it is going for.
In my view, this ability to create is a big part of what should govern the features that Zig gets, to differentiate between staying small, and building breadth and depth. Simple should mean that the building blocks have great potential to build about as many things as you can think of.
No comments:
Post a Comment