Live data from Hacker News

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

lore.kernel.org

191–200 of 433 posts

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

#191

> Introducing Rust is impossible for some platforms and hard for others. Please could someone elaborate on this.

There's at least one proprietary platform that supports Git built by via a vendor-provided C compiler, but for which no public documentation exists and therefore no LLVM support is possible. Ctrl+F for "NonStop" in https://lwn.net/Articles/998115/

I am curious, does anyone know what is the use case that mandates the use of git on NonStop? Do people actually commit code from this platform? Seems wild.

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

#193
post #140

This series was in response to another thread [1] which wanted to make rust mandatory in an upcoming release. The authors proposal was to instead take the middle ground and use rust as an optional dependency until a later point of time where it becomes mandatory. The later point of time was decided based on when rust support lands in gcc, which would make things smoother, since platforms which support gcc would also…

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.

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

#194

Earlier quoted context omitted.

> The shell, perl and python are likely for scripting and not used during runtime. Some git subcommands are implemented in these. git filter-branch is a shell script, git cvsimport is a Perl script, and git p4 (perforce interop) is a Python script. There are not too many left these days (git add -p/-i also used to call a Perl script), but they exist.

I'm sure you are aware, reading between the lines of what you said, why, but for some others who aren't aware of the history of git; it was originally about 50% C and 50% Perl, the performance critical parts were written in C and then various git commands were written in Perl. Over time almost all the Perl was removed because there were less Perl monks than C devs. Now it would seem the logic is reversed; even though…

> it was originally about 50% C and 50% Perl, the performance critical parts were written in C and then various git commands were written in Perl.

IIRC, it was mostly shell, not Perl, and looking at the proportion is misleading: the low-level commands (the "plumbing") like git-cat-file or git-commit-tree were all in C, while the more user-friendly commands (the "porcelain") like git-log or git-commit were all shell scripts calling the low-level commands. Yes, even things we consider fundamental today like "git commit" were shell scripts.

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

#195

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…

I was going to roll my eyes at "Rust is a tire fire of complexity". Because it's not. Especially compared to C++. But then you just go on to outright lie in your second paragraph.

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

#196

Earlier quoted context omitted.

I'm guessing you aren't a software engineer based on this comment, but the difference between programming languages is tangible and meaningful. It isn't like human languages where they're mostly basically the same and achieve the same thing. And code switching between languages is not hard at all.

It's hilarious that you can assume such a thing just by a couple of words on the internet. Or maybe I'm not a 'software engineer' by your standards because unlike your closed group of SWEs I'm a lot less focused on resume padding and keeping my codebase sane and not exploding in complexity. I should specify - it's hard in that it's troublesome to have to code switch and do a bunch of recall before working on the thin…

Dude you said "Could you software engineers stop..."

In normal English that means you aren't a software engineer.

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

#197
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've also sent some patches git's way and I can't say I'm thrilled about being forced to (finally) learn Rust if I want to contribute again in the future. I guess I'm outdated...

I feel the same way about C code though. I don't think C gets the right to be the one true programming language that everyone must know forever.

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

#198
post #42

Earlier quoted context omitted.

Rust is generally a much better tool for building software than C. When your software is built with better tools, you will most likely get better software (at least eventually / long term, sometimes a transition period can be temporarily worse or at least not better).

That would be a stronger argument if people were facing implementation deficiencies in git

I'm not sure exactly what you mean but of course people are facing implementation deficiencies in Git. Last I checked submodules were still "experimental" and extremely buggy, and don't work at all with worktrees. (And yeah submodules suck but sometimes I don't have a choice.)

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

#199

Earlier quoted context omitted.

It's hilarious that you can assume such a thing just by a couple of words on the internet. Or maybe I'm not a 'software engineer' by your standards because unlike your closed group of SWEs I'm a lot less focused on resume padding and keeping my codebase sane and not exploding in complexity. I should specify - it's hard in that it's troublesome to have to code switch and do a bunch of recall before working on the thin…

Dude you said "Could you software engineers stop..." In normal English that means you aren't a software engineer.

[flagged]

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

#200

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…

I actually think Rust is pretty easy to pick up for anyone that’s written Typescript and can use their linter to understand references and unwrapping a Result and catching an error.

Beyond that, Rust has pretty forgiving syntax.

No Linux did not reject Rust from the kernel.

Post reply on HN