Earlier quoted context omitted.
Only because Rust is a source only language for distribution. One business domain that Rust currently doesn't have an answer for, is selling commercial SDKs with binary libraries, which is exactly the kind of customers that get pissed off when C and C++ compilers break ABIs. Microsoft mentions this in the adoption issues they are having with Rust, see talks from Victor Ciura, and while they can work around this with…
I'm not expecting to convince you of this position, but I find it to be a feature, not a bug, that Rust is inherently hostile to companies whose business models rely on tossing closed-source proprietary blobs over the wall. I'm fairly certain that Andrew Kelley would say the same thing about Zig. Give me the source or GTFO.
Zig – io_uring and Grand Central Dispatch std.Io implementations landed
291–300 of 315 posts
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#292Earlier quoted context omitted.
> C came out in 1972 and didn't gain its current dominance until approximately the release of the ANSI C spec in 1989/1990 While it kept growing in popularity later, by 1983-5 C was already one of the top programming langugages in the world. > C++ came out in 1985 and didn't become the dominant language for gamedev until the late 90s Major parts of Windows and Office were being written in C++ in the early-mid 90s, be…
> Major parts of Windows and Office were being written in C++ in the early-mid 90s, before C++ turned 10. Major parts of Windows, Android, and Linux were being written in Rust before it turned 10. Major parts of AWS were being written in Rust before it turned 4. Major parts of Dropbox were being written in Rust before it turned 1. So you agree by your own criteria that Rust is a major language? > While it kept growin…
No, because I was merely responding to your specific points and the extent is nowhere near the same. C++ had a huge market share before it turned 10. In the late nineties I was working on a critical air traffic control system, first used in 1995, written half in Ada half in C++. Around 1995-6 C++ was already ubiquitous in serious software.
> In the mid-80s, C still had plenty of major and healthy competitors, as pjmlp will imminently arrive to remind you.
He doesn't need to remind me because I was there. Yes, there were major competitors, yet C was already very near the top.
> Javascript was an also-ran everywhere except the web
That's pretty much where it is today, yet it's still #1 (if we count TS as part of JS).
> There are infinitely more people choosing to use Rust at the age of 11 than were choosing to use Javascript at the age of 11
The number of people using Rust professionally is a fraction of that of any of the languages we mentioned, plus many more (C#, PHP, Ruby, Go, Kotlin) at the same age. It's more similar to Ada's adoption at that age in size (of course, there wasn't much small OSS projects then at all, let alone written in Ada, but there were many more big, mission- and even safety-critical systems being written in Ada at that age than in Rust). Is it a serious language? Absolutely! But so far its trajectory doesn't resemble that of any language that's achieved wide popularity.
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#293It's interesting to see this land while Rust support of io_uring in a mainstream library is lagging. And not for lack of trying, its just difficult to design a safe (zero-cost) idiomatic Rust abstraction over io_uring's completion based IO.
> They are now available to tinker with, by constructing one’s application using std.Io.Evented. They should be considered experimental because there is important followup work to be done before they can be used reliably and robustly:
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#294Earlier quoted context omitted.
Using async in low level languages goes all the way back to the 1960's, became common in systems languages like Solo Pascal, Modula-2, with Dr.Dobbs and The C/C++ User's Journal having plenty of articles regarding C extensions for similar purposes. Hardly anything radical.
When I look at historical cases, it seems different from a case today. If I’m a programmer in the 60s wanting async in my “low level language,” what I actually want is to make some of the highest level languages available at the time even more high level in their IO abstractions. As I understand it, C was a high-level language when it was invented, as opposed to assembly with macros. People wanting to add async were…
And GPGPUs as well, like senders/receivers whose main sponsor is NVidia.
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#295Earlier quoted context omitted.
IME Zig's breaking changes are quite manageable for a lot of application types since most of the breakage these days happens in the stdlib and not in the language. And if you just want do read and write files, the highlevel file-io interfaces are nearly identical, they just moved to a different namespace and now require a std.Io pointer to be passed in. And tbh, I take a 'living' language any day over a language that…
Sure, but considering that Zig is a modern C alternative, one should not and cannot afford to forget that C has been successful also because it stayed small and consistent for so long. The entire C, C ABI and standard lib specs, combined, are probably less words than the Promise spec from ECMAScript 262. A small language that stays consistent and predictable lets developers evolve it in best practices, patterns, desi…
Not if you look into C23, include all the compiler extensions devs keep thinking are part of ISO C, and the "C ABI" is one per each existing OS written in C.
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#296Earlier quoted context omitted.
Coming from Go, I'm really disappointed in Rust compiler times. I realize they're comparable to C++, and you can structure your crates to minimize compile times, but I don't care. I want instant compilation. Zig is trying to get me instant compilation and I see that as a huge advantage for Zig (even past the first 2 weeks). I'll probably stick with Rust as my "low level language" due to its safety, type system, matur…
The key with c++ is to keep coding while compiling. Otherwise..yeah you're blocked.
And avoid header libraries, C++ isn't a scripting language.
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#297Earlier quoted context omitted.
Depends how you compile it. If you’re compiling ReleaseFast/ReleaseSmall, it’s not very different from C (modulo as you said it has some language features to make it less likely you do it): * Double free * Out of bounds array access * Dereferencing null pointers * Misaligned pointer dereference * Accessing uninitialized memory * Signed integer overflow * Accessing a union field for which the active tag is something e…
wow, what a list! all of these are statically analyzable using a slightly hacked zig compiler and a library! https://github.com/ityonemo/clr (Btw: you can't null pointer dereference in zig without using the navigation operator which will panic on null; you can't misalign a pointer unless you use @alignCast which will also create a panic)
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#298Earlier quoted context omitted.
This is pretty close to saying Rust is not very different than C because it has the unsafe keyword. That is, either an ignorant (of Zig) or disingenuous statement.
To me the zig position is akin to saying that because Asan, TSAn and ubsan exist, c++ is safe because you’re just running optimized for performance. If you believe I mischaracterized zig, please enlighten me what I got wrong specifically rather than attacking my ad hominem
There is no point throwing it all away to get back to the starting line.
Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#299Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed
#300Earlier quoted context omitted.
> Very much so once you compare it to how quickly C++ (and, in fact, any language that's ever been in the top 5 or so) achieved similar milestones. No, this completely overestimates how quickly languages gain prominence. C came out in 1972 and didn't gain its current dominance until approximately the release of the ANSI C spec in 1989/1990, after 17 years. C++ came out in 1985 and didn't become the dominant language…
These languages have origin in a different era, without Reddit, Twitter or HN to spam about them, do we cannot really compare adoption rates.
And see which compiler toolchains had more ads, articles submissions, or source code listings.