Live data from Hacker News

Gitoxide: Pure Rust Implementation of Git

github.com

71–80 of 200 posts

Re: Gitoxide: Pure Rust Implementation of Git

#71
post #62

Earlier quoted context omitted.

Rust market itself as replacement for C/C++ and proclaims as if all code written in C/C++ is garbage and only Rust can solve it, when majority of it's own useful crates heavily rely on unsafe "C/C++" code. So "Pure Rust" is also marketing when you look at the crates used by this software are not Pure Rust, but rely on unsafe code of C underneath. Python, PHP do not claim as C/C++ replacement, indeed Python is synonym…

Are you a C programmer threatened by the emergence of a C competitor? I have nothing to gain by "promoting" Rust as I'm not a Rust dev. You have commented a lot in these threads to complain about Rust. If I'm right remember that both your self worth and your employability are ultimately not tied to C. Programmers switching programming languages are not life long miners that have to turn overnight into lawyers. You st…

Are you a Rust programmer threatened by Mozilla layoffs and critical Rust comments on a message board?

A Rust proponent telling people not to tie their self worth to a language. The irony is hilarious.

Re: Gitoxide: Pure Rust Implementation of Git

#72
post #62

Earlier quoted context omitted.

Rust market itself as replacement for C/C++ and proclaims as if all code written in C/C++ is garbage and only Rust can solve it, when majority of it's own useful crates heavily rely on unsafe "C/C++" code. So "Pure Rust" is also marketing when you look at the crates used by this software are not Pure Rust, but rely on unsafe code of C underneath. Python, PHP do not claim as C/C++ replacement, indeed Python is synonym…

Are you a C programmer threatened by the emergence of a C competitor? I have nothing to gain by "promoting" Rust as I'm not a Rust dev. You have commented a lot in these threads to complain about Rust. If I'm right remember that both your self worth and your employability are ultimately not tied to C. Programmers switching programming languages are not life long miners that have to turn overnight into lawyers. You st…

> You start building something with Rust and you should be operational quite quickly

Rust is anything but easy and simple like Go language.

Please try building something like Kubernetes in Rust instead of Go and you will realize “Rust” is a a complicated language (worse than complex). Rust has a steep learning curve and the standard library is quite limited. So you will need to search and choose from different crates to do eve basic work. Eventually one can be productive in it after 2-3 years of development. Compared to it Swift, Go are much easier to pick up as systems programming language and C++ 20 is advanced enough to write safety critical code. There is a reason why large body of systems programming and software for database,network servers is written in Go language not Rust.

Re: Gitoxide: Pure Rust Implementation of Git

#73

Does this address the cryptic-ness of git commands? E.g. are the various commands we all know and love like `git reset HEAD`, `git co --track origin/branch` etc. made clearer? Even after years of using git, this is for me a major pain point.

As this is part of the every-day workflow, I will think long and hard on how to make it as painless and user-friendly as possible. Having a more user-friendly experience on the command-line is one of the project goals, and it will also be me benefiting from it so the motivation will be high to achieve it. By then, that thinking process will hopefully be public enough to allow more people to chime in and get a better result that way. And yes, I think a lot is possible, and I can't wait to test some ideas of mine :)

Re: Gitoxide: Pure Rust Implementation of Git

#74
post #62

Earlier quoted context omitted.

Are you a C programmer threatened by the emergence of a C competitor? I have nothing to gain by "promoting" Rust as I'm not a Rust dev. You have commented a lot in these threads to complain about Rust. If I'm right remember that both your self worth and your employability are ultimately not tied to C. Programmers switching programming languages are not life long miners that have to turn overnight into lawyers. You st…

> You start building something with Rust and you should be operational quite quickly Rust is anything but easy and simple like Go language. Please try building something like Kubernetes in Rust instead of Go and you will realize “Rust” is a a complicated language (worse than complex). Rust has a steep learning curve and the standard library is quite limited. So you will need to search and choose from different crates…

Go has much bigger backing that Rust. And most of that server software comes directly from Google or their ecosystem: Kubernetes, Kubernetes appendages, "Cloud Native" stuff.

And Swift is only relevant because it's the only modern, officially sanctioned, systems software programming language on 2 platforms: Mac OS and iOS (especially iOS). I know of 0 people who use or have a desire to use it outside of MacOS or iOS.

Time will tell, but Microsoft, Amazon, etc. have adopted Rust. And if you look at what they're doing with it, it is generally much lower level than Go or Swift stuff. It's directly in the C/C++ domain.

Re: Gitoxide: Pure Rust Implementation of Git

#75

