Our great sponsors
|4 days ago||about 13 hours ago|
|Creative Commons Zero v1.0 Universal||MIT License|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
What Makes the Zig Programming Language Unique?
6 projects | news.ycombinator.com | 5 Oct 2022
> TIOBE's data is so botched...
Stop deluding yourself. If we take out TIOBE, and use the IEEE's Top Programming Languages of 2022, D is still recognized (even higher than the 30s) while Zig, Nim, or Crystal do not even make their chart. That's the reality.
To begin with, you are a known troll (with possibly multiple troll accounts at HN) that has spent over an year engaging in slander and lies about the language almost any time it's mentioned.
Looks like you are the creator or involved with some other language that can't get as much support or popularity. It would be advisable for you to stop being obsessed with Vlang. How many years of your life will you waste on such childish antics? You would be better off focusing on making your programming language better, if it's not already too late and its a failure.
As for pushing this bold face lie that the language is a "scam", that's both ludicrous and easily proven false. Vlang has many hundreds of code examples and projects. Easily found at: 1) Vlang examples on GitHub (vlang/V/tree/master/examples). 2) Vlang at Rosetta Code (https://rosettacode.org/wiki/Category:Vlang). 3) Awesome Vlang at GitHub (https://github.com/vlang/awesome-v).
The "scam" is you tricking yourself into thinking that your troll tactics are working. Instead, your continual defamation is making what you are even more obvious.
Good first project to learn Vlang
3 projects | reddit.com/r/vlang | 13 Sep 2022
Where I totally agree with you is about how we can have different interpretations of what this involves. Thus, I kind of go with examples and projects. Awesome V on GitHub, would probably be a good place to find something, if a person wanted to get into some significant projects, but don't know how deep the OP wants to go.
17 projects | news.ycombinator.com | 17 Apr 2022
Do you find C fun?
2 projects | reddit.com/r/cprogramming | 27 Mar 2023
If OP thinks C is difficult, Rust will give him a huge headache. I'd suggest looking at Zig instead.
Blog Post: Zig And Rust
If you have an idea on how to better make formal method interfaces composable (via package manager), take a look at https://github.com/ziglang/zig/issues/14656. I was thinking on something akind to refinedC, but I have no idea which formal models are composable and where this could be useful in combination with IO.
Simplicity again, but this time via expressiveness of comptime. A lot of type-level things which are complex in Rust would be natural in Zig. An example here is this PR, where I make a bunch of previously concrete types generic over a family of types. In Zig, that amounts to basically wrapping the code into a function which accepts a (comptime type) parameter. That's a bog standard mechanical generalization. In Rust, doing something like that would require me to define a bunch of traits, probably with GATs, spelling out huge where clauses, etc. Of course, with Zig I don't have a nice declaration-time error, but the thing is, the complexity of the code I am getting an error is different. In Rust, I deal with a complex type-level program which has a nice, in principle, error. In Zig, the error is worse, but, as the program itself is simpler, the end result is not as clear cut. The situations flips if we go complex cases. In Zig, AOS<->SOA transformation is just slightly-clever code, in Rust, that would require leaving the language of types and entering the language of macros.
Maybe? They say their stage2 parser accepts them now.
For my interests (DPDK, NIC, low level storage I/O etc.) I have high hopes for Zig. And for reasons other have explicated over the last year on HN, I think it'll work much better than Rust.
Readers should have realistic expectations. It's not substantially downhill to write C like code. I ran into this bug right off the bat. TL/DL: Zig linkers does not pull in dynamic libs. It finds static libs but alas the .tsk doesn't give expected behavior anyway:
A. Kelly (head Zig dev), to his credit, seems to already be on top of in this through a related bug:
I didn't expect to run into link problems on day 1.
No, it won't work. It'll say "actual" is undeclared.
https://github.com/ziglang/zig/issues/4437 is tracking the issue. I think std.testing is going to see some major changes, so it's possible this gets fixed. But going from the responses in that issue, I think that fix might be more of a side effect, since there doesn't seem to be too much sympathy for the issue as-is.
Then you better refill your Zoloft because it looks like there's going to be one last big disruption before it's over. https://github.com/ziglang/zig/issues/1097#issuecomment-1404...
LLVM 16.0.0 Release
7 projects | news.ycombinator.com | 18 Mar 2023
Xtensa support (esp32). Will be interesting how this will be for Rust and Zig support for esp32
Tree(1) in Zig
4 projects | reddit.com/r/Zig | 18 Mar 2023
A bit late but one more option for this is the SegmentedList (std.SegmentedList). It's basically an array list but instead of reallocating, it allocates new space for the new items and keeps the old ones in place. I head Andrew talk about this in one of his streams and thought it was an awesome idea.
What are some alternatives?
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Odin - Odin Programming Language
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
rust - Empowering everyone to build reliable and efficient software.
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
go - The Go programming language
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
crystal - The Crystal Programming Language
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
zig-range - A range function to loop over an index without an extra variable.