Hi Derek,
Thanks for the Zig example. Some months ago, I browsed the site and
then read
In-depth Overview
Here’s an in-depth feature overview of Zig from a
systems-programming perspective.
https://ziglang.org/learn/overview/
and was impressed given a background of C, assembler, and bare metal.
The language has a clarity of design in a similar way to early Perl and
Python and seems to me the best of the competitors in the Rust area,
which I dislike.
Nice features include C-library integration without FFI or bindings as
Zig is also a C compiler.
i.e. see the below test program and its output.
...
$ ./main
To explain for others, the verbose stack backtrace in the first run
comes from building the executable in the default ‘Debug’ build mode.
There are four modes available, listed in the above overview.
Runtime safety Optimisation
Debug Crash with backtrace
ReleaseSafe Crash with backtrace -O3
ReleaseFast Undefined behaviour -O3
ReleaseSmall Undefined behaviour -Os
--
Cheers, Ralph.