Live data from Hacker News

What it means that Ubuntu is using Rust

smallcultfollowing.com

181–190 of 312 posts

Re: What it means that Ubuntu is using Rust

#181

Earlier quoted context omitted.

That would be great, but Rust relies on compile-time monomorphization for efficiency (very much like C++, if you consider templates polymorphic functions/classes). This means that any Rust ABI would have to cater for link-time specialization. I think this should be doable, but it would require a solution that's better than just to move the code generation into the linker. Instead, one would need to carefully consider…

I wonder if we look at it from a too narrow perspective. We use the C ABI because it's the only game in town. We should be aiming for a safe cross language ABI. I'd love to make Rust, C, PHP, Swift, Java and Python easily talk to each other inside 1 process. It should extend the C ABI with things like strings, arrays, objects with a way to destruct them, and provide some safety guarantees. As an example, the windows…

That is why platforms like Common Language Runtime exist, not only COM.

CLR was going to be the COM Runtime+, and idea was reborn again as Windows team with their anti-.NET bias decided to redo Longhorn in C++, with WinRT.

"Turning to the past to power Windows’ future: An in-depth look at WinRT"

https://arstechnica.com/features/2012/10/windows-8-and-winrt...

It is also how Android IPC and Apple's XPC kind of get into the picture.

The elephant in the room is that FOSS OSes hardly embrace such solutions.

Re: What it means that Ubuntu is using Rust

#182
post #141

Earlier quoted context omitted.

What is a safe ABI? An ABI can't control whether one or both parties either end of the interface are honest. You can't have safe dynamic linking, dynamic linking requires you to trust the library you load with no ability to verify.

> An ABI can't control whether one or both parties either end of the interface are honest. You are aware that Rust already fails that without dynamic linking? The wrapper around the C getenv functionality was originally considered safe, despite every bit of documentation on getenv calling out thread safety issues.

Yes? That's called a bug? The standard library incorrectly labelled something as safe, and then changed it. The root was an unsafe FFI call which was incorrectly marked as safe.

It's no different than a bug in an unsafe pure Rust function.

I'm choosing to ignore that libc is typically dynamically linked, but linking in foreign code and marking it safe is a choice to trust the code. Under dynamic linking anything could get linked in, unlike static linking. At least a static link only includes the code you (theoretically) audited and decided is safe.

Re: What it means that Ubuntu is using Rust

#183

Also, Ubuntu using a non-GPL licensed userland means they can pull all kinds of tricks to allow more TiVoization in the Linux ecosystem. Combine this with what Amutable (systemd guys) are building, and you can have monolithic, closed source, non-user-modifiable Linux distributions or flavors. Ubuntu and companies which embed Linux into their products will love this from a business perspective. Consider: An end to end…

To be fair, no one should be using Ubuntu. They are the free CD people from the 2000s. They are the Apple of Linux, marketing wins, but low quality. They used outdated linux (Debian-family) because its lower cost to maintain. All around, never use debian-family outside servers. Fedora is the future. Maybe OpenSUSE too. (Note these are not Arch or related to Arch)

> They used outdated linux (Debian-family) because its lower cost to maintain.

Ubuntu forks Sid, and evolves from there. They don't downstream Debian Stable.

> All around, never use debian-family outside servers. Fedora is the future. Maybe OpenSUSE too. (Note these are not Arch or related to Arch)

Daily driving Debian stable on servers and Testing on desktops for more than two decades. Testing is a rolling distribution and you install it once (ever). The only time I reinstalled it was to migrate to 64 bit architecture back in the day.

Also, considering stable to stable upgrades take 5 minutes, I have no problems with Debian Stable, either.

Fedora is nice, but it's RedHat's lab. While I have nothing against them, it's not user oriented as much as it looks. Debian Testing is much more stable than many (if not almost all) of the alternative distros, and follows versions reasonably well.

