Remix.run Logo
budgefrankly 2 days ago

> changes too fast

The core language has been static for ages, and breaking changes are handled by the edition system so you can use a modern compiler to build code on old syntax. Since the 1.0 release ten years ago there have been four editions.

It's absolutely not changing too fast

> depends on third party libraries that change faster than I can breath

No it doesn't. The standard library is already sufficient for a lot of work; and there is an unhosted version with a "core" version of that standard library which has zero dependencies.

Modern Rust, Java, Python, TypeScript etc. developers choose to use a lot of third party libraries; but that's only because the tooling and ecosystem are both good enough to facilitate that. Nothing about the language forces it.

johnny22 2 days ago | parent [-]

the proof is right there in all the discussion about rust in the linux kernel too.

pornel 2 days ago | parent [-]

Not sure if you mean proof of changing too fast …or not fast enough?

Linux has a wishlist of features they want for kernel development, and Rust has been working towards adding them.

Here's the paradox: Rust is very careful about compatibility and stability, the stable releases are changing slowly. But the Rust for Linux project wants to use the newly prototyped features right away, so they depend on not-yet-released features from unstable nightly versions of Rust.

LeFantome 2 days ago | parent [-]

> the Rust for Linux project wants to use the newly prototyped features right away > they depend on not-yet-released features from unstable nightly versions of Rust

This is not true. Since kernel 6.11 they have specified a minimum version that is already stable. The strategy for the Rust kernel is to use the version of Rust that ships with Debian Stable. That is very far from using "the newly prototyped features right away".

https://rust-for-linux.com/rust-version-policy

Of course, the kernel continues to inform Rust evolution. But you do not need an unstable version of Rust to compile Linux.

pornel 33 minutes ago | parent [-]

That not true is not true.

Rust For Linux has a hard dependency on unfinished Rust features that were not released as stable in the Rust version that Debian has.

However, every build of rustc also needs to be able to build its own standard library and a future version of itself. To do this, rustc recognizes a special private env var that exposes compiler-internal language extensions and not-yet-stabilized features meant for the compiler itself, and not for end users.

Rust for Linux relies on using this private env var to bypass feature stability checks and trick the "stable" compiler from Debian into allowing use of compiler-private and experimental features that were suppressed to stay disabled.

RfL uses an old Rust binary from Debian, but still depends on experimental features that haven't officially shipped yet in any Rust version.