Live data from Hacker News

Gitoxide: Pure Rust Implementation of Git

github.com

21–30 of 200 posts

Re: Gitoxide: Pure Rust Implementation of Git

#21
post #15
post #4

Earlier quoted context omitted.

From the security perspective, if it is written in C, then it is broken by default and by design - no exceptions. See https://news.ycombinator.com/item?id=24133128 for a recent, very relevant discussion on that topic with multiple examples and a good rationale.

I really don't understand the hate towards every language that is not Rust. Rust provide you tools to avoid many security issues. But that does not mean everything that hasn't been written in Rust is broken by default. You still have "unsafe" in Rust, so is it broken by default and design and we should throw away the language ? Obviously not!

As a Lisp programmer, I don't dunk on everything that is not Rust; I instead dunk on everything that is C. The extensive use of this language has brought us countless pain via stack overflows, buffer overflows, memory corruption, and multiple other vulnerabilities that are literally baked into the language model. Dropping C for any sane alternative will be a massive boon.

Re: Gitoxide: Pure Rust Implementation of Git

#22
post #16

Earlier quoted context omitted.

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…

If you do it for fun, or to learn, that is more than fine. But seeing almost every day a new tech "implemented in Rust because X sucks and is not secure" is becoming annoying.

Keep in mind that the person who posed this appears to have nothing to do with the project, they're just someone who's seen something that interests them and shared it here, the same as the people voting it up.

Re: Gitoxide: Pure Rust Implementation of Git

#23

Earlier quoted context omitted.

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…

> or me, rust is the first real competitor in the systems programming market. What about julia or go?

> Julia is dynamically typed

Re: Gitoxide: Pure Rust Implementation of Git

#25

Earlier quoted context omitted.

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…

> or me, rust is the first real competitor in the systems programming market. What about julia or go?

Go is a competitor to Java, not C/C++.

Re: Gitoxide: Pure Rust Implementation of Git

#26
As I have understood it, the major coding flaws in Git involve failure to handle OS and file system errors responsibly. (The SQLite people are very persuasive on the topic.) Rust does not seem to bring anything new to this particular table.

Any improvement in this area would need to inhere in library-level facilities constructed for the purpose. What are they?

Re: Gitoxide: Pure Rust Implementation of Git

#27
post #26

As I have understood it, the major coding flaws in Git involve failure to handle OS and file system errors responsibly. (The SQLite people are very persuasive on the topic.) Rust does not seem to bring anything new to this particular table. Any improvement in this area would need to inhere in library-level facilities constructed for the purpose. What are they?

Rusts good support for option and result types might help here.

Re: Gitoxide: Pure Rust Implementation of Git

#28
post #19

Fascinating, this doesn't use `libgit2` anywhere. I didn't expect that. Very cool.

What did you expect instead from "pure rust"?

Not sure what is meant by pure, probably another way of marketing to Rust aficionados. It uses crates which still rely on unsafe ‘C’ code to interact with operating system for interacting with files and file related OS calls.

It will be nice instead of proclaiming Rust as “C” replacement it should have positioned as “A language complementing C/C++ to write safe code”.

Recently Servo project is abandoned by Mozilla for which Rust is a primary language.

Now need to see, if Rust can fulfils it’s primary objective to write Firefox in Rust, it looks more remote now. So it will take much longer for Rust to become as ubiquitous and important as Go language for systems programming. Probably Microsoft and others might pick to write some core new systems in Rust, instead of just rewriting same working C/C++ code in Rust for marketing purposes.

Re: Gitoxide: Pure Rust Implementation of Git

#29
post #15
post #4

Earlier quoted context omitted.

From the security perspective, if it is written in C, then it is broken by default and by design - no exceptions. See https://news.ycombinator.com/item?id=24133128 for a recent, very relevant discussion on that topic with multiple examples and a good rationale.

I really don't understand the hate towards every language that is not Rust. Rust provide you tools to avoid many security issues. But that does not mean everything that hasn't been written in Rust is broken by default. You still have "unsafe" in Rust, so is it broken by default and design and we should throw away the language ? Obviously not!

As others have said, the issue is with C style memory issues.

Rust not only gives you safety and correctness, but gives you often speed as a bonus over C. There is a real benefit towards rewriting everything written in C in a language/tool system like Rust.

There is still a place for other languages, especially ones that use a garbage collector. Rust would make that garbage collector a lot safer.

Re: Gitoxide: Pure Rust Implementation of Git

#30
post #15

Earlier quoted context omitted.

I really don't understand the hate towards every language that is not Rust. Rust provide you tools to avoid many security issues. But that does not mean everything that hasn't been written in Rust is broken by default. You still have "unsafe" in Rust, so is it broken by default and design and we should throw away the language ? Obviously not!

As a Lisp programmer, I don't dunk on everything that is not Rust; I instead dunk on everything that is C. The extensive use of this language has brought us countless pain via stack overflows, buffer overflows, memory corruption, and multiple other vulnerabilities that are literally baked into the language model. Dropping C for any sane alternative will be a massive boon.

I think ada can be good contender for C replacement
Post reply on HN