5 ms·
How does this help me as a user of git?
by monkeyelite 1y ago
How does this help me as a user of git?
- cschep 1y agoMy guess is that we (I am also a user of git) won't even notice.
- johnisgood 1y agoI will leave this here for the future: $ ldd /usr/bin/git linux-vdso.so.1 (0x00007f69c2d64000) libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f69c2c81000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f69c2c67000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f69c2616000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f69c2d66000) $ ls -alh /usr/bin/git -rwxr-xr-x 1 root root 4.0M Aug 25 11:40 /usr/bin/git I did not measure but it does not take long on my old hardware to compile git from scratch either, for now.
- cschep 1y agoOk, 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??
- johnisgood 1y agoNo need to bite. :P We will see!
- AlexeyBelov 1y agoSee what? Why are you vague-posting?
- johnisgood 1y agoWe will see how larger the binary will become, we will see how many more (if any) shared libraries it will depend on, and we will see how long it will take to compile. Clear enough for you? It is a note to myself, and for others who care. You might not care, I do, and some other people do, too.
- cozzyd 1y agoGit is already an uncomfortably large binary for embedded applications. Rust binaries tend to be even more bloated.
- fsh 1y agoWhy would you want to run a VCS in an embedded application? Any halfway usable development platform (even VIM) will be much bigger anyways.
- cozzyd 1y agoIt is sure convenient to be able to use git (and vim!) on embedded Linux. You can get by without them of course...
- 1718627440 1y agoYes, Hello World is 10MB in Rust even when optimizing for size. Hello World in C is 16kB, even after static linking everything including GNU libc, it's only 810kB. I really wonder what that large program does. This program is still dynamically linked: linux-vdso.so.1 (0x00007ffe6d8fd000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb0a62c6000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb0a60f2000) /lib64/ld-linux-x86-64.so.2 (0x00007fb0a636d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb0a60d0000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb0a60ca000) Not sure, why it needs all these dependencies, this is C Hello World: linux-vdso.so.1 (0x00007fffea181000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faebae6a000) /lib64/ld-linux-x86-64.so.2 (0x00007faebb087000) And I think the C binary is already bloated. To stress it again: The Rust Hello World program is 2.5-times larger then the whole Git executable with functionality of 20 years!
- jaas 1y agoRust 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).
- deleted 1y ago[deleted]
- monkeyelite 1y agoThat would be a stronger argument if people were facing implementation deficiencies in git
- IshKebab 1y agoI'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.)
- monkeyelite 1y agoI mean I don’t encounter bugs when I use the program. So telling me rust is going to fix bugs is meh. A web browser is more interesting.
- mariusor 1y agoYour reply seems to imply that using rust would make submodules better. Since that's not the case, maybe you can provide an alternative where rust would address an actual issue git users have.
- IshKebab 1y agoNo, I'm implying that it would make Git's implementation of submodules less buggy. That is likely the case.
- IshKebab 1y agoIn future it might be more reliable and faster, maybe with more features. But we probably won't see any effect for 10 years or so.
- tankenmate 1y agoExcept there are far less Rust developers than C developers, so contributions will start to drop as Rust usage expands in git.
- Philpax 1y agoI would safely bet that the pool of C developers willing to work on a C Git going forward is much closer to exhaustion than the pool of Rust developers willing to work on a Rust(-ish) Git.
- veber-alex 1y ago10 years? are they going to contribute 1 line of a code a day or something?
- IshKebab 1y agoWell it would probably take at least 5 years to rewrite all of Git in Rust (git-oxide is 5 years old and far from finished). Then another few years to see novel features, then a year or two to actually get the release. Btw 10 lines of code per day is a typical velocity for full time work, given it's volunteers 1 line per day might not be as crazy as you think.
- 1718627440 1y agoWait, why do we need to convert C Git to Rust, when a Rust fork is already existing?
- alexchamberlain 1y agoThe developers of git will continue to be motivated to contribute to it. (This isn’t specific to Rust, but rather the technical choices of OSS probably aren’t generally putting the user at the top of the priority list.)
- veber-alex 1y agoI am pretty sure that developers motivated to contribute code benefits end users plenty.
- uecker 1y agoBy not getting timely security updates: https://www.debian.org/releases/trixie/release-notes/issues.html#limitations-in-security-support https://www.debian.org/releases/trixie/release-notes/issues....
- MarsIronPI 1y agoAnd 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.
- uecker 1y agoIMHO 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.
- neobrain 1y agoSemantic versioning is culturally widespread in Rust, so the problem of library authors being "less careful about API stability" rarely happens in practice. If pinned packages were the problem, I'd imagine they would have been called out as such in the Debian page linked by parent.
- account42 1y agoSemantic versioning is a way to communicate how much a new version breaks new shit not a way to encourage not breaking shit. If anything, having a standardized way to communicate that you are breaking shit kind of implies that you are already planning to break shit often enough for that to make sense.
- Mikhail_K 1y agoIt doesn't, it hurts you by limiting the number of platforms Git is available on.
- gitaarik 1y agoThat git development will be modern, secure and fast?