Live data from Hacker News

OpenD, a D language fork that is open to your contributions

dpldocs.info

291–300 of 322 posts

Re: OpenD, a D language fork that is open to your contributions

#291
post #284

Earlier quoted context omitted.

The entire JIT, garbage collector and most of the C#'s VM are all implemented in C++. This has caused various issues in the past which are exploitable from managed code. The amount of unsafe code used to implement C# vastly outweighs the amount in Rust's standard library.

> The amount of unsafe code used to implement C# vastly outweighs the amount in Rust's standard library. According to bing.com chat, https://github.com/dotnet/runtime has 3.5M LOC, and https://github.com/rust-lang/rust has 6M LOC. The right panel of https://github.com/dotnet/runtime says 80% of the .NET runtime is written in C#. This makes me wonder, do you happen to have a link for your “vastly outweighs” statement?

The "link" is just the repos rather than asking AI to hallucinate an answer. Rust's repo contains 2.2M LOC. The dotnet runtime contains 1.5M lines of C++.

Now if we remove in tree tests from the totals, we arrive at 1.5M lines of C++ (most tests are written in C# as you would expect) and 1.7M lines of Rust.

However, this does not exclude safe Rust code. I don't have a tool off hand that can provide a precise count of lines of unsafe code but we can get some general estimates. There are 1958 instances of "unsafe fn" out of 103,205 instances of "fn ". Further there are 11,545 instances of "unsafe " in the Rust repo while there are 10,768 instances of "unsafe " in the runtime repo.

Given that unsafe functions comprise less than 2% of all functions in the Rust repo, I think my claims are reasonable.

Re: OpenD, a D language fork that is open to your contributions

#292

Earlier quoted context omitted.

How is a software written in Java having less assurances in terms of leaks/crashes etc compared to Rust? All Rust gives you is a borrow checker that isn't very smart, but means you don't need GC/VM, so you gain a bit of performance compared to Java. But if it's not software that needs to go fast, then Rust is not adding anything for you. And if you considered Java to begin with you probably don't need top tier perfor…

The most notable advantage of Rust compared to GC languages is low and stable memory use and predictable performance, that will not generally drop due to some random GC pause. Both of these can be of interest even wrt. software that doesn't "need to go fast" in any absolute sense.

This is a persistent myth that’s only true if your performance model requires persistent latency and, even then, only if you’re careful to pay attention to how much is freed or allocated as you change scopes. The lifetime tracking features of Rust’s type system have non-negligible impacts on the sorts of abstractions you can make.

Re: OpenD, a D language fork that is open to your contributions

#293

What's Walther's take on the many gripes with the D leadership?

He pretty much derailed the D forum forking thread into remotely related tech discussion. This was weird to observe tbo, in the end my take is that he doesn't seem to bother much and would rather continue living in his version of the story.

I recognize that pattern of behavior because I've done something similar at times myself. Or at least, in my pattern it was this: what's done is done, confronting it will just create a lot more drama for me, and I don't feel confident in wading into a fraught social situation anyway. I'm much more in my element working on technical problems. So I let the social thing go and go work on the technical thing. This is not always a healthy thing to do, but to me it's not in the least weird.

That being said, never assume that no response from someone means someone doesn't care. I felt awful when dealing with situations like this. If this were my project, I would probably be extremely frustrated and more than a little bummed, whether or not I thought the fork was understandable.

Those are not things that are constructive to air in public, though, and I think it is a mark of leadership that Walter's dialogue remains as calm and polite through all of that thread as he usually is.

Re: OpenD, a D language fork that is open to your contributions

#294

Earlier quoted context omitted.

The most notable advantage of Rust compared to GC languages is low and stable memory use and predictable performance, that will not generally drop due to some random GC pause. Both of these can be of interest even wrt. software that doesn't "need to go fast" in any absolute sense.

This is a persistent myth that’s only true if your performance model requires persistent latency and, even then, only if you’re careful to pay attention to how much is freed or allocated as you change scopes. The lifetime tracking features of Rust’s type system have non-negligible impacts on the sorts of abstractions you can make.

Sure, there is one abstraction that effectively requires GC, namely a general graph of spaghetti references where you can't possibly predict in advance or "pay attention" to" how much is freed or allocated as you change scopes". Many GOFAI problems look like that which is why GC was initially developed in the context of LISP, the most prominent language for GOFAI. But for most real-world programs you can do vastly better than that.

Re: OpenD, a D language fork that is open to your contributions

#295

Earlier quoted context omitted.

He pretty much derailed the D forum forking thread into remotely related tech discussion. This was weird to observe tbo, in the end my take is that he doesn't seem to bother much and would rather continue living in his version of the story.

I recognize that pattern of behavior because I've done something similar at times myself. Or at least, in my pattern it was this: what's done is done, confronting it will just create a lot more drama for me, and I don't feel confident in wading into a fraught social situation anyway. I'm much more in my element working on technical problems. So I let the social thing go and go work on the technical thing. This is not…

> That being said, never assume that no response from someone means someone doesn't care. I felt awful when dealing with situations like this. If this were my project, I would probably be extremely frustrated and more than a little bummed, whether or not I thought the fork was understandable.

Contrariwise, I read through that forum thread and some of the linked github issues, and it wouldn't be shocking if he were happy to see some of those people walk away. It would not be politic for him to say so.

Re: OpenD, a D language fork that is open to your contributions

#296
post #284

Earlier quoted context omitted.

> C# is not more safe than Rust By design, Rust requires unsafe code to implement any non-trivial data structures (except trivial POD types). This applies to both Rust standard library, and third-party crates. The issue is not a theory, security bugs actually happened in reality. Here’s an example about the Rust standard library: https://shnatsel.medium.com/how-rusts-standard-library-was-v... By contrast, thanks to t…

The entire JIT, garbage collector and most of the C#'s VM are all implemented in C++. This has caused various issues in the past which are exploitable from managed code. The amount of unsafe code used to implement C# vastly outweighs the amount in Rust's standard library.

If you are going that way, Rust's reference compiler is dependent on LLVM, fully written in C++, and the C++ semantics of bitcode have broken Rust's code generation multiple times, forcing regressions and newer compiler releases with desactivated optimization features.

Also plenty of crates are bindings to C and C++ libraries with nice unsafe blocks.

Then was that Axium drama.

Re: OpenD, a D language fork that is open to your contributions

#297
post #195

Earlier quoted context omitted.

FYI, some members of the Nim community are working on a fork, for apparently similar reasons as OpenD (community-led development). https://github.com/nim-works/nimskull under active development and not ready for general consumption though, from my understanding.

Thanks for calling my attention to that. I'll have to keep an eye on it.

Take it from me: I disagree with the BDFL of Nim about a lot, but him banning some of the people who are behind this fork was one of the best decisions he’s made. Stay far away.

Re: OpenD, a D language fork that is open to your contributions

#298
post #297

Earlier quoted context omitted.

Thanks for calling my attention to that. I'll have to keep an eye on it.

Take it from me: I disagree with the BDFL of Nim about a lot, but him banning some of the people who are behind this fork was one of the best decisions he’s made. Stay far away.

Some context: dom96 here was the BDFL-in-2nd-command of Nim for quite some time. There is personal beef between dom96 and some of the primary nimskull contributors, which mostly involved a lot of name-calling, personal insults, and critiques of leadership and leadership effectiveness, that eventually lead to dom96 banning one of the aforementioned contributors, stalling quite a lot of interesting compiler work and partially sparking nimskull. It's all quite boring stuff.

dom96 eventually had a falling out with the Nim BDFL too (which I'm surprised did not happen earlier: the BDFL is... brusque, charitably) and so has been inactive in either Nim community because, well, obviously. But: in all my years involved with Nim, I have seen the nimskull developers to be pretty consistently great to work with? I think they handle things professionally, are not rude, and treat other's work with care (you will maybe notice they have a code of conduct exposing an explicit intent to do so). Which makes what happened between them and dom96 all the stranger in my eyes, but I was less active back then, and there is certainly context I am missing.

tl;dr meh

Re: OpenD, a D language fork that is open to your contributions

#300
post #297

Earlier quoted context omitted.

Take it from me: I disagree with the BDFL of Nim about a lot, but him banning some of the people who are behind this fork was one of the best decisions he’s made. Stay far away.

Some context: dom96 here was the BDFL-in-2nd-command of Nim for quite some time. There is personal beef between dom96 and some of the primary nimskull contributors, which mostly involved a lot of name-calling, personal insults, and critiques of leadership and leadership effectiveness, that eventually lead to dom96 banning one of the aforementioned contributors, stalling quite a lot of interesting compiler work and pa…

It's no big reveal that I was involved and optimistic about Nim for a long time, though "BDFL-in-2nd-command" is a stretch for someone who couldn't even get the community to instate a Code of Conduct. That's one of the many many reasons I left.

My many years of involvement with Nim is what I believe qualifies me to speak on the individuals in the forked project. That being said, I am no longer involved with Nim. I don't want to get reinvolved. I just want to warn people about individuals who were abusive to me (and others) for many years.

I banned very few people during my time in the Nim community, and never without good reason. I don't know who you could be referring to here. I'm sure you left this comment with the best of intentions, but you say it yourself, you were less active back then and have had minimal interactions with me on the subject.

Post reply on HN