> 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/
Git: Introduce Rust and announce it will become mandatory in the build system
191–200 of 433 posts
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#192Re: Git: Introduce Rust and announce it will become mandatory in the build system
#193This 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…
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#194Earlier 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…
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
#195Rust 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…
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#196Earlier 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…
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
#197Maybe 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...
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#198Earlier 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
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#199Earlier 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.
Re: Git: Introduce Rust and announce it will become mandatory in the build system
#200Rust 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…
Beyond that, Rust has pretty forgiving syntax.
No Linux did not reject Rust from the kernel.