Live data from Hacker News

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

dpldocs.info

151–160 of 322 posts

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

#151
post #64
post #15

Earlier quoted context omitted.

Meanwhile Rust is noncompelling due to its syntax. It made a bunch of weird design choices (like putting class methods in separate `impl` blocks) that have ruined my chances of trying to use it for any personal projects.

Putting class methods in separate impl blocks is actually objectively better; it allows you to define new methods on types that you didn't write, like typeclasses in Haskell.

Notice Rust actually forbids you from doing this to types you don't own.

Rust's own standard library gets a pass. For example the [T] (a slice of T) generic type is a built-in, and the core library defines methods on that type, but in terms of sorting it only provides sort_unstable - an unstable sort, and the associated variants of that sort.

Then Rust's alloc crate, which is optional, has a new impl block for [T] and it defines sort, a stable sort on this same type which is much faster than it might be otherwise because it uses a temporary buffer, hence it needs an allocator and can't live in core.

You are not allowed to do this for other people's types. If I make a Goose in crate A, and then you try to write an impl block for A::Goose so that you can add a fly method to it, that won't work. Rust obviously could allow this, but it would invite chaos, so they don't.

What you can do is invent a trait Flying and impl Flying for A::Goose

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

#152
post #77

Earlier quoted context omitted.

Rust is a really frustrating language for me: I understand the safety it provides but find the pain of actually using it makes it uncompelling. Plus, the Rewrite it in Rust movement is very off-putting

Rust is a frustrating language for me too. I never saw the need for it, really. I just stuck with the language constructs in C++ that makes it basically impossible for memory leaks/use after free/use outside of bounds to occur or if they do occur, explode loudly in debug environments. I haven't used new/delete in a personal project in like a decade; longer than Rust has been around. Now I'm working on a project where…

Please write a book about this. I'd want to read it!

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

#153

My research group left D for Rust several years ago due to nonresponsiveness and poor language development trajectory. While I wish Adam and the others success with OpenD, I hope they can take the opportunity to pick a more unique/memorable name.

They could go with TheD, to fill in the niche left by Coq now Coq's getting renamed.

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

#154

Earlier quoted context omitted.

Python is a interpreted language, and is both strongly/dynamic typed D is a native strongly typed language You don't make game engines in Python, and certainty not drivers, python devs fall back to C when they need performance, this should give you a hint

Sorry don't get your points, latest D compiler does support C native in addition to the much safer DasBetterC. D is even better you can do all things seamlessly in the same D ecosystem supported by GCC compiler suite by not even going to another language eco-system. Heck, D can be even be faster than Fortran and C++ for native HPC library seven years ago where Rust and Julia still revert to them for HPC routines unti…

Exactly, you achieve this by not embracing the GC, wich is not what this fork wants to do..

And Python's selling point isn't the fact that it has a GC, it's its interpreted/dynamic nature

D is pragmatic about memory allocation strategy, this fork won't be

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

#155
post #64

Earlier quoted context omitted.

Putting class methods in separate impl blocks is actually objectively better; it allows you to define new methods on types that you didn't write, like typeclasses in Haskell.

Notice Rust actually forbids you from doing this to types you don't own. Rust's own standard library gets a pass. For example the [T] (a slice of T) generic type is a built-in, and the core library defines methods on that type, but in terms of sorting it only provides sort_unstable - an unstable sort, and the associated variants of that sort. Then Rust's alloc crate, which is optional, has a new impl block for [T] an…

Yeah I found it somewhat surprising too. Coming from kotlin I had expected this to be similar to extension methods but apparently not. I never fully understood the motivation behind this restriction.

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

#156
post #88

There's a big thread about this on the D forums: https://forum.dlang.org/thread/beykokfitddfdsjyqjjy@forum.dl...

clarify: the big thread referenced here is started by the people doing the forking (2 people so far), and there's a fair amount of good detailed response by D people which is lacking in TFA above. The orig article is just beefing about personalities, and this link has more technical discussion sounds from this like the people forking basically want a different language, for which they're willing to make a number of b…

no, the D forum thread has several github links which pretty much self-explanatory of what has been going on.

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

#157

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.

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

#158

Earlier quoted context omitted.

Rust is for people who stick around, can come over hurdles, can take in new concepts and see the overall benefits. It has a steep learning curve that pays off. For me there are three reasons why Rust is suitable for many usecases: - performance - safety - static binary compilation with targeting different cpu architecture After spending majority of my time with Python and Java in the last 10 years these are things i…

Performance isn’t a problem for Java for just about any business application most programmers will work on and, if it is, you can usually figure out how to optimize Java to hit your performance target. Safety is also not a problem in Java. And fat jars remain the single best way to deploy an application I’ve seen in just about any ecosystem (and nix is working out pretty well to bring their benefits to the rest of th…

Even better than fat jars are jlink‘ed images, maybe even wrapped in a nice shell using jpackage. Bundling the JDK and stripping it of unneeded modules eliminates so many types of issues. All courtesy of your JDK.

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

#159
post #9

Earlier quoted context omitted.

I think the fundamental problem with D is much simpler than that, it's the technical context. D is a better C++, but it's not better enough to escape the gravitational pull of C++. Rust is sufficiently compelling, with its focus on memory safety.

Rust is a really frustrating language for me: I understand the safety it provides but find the pain of actually using it makes it uncompelling. Plus, the Rewrite it in Rust movement is very off-putting

Try V https://vlang.io/ ;)

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

#160

Earlier quoted context omitted.

> Good luck to these guys on trying to bring life back to it, but frankly I think at this point most people have given up and moved on to alternatives like Rust, Nim, Zig, etc... And back in 2015, folks were saying the same thing, but with different alternative languages. I remember twenty years ago when C++ was dead. Oh, and remember the good old days when Java was dead? I'm not sure why programming language discuss…

Because it's not very difficult to lurk on forums like this and get a pretty accurate idea of which programming languages are on the way in or out. Or look at GitHub/Stackoverflow surveys and data if you want something quantitative. I don't think many people thought C++ was dead 20 years ago; that seems like revisionism. Same with Java. People looking for a C++ replacement have definitely moved on to Rust, Zig and ma…

> I don't think many people thought C++ was dead 20 years ago

Sure they did. Bjarne was in that camp. That's why C++11 came out, and the C++ of 20 years ago is dead.

> Same with Java.

It was very common to hear comments like "The JVM is great, but Java is terrible. Use Scala, Clojure, [language of the month]."

> People looking for a C++ replacement have definitely moved on to Rust, Zig and maybe Go & Nim. Not D. I don't see how you could seriously argue otherwise.

Do you have some numbers on how many moved to Zig and Nim? I'm not looking for "I've seen comments on the internet" but actual numbers. I'd expect it to be rounding error relative to the population of C++ users. And I seriously doubt the numbers would be very high for Go.

But the point still stands that people have been saying this about D for a gazillion years. It might be more credible if they'd at least change the story up a bit when they say it.

Post reply on HN