IF I want cutting edge, I can go Arch or Gentoo way. Lastly, Debian is an iceberg. Looks simple from outside, and once you start to develop it, you understand why Debian is considered one of the golden standards. The underbelly is a rich ecosystem of very well designed yet simple subsystems.

Re: What it means that Ubuntu is using Rust

#184

Earlier quoted context omitted.

That would be great, but Rust relies on compile-time monomorphization for efficiency (very much like C++, if you consider templates polymorphic functions/classes). This means that any Rust ABI would have to cater for link-time specialization. I think this should be doable, but it would require a solution that's better than just to move the code generation into the linker. Instead, one would need to carefully consider…

I wonder if we look at it from a too narrow perspective. We use the C ABI because it's the only game in town. We should be aiming for a safe cross language ABI. I'd love to make Rust, C, PHP, Swift, Java and Python easily talk to each other inside 1 process. It should extend the C ABI with things like strings, arrays, objects with a way to destruct them, and provide some safety guarantees. As an example, the windows…

> We should be aiming for a safe cross language ABI.

now to simply get everyone to stop what theyre doing so they can rewrite their c code into this new language, shouldnt be too hard i imagine

Re: What it means that Ubuntu is using Rust

#185
post #10

Earlier quoted context omitted.

Don't hate me for this, but... is 20 years of Rust really new? https://en.wikipedia.org/wiki/Rust_(programming_language) I do get what you mean, but Rust has been baking for a decade, finally took off after 10 years of baking, and now that is been repeatedly tried and tested it is eating the world, as some developers suggested it could eventually do so. I however do think this shows a different problem: If nobody wri…

Ideally, but if a project wasn't written with tests at the time then finding a working time machine can be a challenge. If you try to add them later you won't capture all the nuance that went into the original program. After all, if the implementation code was expressive enough to capture that nuance, you'd already have your test suite, so to speak. Tests are written to fill in the details that the rest of the code i…

he has no answer for this

Re: What it means that Ubuntu is using Rust

#186
post #8

I've been a fan of all rust-based utilities that I've used. I am worried that 20+ (??) years of bug fixes and edge-case improvements can't be accounted for by simply using a newer/better code-base. A lot of bug fixes/exploits are _CAUSED_ by the C+ core, but still... Tried & true vs new hotness?

Is Rust still considered "new hotness"? I feel like the industry has long-since moved past that perceived "blocker". It seems like Rust is now just the default in all manner of critical systems.

apart from safety critical systems.... whats that all about? youd think with all the safety guarantees itd be good for something like that

Re: What it means that Ubuntu is using Rust

#188
Putting aside Ubuntu's/Canonical's failed custom projects (e.g. upstart), they have a history of shipping software that isn't ready and turning the community against it, with pulseaudio being the headline example. I'm concerned that the upcoming Ubuntu LTS (which is only 2 months away) will add rust to that list.

Re: What it means that Ubuntu is using Rust

#189

Putting aside Ubuntu's/Canonical's failed custom projects (e.g. upstart), they have a history of shipping software that isn't ready and turning the community against it, with pulseaudio being the headline example. I'm concerned that the upcoming Ubuntu LTS (which is only 2 months away) will add rust to that list.

[dead]

Re: What it means that Ubuntu is using Rust

#190

Here's the chasm I want to see Rust cross: Dynamic linking with a safe ABI, where if you change and recompile one library then the outcome has to obey some definition of safety, and ABI stability is about as good as C or Objective-C or Swift. Until that happens, it'll be hard to adopt Rust in a lot of C/C++ strongholds where C's ABI and dynamic linking are the thing that enables the software to get huge.

> Here's the chasm I want to see Rust cross:

That's not important. What I want to see is the Rewrite-it-in-Rust movement move towards GPL.

GPL is pro-user. MIT is pro-business.

In their zeal to convert, they are happily replacing pro-user software with pro-business software. Their primary goal is to convert, not to safeguard.

If they shifted their goal from spreading Rust to protecting users, I'd be a lot happier about the community.

Post reply on HN