Live data from Hacker News

Git: Introduce Rust and announce it will become mandatory in the build system

lore.kernel.org

221–230 of 433 posts

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#221

Earlier quoted context omitted.

And who’s volunteering for that verification using the existing toolchain? I don’t think that’s been overlooked just because the git devs are too dumb or lazy or unmotivated.

> just because the git devs are too dumb or lazy or unmotivated. That's a very unkind assumption of my argument. I ask that you read https://news.ycombinator.com/item?id=45314707 to hopefully better understand my actual argument. It doesn't involve calling anybody stupid or lazy.

That came across more harshly than I meant, but I stand by the gist of it: this stuff is too hard to do in C or someone would’ve done it. It can be done, clearly, but there’s not the return on investment in this specific use case. But with better tooling, and more ergonomic languages, those are achievable goals by a larger pool of devs — if not today, because Rust isn’t as common as C yet, then soon.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#222

Is this a bit of chickens coming home to roost as far as developer culture forgetting how to work with cross-compiling toolchains? When I started my career, it was common understanding that the developer may be manipulating sourcecode on a different system and/or platform than where it will be executed. Our source control, editing, compilation, and execution was understood to happen in different computational spaces,…

I suspect the majority of developers never even learnt as such. Cross-compilation is almost always a second-class citizen and I never expect it to work correctly on an external project. Linux distros have given up, with fedora even insisting on running compilation on the real target hardware for platforms like the raspberry pi, which is kind of insane, and as a result basically no-one puts in the effort to make it work.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#223
post #67

Earlier quoted context omitted.

"You have to backport security fixes for your own tiny platform because your build environment doesn't support our codebase or make your build environment support our codebase" seems like a 100% reasonable stance to me

> your build environment doesn't support our codebase If that is due to the build environment deviating from the standard, then I agree with you. However, when its due to the codebase deviating from the standard, then why blame the build environment developers for expecting codebases to adhere to standards. That's the whole point of standards.

Had you been under the impression that any of these niche platforms conform to any common standard other than their own?

Because they don’t. For instance, if they were fully POSIX compliant, they’d probably already have LLVM.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#224

Earlier quoted context omitted.

I don't know what this has to do with locking down phones, but I do appreciate not getting compromised just for cloning a repo or opening my laptop at a coffee shop.

(There is a persistent idea that the lack of memory safety in C is good because it allows people to jailbreak their phones.)

It is a sad thing but I do root against secure boot initiatives because they almost entirely work to limit user's freedom instead of improving their security.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#226
post #88

How does this help me as a user of git?

By not getting timely security updates: https://www.debian.org/releases/trixie/release-notes/issues....

And the reason this is a problem is because of the me-first attitude of language developers these days. It feels like every language nowadays feels the need to implement its own package manager. These package managers then encourage pinning dependencies, which encourages library authors to be a less careful about API stability (though obviously this varies from library to library) and makes it hard on distro maintainers to make all the packages work together. It also encourages program authors to use more libraries, as we see in the Javascript world with NPM, but also in the Rust world.

Now, Rust in Git and Linux probably won't head in these directions, so Debian might actually be able to support these two in particular, but the general attitude of Rustacians toward libraries is really off-putting to me.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#227
post #219

Earlier quoted context omitted.

?? I build Jujutsu and many other Rust programs from source on Windows. Rust has a much better Windows story than C and bash do, due to its heritage as a language built by Mozilla for Firefox.

As said before I wasn't complaining about windows, but rather of not so common posix layers like cygwin [0]. Most C posix compliant stuff compiles in my experience. [0] https://github.com/rust-lang/rust/issues/137819

Right, but Rust makes it so you don't have to use Cygwin. It's one of the great portability advantages of Rust that you can write real Windows programs with it.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#228
post #132

Is this a bit of chickens coming home to roost as far as developer culture forgetting how to work with cross-compiling toolchains? When I started my career, it was common understanding that the developer may be manipulating sourcecode on a different system and/or platform than where it will be executed. Our source control, editing, compilation, and execution was understood to happen in different computational spaces,…

Actually, the Rust toolchain makes cross-compiling way easier than any other fully-compiled language I've ever used. There are like 100 different platforms you can target by just setting the `--target` flag, and they all pretty much just work on any host platform. Sounds like the real issue is that some Git developers have ancient, rigid requirements for their own development machines.

> Actually, the Rust toolchain makes cross-compiling way easier than any other fully-compiled language I've ever used

Zig takes the crown on that one, to the point that some people use Zig to cross-compile Go projects with CGo dependencies.

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#229

Earlier quoted context omitted.

The GCC compiler collection has been hit and miss though. Nobody uses gcj for example. I sort of doubt that they'll be able to implement a good compiler for a language that doesn't even have a standard without that implementation going wildly out of date in the future, just like what happened with Java.

There's two different methods by which Rust support can be added to GCC: adding a Rust frontend to GCC and adding a GCC backend to the Rust compiler (rustc_codegen_gcc). The latter approach would not be (as?) susceptible to implementation divergence as an independent frontend.

yep, if git is content with rustc_codegen_gcc, then it's very doable they can require rust in the next few years

Re: Git: Introduce Rust and announce it will become mandatory in the build system

#230

Rust suffers from the same problems that functional programming languages suffer from: deep learning curve and high complexity. The high complexity is intended to push more runtime errors back to compile time, but boy does that mean the language pays for it. Rust is a tire fire of complexity. For these reasons I believe it is not a good idea. The kernel also sort of rejected Rust. The kernel is complex enough without…

> Rust is a tire fire of complexity.

And C isn't?

Post reply on HN