Live data from Hacker News

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

lore.kernel.org

241–250 of 433 posts

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

#241

Earlier quoted context omitted.

> I'm just old and moany, and I need to step aside for bigger and better things such as Rust. You are. This is firm "I don't want to have to learn new things" territory, which isn't a viable attitude in this industry. In any case Rust is usually easier than C (excluding buggy C which is very easy to write), and certainly easier than actually learning the Git or Linux codebases.

[flagged]

In my experience current AI is still far from reasoning about the kind of hard-to-spot bugs in C that lead to the worst exploits. Rust solves most of these by design. It isn't about adding a second language - it is about slowly phasing out a language that is being misused in areas it shouldn't be in.

C will at some point be relegated to being an educational language, incredibly valuable due to few but good abstractions over assembly. It will continue to exist for decades in most systems, but hopefully it won't be used outside of the maintenance of legacy systems.

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

#242

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.)

This is not what I said, but memory safety is certainly not anything which is a high priority for my own security. I still think memory safety is important and I also think Rust is an interesting language, but... the hype is exaggerated and driven by certain industry interests.

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

#243
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.

That has not been my experience. I develop on Windows and need to compile for Linux. After spending several hours trying to get cross-compilation working, I gave up and do it via WSL now.

I switched from Go and I feel like Go was much better at this than Rust.

(I tried “cross” but it was very slow and I found it faster to rsync the files inside the container and then run the build scripts)

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

#244

Earlier quoted context omitted.

I mean if you want Git to never change you're free to stick with the current version forever . I'm sure that will work well.

I obviously don’t think that is wise, but Git is literally designed with this in mind: https://git-scm.com/docs/repository-version/2.39.0 Just like SQLite has an explicit compatibility guarantee through 2050. You literally do not have to update if you do not want to.

And it’s still a choice you can make regardless of Git moving to Rust or not, so what’s the problem?

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

#245
post #69
post #62

Earlier quoted context omitted.

AFAIK git already uses multiple languages, github says its 50% C, 38% shell, 4% perl, then 4% TCL python 1% So "another language" here probably does not weigh as much, especially considering perl/TCL are the weirder one there. But for big projects like linux and git, this could actually be a consolidation step: you spent decades growing, hacking things on top of each other. You have mostly figured out what this proje…

I did check this out. The shell, perl and python are likely for scripting and not used during runtime. TCL is likely some form of dynamic scripting. I think we also have to be honest about what the project here is too, it's not to have both C and Rust together, but to replace all C with Rust. In which case, it probably makes sense to just clone to repo and work on a fork like they did with SSH.

I believe gitk and git-gui are written in tcl. Those are definitely things that get shipped to the user, so (at least for those parts) you wouldn't need to have a toolchain on the build server.

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

#247
post #54

Maybe I'm just old and moany, and I need to step aside for bigger and better things such as Rust. But. Now rather than needing to understand just C to work on Git/kernel, you now need to also know Rust. The toolchain complexity is increasing, and the mix of these languages increases the barrier to entry. I'm highly invested into Git, having learned the tooling and having a significant number of projects constructed w…

> I'm just old and moany, and I need to step aside for bigger and better things such as Rust. You are. This is firm "I don't want to have to learn new things" territory, which isn't a viable attitude in this industry. In any case Rust is usually easier than C (excluding buggy C which is very easy to write), and certainly easier than actually learning the Git or Linux codebases.

It's not "having to learn something new", but "having to be good at two things, both of which are full languages with their own specifics, problems and ways to solve them, two sets of compilers and some duct tape to hold them together.

It's like putting steak on a pizza... pizza is good, steak is good, pizza on a steak might be good too, but to actually do that in production, you now need two prep stations and you can't mess up either one.

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

#248
post #88

Earlier quoted context omitted.

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 maintain…

IMHO the reason is that these languages are industry-funded efforts. And they are not funded to help the free software community. Step-by-step this reshapes the open-source world to serve other interests.

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

#249

what's a 'test balloon'?

Ironically it's original use was in political* parlance. From wiki it's "information sent out to the media in order to observe the reaction of an audience. It is used by companies sending out press releases to judge customer reaction, and by politicians who deliberately leak information on a policy change." Yup I have no doubt that there's a Rust 'evangelist' group somewhere aiming for inorganic growth of the languag…

> Yup I have no doubt that there's a Rust 'evangelist' group somewhere aiming for inorganic growth of the language.

So anything using Rust now must be the ‘evangelists’ work right?

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

#250
post #211
post #85

Earlier quoted context omitted.

Ok, I'll bite. While we are on Hacker News, this is still an enormously obtuse way to communicate. Are you saying that as users of git we will be negatively affected by deps being added and build times going up? Do you have evidence of that from past projects adding rust? Why not just say that??

Git is already an uncomfortably large binary for embedded applications. Rust binaries tend to be even more bloated.

Why would you want to run a VCS in an embedded application? Any halfway usable development platform (even VIM) will be much bigger anyways.
Post reply on HN