Live data from Hacker News

Gitoxide: Pure Rust Implementation of Git

github.com

161–170 of 200 posts

Re: Gitoxide: Pure Rust Implementation of Git

#161

Earlier quoted context omitted.

> Git already runs on more platforms than Rust can target. cough cough Windows cough

What do you mean? Both Git and Rust run very well on Windows.

I think the point is that Git for Windows needs a whole Unix compatibility layer (msys2), whereas gitoxide easily compiles to a self-contained executable even on Windows.

Re: Gitoxide: Pure Rust Implementation of Git

#162

Earlier quoted context omitted.

What do you mean? Both Git and Rust run very well on Windows.

I think the point is that Git for Windows needs a whole Unix compatibility layer (msys2), whereas gitoxide easily compiles to a self-contained executable even on Windows.

Ah, I just install the binaries and use it entirely outside of all of that, so I forget it even exists. But yes!

Re: Gitoxide: Pure Rust Implementation of Git

#164

Earlier quoted context omitted.

> Julia is dynamically typed

Its gradually typed, and compiles down to typed code with LLVM on first run. So after a warmup (which can be cached) its effectively static for purposes of performance.

I was quoting the developers. I'll take their word for it. Whether something is compiled or not is orthogonal. I need strong static typing, preferably with algebraic data types. Julia doesn't provide any of that, Rust provides all of that.

Re: Gitoxide: Pure Rust Implementation of Git

#165

Earlier quoted context omitted.

I think this is a good point, but I think you're mostly talking about building rather than porting. It's way more likely you'll be able to port something from a popular architecture to an obscure one in C because the lingua franca is C, and shipping an architecture generally means shipping C compiler support for it. I would guess this will slowly change as LLVM gets more backends, but that's pretty hand-wavy. The oth…

(Another option is a gcc frontend for Rust, which the gcc folks have said that they're not opposed to)

Yeah actually I think this would be a great idea. Surely some defense contractor or aerospace company would fund this work.

Re: Gitoxide: Pure Rust Implementation of Git

#166
All: Rust has clearly reached the now-it's-a-flamewar-trigger stage of the hype cycle. Nobody wants that. If you're posting to HN, please stick to interesting specific things, not boring generic ones.

Programming language flamewar is not interesting, so please don't do it here.

https://news.ycombinator.com/newsguidelines.html

Re: Gitoxide: Pure Rust Implementation of Git

#167
post #137

Earlier quoted context omitted.

Hi Byron. What in your opinion would be a good place for someone to start contributing to this?

Right now, the project is clearly missing contribution guidelines, but now that it's a bit more public these will be added soon, possibly along with some tickets that are ready for pickup. For now I am very focussed on implementation. That said, I have created a quick issue for you with a small tasks and high value: https://github.com/Byron/gitoxide/issues/7 Thanks a lot for your consideration <3

Great project - more power to you for driving it so far.

My 2 cents. I think rust-analyzer offers a great new dev onboarding experience. issues labelled with has-instructions usually have a a link to the relevant snippet of code in the repo and sometimes even the stub of a failing unit test. While it might be obvious to you, the author, how and where to find the necessary code, it enables a great many people to send patches.

Witness the number of contributors with https://github.com/rust-analyzer/rust-analyzer/graphs/contri...

If you want to increase adoption, please borrow as many dev experience tricks from rust-analyzer as possible

Re: Gitoxide: Pure Rust Implementation of Git

#168
post #41

How much use of unsafe is there? 'Pure Rust' counts for little if the code overuses Rust's unsafe features. edit This was a sincere question. I'm glad the answer turned out to be that there's very little of it.

rg "unsafe " | wc -l tells me there are 19 occurences, for about 13.7k lines of Rust in total. So it's not a lot.

Also most of those are actually `#![forbid(unsafe_code)]` declarations or comments. I only see two places where unsafe is actually used, via `UnsafeCell`.

Re: Gitoxide: Pure Rust Implementation of Git

#169

Earlier quoted context omitted.

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

Doesn't Ada have the same explicit deallocation and use-after-free problems C does?

Re: Gitoxide: Pure Rust Implementation of Git

#170

Earlier quoted context omitted.

I think that ANSI-C is a lot more portable than Rust, to be honest.

I find in Rust I have far fewer platform specific switches with #[cfg(Unix)] and the like vs. the number of #ifdef macros in C. If you’re talking about code portability of pure C, no dependencies, then I agree. Once you start depending on platform features, in my experience, the portability of Rust is superior.

The problem is that this requires the Rust run-time to be a ball of mud that provides everything for everyone.

Where is the Rust compiler for a Motorola 68K?

How about PIC24? And if there is ever a Rust compiler for PIC24, what will happen to all that run-time support? How much of it will work? How will you detect what of it works and what doesn't, in order to work around for it in your program?

Post reply on HN