zig
v
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
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.
zig
-
Show HN: Error return traces for Go, inspired by Zig
https://github.com/ziglang/zig/issues/7295
Or is it that the three years it’s been around indicate it will never progress?
-
Factor is faster than Zig
Actually it seems according to the issue that TigerBeetle (one of the bigger zig projects out there) noticed this issue [1]. It's also on their issue tracker [2].
Zig’s issue tracker list them [0].
[0]: https://github.com/ziglang/zig/issues?q=is%3Aopen+is%3Aissue...
- BunJS : La star montante du monde JavaScript
-
Mojo is now available on Mac
Chapel has at least several full-time developers at Cray/HPE and (I think) the US national labs, and has had some for almost two decades. That's much more than $100k.
Chapel is also just one of many other projects broadly interested in developing new programming languages for "high performance" programming. Out of that large field, Chapel is not especially related to the specific ideas or design goals of Mojo. Much more related are things like Codon (https://exaloop.io), and the metaprogramming models in Terra (https://terralang.org), Nim (https://nim-lang.org), and Zig (https://ziglang.org).
But Chapel is great! It has a lot of good ideas, especially for distributed-memory programming, which is its historical focus. It is more related to Legion (https://legion.stanford.edu, https://regent-lang.org), parallel & distributed Fortran, ZPL, etc.
-
Building Apps with Tauri and Elixir
The answer was given by the Elixir community with burrito which enables users to pack up everything an Elixir application needs within a binary namely Zig Archiver to package the binary and Zig Wrapper that wraps the Erlang Virtual Machine to be used in multiple platforms (Zig + Rust in the same project 🤯).
-
Roadmap to master zig
Do not try implementing something by yourself, especially if you are like me ( loosing motivation instantly if something goes wrong ). So what to do ? Go to std , just try copying implementations from there. This leads to solid understanding how to write right code. If you don't understand something you can always go to documentation ( 2 ) and look there or into std itself and just discover tests that are written for specific structs, they really help a lot.
-
Ziggy Pydust: a toolkit for building native Python extensions in Zig
If you're not familiar, Zig is a low-level general purpose programming language that provides improved safety over C/C++ and powerful compile-time meta-programming called "comptime".
-
Arena Allocator Tips and Tricks
There's support for this type of OOM testing in Zig's std.testing:
- https://github.com/ziglang/zig/blob/1606717b5fed83ee64ba1a91...
- https://www.ryanliptak.com/blog/zig-intro-to-check-all-alloc...
v
-
Show HN: A new stdlib for Golang focusing on platform native support
Goroutines was the selling point for me until they decided to introduce telemetry in their toolchain; that was what forced me to stop using Golang as a whole.
About GC, I would say: if you implement C++'s RAII mechanism to replace garbage collection, then I believe this project will have a bright future.
My final question is the following: how `pcz` compares to V language, from a syntax's perspective [1]?
-
The V Programming Language 0.4
In both the review itself and in V's documentation, from which the example came, it states that autofree is still WIP. It's arguably disingenuous to pretend otherwise or present unintended usage.
The normal "day-to-day" situation would be to have the GC on, and to do otherwise (like -gc none or -prealloc), one should know what they are doing or be prepared to deal with such issues.
Those parts of the review, considered relevant in normal usage were resolved:
https://github.com/vlang/v/issues/14803
https://github.com/vlang/v/issues/14787
https://github.com/vlang/v/issues/14786
But even beyond that, the intent of the so-called review was arguably malevolent. It was not done in good faith, to be helpful to the developers or community, but done to spur on drama (thus adding the vaporware link and spamming it) and knowingly looking for ways to bash an alpha version of the language.
V has the right to exist, have its supporters, and do things its own way. The creator and developers of V, from what I have seen, has always responded well to constructive criticism. Their language has discussions opened at their GitHub, unlike those for various other languages. They even have a thread for what people don't like and want improved about the language[1], again, something many other languages don't have.
A lot of what was going on initially, was coming from obvious competitors, to include being uncivil, inflammatory, and insulting. The initial "criticism" was not so much that, but false accusations of the language being a scam, vaporware, fraud, or didn't really exist. To include attacks and jealousy about its funding and having supporters. This was not any kind of "valid" criticism, that the creator or contributors of the language could reason about.
The "criticism" never died down, but rather after V was open-sourced and established itself on GitHub. The initial series of false accusations could not stand nor could the support it was getting be stopped. So, the rhetoric and targets shifted to whatever could be found to go after on the newly released alpha version of the language and its new website. In that new mix of what was being thrown at it, there were indeed some very valid criticisms, as can be found with any new language.
Constructive and valid criticism, is not the same as insults, trolling, misinformation, rivalry, or false accusations. There is clearly a difference. It's disingenuous to pretend something from one group is the same as the other, or that the intent behind what is being done is not different.
-
Rust vs. Go in 2023
True, Go has an amazing ecosystem. A great stdlib and libraries.
That's why we're working on Go2V, which will be able to fully translate Go code to V. (Having a language so similar to Go also helps.)
It's already been partially used in our translation of Go's crypto modules:
-
Vale's First Prototype for Immutable Region Borrowing
This "critical review", is continuous old spam often used by detractors or to troll. It has no value, because it's a "review" (hit piece) of an alpha version of the language. It's 2023, and V is also in beta (0.4). Furthermore:
1) The creator of it used a disposable GitHub account, launched the attack for the drama, then disappeared.
2) Anything, which had any kind of substance, is already fixed[1].
3) A search of mawfig.github, shows how it is spammed on HN, and used to smear.
-
V0.4
Very exciting to see PhotonLibOS integration and even beef9999 chiming in (https://github.com/vlang/v/discussions/11582#discussioncomme...).
-
Ask HN: Why did Nim not catch-on like wild fire as Rust did?
Besides the attempted slap on V coming from "out of left field", in regards to what the above commenter was talking about, V doesn't leak memory like that. V, since becoming beta, uses an optional GC and does flexible memory management[1]. Giving users choices, somewhat like D and Nim do.
It provides 4 choices: default optional GC, autofree (either alone or with GC), arena allocation (-prealloc), or manual memory management (-gc none). This flexibility has already been proven, like with their Vinix OS project[2].
[1]: https://github.com/vlang/v/blob/master/doc/docs.md#memory-ma... (4 ways to manage memory in V)
- Server benchmark V vs Go
-
Zig: The Modern Alternative to C
Vlang, is a newer programming language that also has the classic C style for loops. https://github.com/vlang/v/blob/master/doc/docs.md#c-for
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
go - The Go programming language
rust - Empowering everyone to build reliable and efficient software.
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
crystal - The Crystal Programming Language
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.