I am the author, and will be here for a few hours in case there are any questions. (proof: https://keybase.io/byronbates )

How does gitoxide perform compared to c-git? A slow operation I often encounter is `git log --graph` for example.

That operation is much faster in recent versions of Git, especially after a GC or “git commit-graph write” command.

Re: Gitoxide: Pure Rust Implementation of Git

#76
post #62

Earlier quoted context omitted.

Are you a C programmer threatened by the emergence of a C competitor? I have nothing to gain by "promoting" Rust as I'm not a Rust dev. You have commented a lot in these threads to complain about Rust. If I'm right remember that both your self worth and your employability are ultimately not tied to C. Programmers switching programming languages are not life long miners that have to turn overnight into lawyers. You st…

> You start building something with Rust and you should be operational quite quickly Rust is anything but easy and simple like Go language. Please try building something like Kubernetes in Rust instead of Go and you will realize “Rust” is a a complicated language (worse than complex). Rust has a steep learning curve and the standard library is quite limited. So you will need to search and choose from different crates…

> Rust is anything but easy and simple like Go language.

Rust sure isn't "simple" for anyone, but if you are a C/C++ developer, I'd definitely expect someone who's been writing C code for more than a few years to be able to pick up basic Rust in a few weeks.

Instead of being threatened by other languages and rationalizing why it's not worth picking up, why not spend a few weeks on it so you can have an informed opinion on why it's good or bad?

No language is perfect, everybody knows that. Rust isn't for every use case just like C, PHP or Python isn't for every use case -- but knowing a little bit about all of them means you'll be a better programmer in the end, because you can recognize what tool fits best for the job.

Re: Gitoxide: Pure Rust Implementation of Git

#77

Does this address the cryptic-ness of git commands? E.g. are the various commands we all know and love like `git reset HEAD`, `git co --track origin/branch` etc. made clearer? Even after years of using git, this is for me a major pain point.

A stated goal is

> a simple command-line interface is provided for the most common git operations, optimized for user experience. A simple-git if you so will.

But an explicit non-goal is

> replicate git command functionality perfectly git is git, and there is no reason to not use it. Our path is the one of simplicity to make getting started with git easy. a simple command-line interface is provided for the most common git operations, optimized for user experience. A simple-git if you so will.

So it depends. They may refine some parts of the UX, others may be identical, and other still will be left unimplemented because git still exists.

Re: Gitoxide: Pure Rust Implementation of Git

#78

I am the author, and will be here for a few hours in case there are any questions. (proof: https://keybase.io/byronbates )

I'm currently using https://github.com/rust-lang/git2-rs to interact with git in my software. Are you aiming to have a stable api that could act as a pure-rust replacement for that at some point in the future?

Re: Gitoxide: Pure Rust Implementation of Git

#79
post #2

Why do people feel the need to reimplement everything in Rust ? If it's not broken, don't fix it...

I imagine there are different motivations for different people. Some people may just want to use rust to re-implement something that exists in order to hone their skills or just for fun. Having a reference implementation makes that more productive. Other people may think that it would simply be better if the project were implemented in rust. This is the case for some C projects, where a lot of control is still necess…

>For me, rust is the first real competitor in the systems programming market. There are hundreds of languages for application programming. I prefer Haskell, Java and JS for those but I've never found a replacement for C in the low-level domain

There is Pascal

I have used Pascal as safe C alternative for twenty years

It has solved all the C problems. Strings/Arrays know their length, you can enable range/overflow checking, reference counting ...

Re: Gitoxide: Pure Rust Implementation of Git

#80
post #34

Earlier quoted context omitted.

> Reimplementation relying on unsafe ‘C/C++’ code (as most of the core infrastructure is written in them) is done more for marketing especially among language aficionados. Let's read the page we are talking about to check your judgment: " Project Goals: a pure-rust implementation of git including transport, object database, references, cli and tui " and " Non-Goals: replicate git command functionality perfectly " Doe…

It rely on other crates, have they been verified not to use C/C++ (i.e. all are written from scratch without interacting with C/C++)? This software is as good as the crates it depends on to do those work. If those crates are not maintained this software will not work either. Also I am expecting down-vote of this comments as well given the way Rust community works. :-)

This wasn't about Rust – it was about you making quite vague claims about somebody's project. I don't know you, but I do write software myself and know how easy unfounded claims can go haywire. So before critiquing the work of someone else I'd rather make sure the points I make are true, actually something the person I critique could have avoided and adequate to the level of the project (e.g. a hobbyist should receive milder criticism than a big organization).

So if you are claiming there is C/C++ in the dependencies – therefore the project must not be a true scottsman and should not have been written – so if you put the burden of proof on the other side, maybe it is time for you to look into the mirror, and ask yourself whether your opposition to a simple programming language is not a bit... irrational..?

If a innocent project like this one makes you use that kind of rhetorical moves consider the possibility that this says more about you than about the thing you are commenting on.

Post reply on HN