News for hackers. Stuff that matters.
Re:Rust: Not So Great For Codec Implementing by cryptonector on Tuesday August 01, 2017 @06:20PM (#14905983)
Yes, that's right, and multiple compilers support the Windows C++ ABI. You still couldn't write portable C++ in C or assembly (or anything else not C++). Does anyone write C or assembly to that ABI? Probably not, though to be fair that's probably in large part because if you're going to do that you might as well write in C++ :^)

Still, I think a public and stable ABI with fine-grained control of binary elements is a critical aspect of a systems programming language.

Also, the linker contributes a lot to making a systems language. E.g., being able to map globals to specific physical addresses. And, of course, either an ABI has to be dead trivial from a linker's perspective, of the linker has to be very intimate with it (think of symbol mangling). The linkers we use all evolved in a C world, and it shows. C w/ a really good link-editor and RTLD (I'm thinking of Illumos') is a much more advanced beast than C with plain old static linking. Even the ABI aspects of dynamic linking are simple, public, and stable.

A great systems programming language has to have a great linker story as well.

Re:Rust: Not So Great For Codec Implementing by sitkack on Tuesday August 01, 2017 @08:56PM (#14906963)
I would like a declarative language for laying out the heap, stack, objects, etc. Why have one ABI and not an ABI configuration protocol? Would love to share data structures between languages w/o having to write serializers.
Re:Rust: Not So Great For Codec Implementing by krallja on Wednesday August 02, 2017 @12:38AM (#14907965)
You can't just wake up and decide to be Don Box like that!
Re:Rust: Not So Great For Codec Implementing by sitkack on Monday August 14, 2017 @12:28AM (#15006579)
I am going to out Box, Don Box!
Re:Rust: Not So Great For Codec Implementing by aidenn0 on Wednesday August 02, 2017 @01:15AM (#14908113)
As a counterpoint, PowerPC has at least 3 mutually incompatible ABIs for C.
Re:Rust: Not So Great For Codec Implementing by cryptonector on Wednesday August 02, 2017 @12:40PM (#14912101)
But generally there's only one per-OS, so it's not that bad. C++ ABIs are per-compiler, or worse, per-{compiler, version}, with few exceptions (Windows).