Jordi is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Haha, some people are weird. Somebody posts “I really love X have been using X for many years”. Half the people replying: “Have you tried Y? I’m really happy with Y!”
What kind of conversation is that? What is the expected outcome? “No” – “Well, you should?” – “But I just said how I’ve been using X for years!” – “But I’m happy with Y! You should try it!” – I could go on.
Don’t do this.

Jordi @JordiGH

@kensanata Have you tried D? It's a great programming language!

· Web · 1 · 4

@JordiGH I haven’t but I remember you posted something about D which I didn’t read because I’m still using Perl 5... 😭

@kensanata @JordiGH Facebook came pretty close to officially supporting D for their own internal code, but they ended up rejecting it for reasons I no longer recall despite Andrei Alexandrescu himself spearheading the effort to get it supported.

@JordiGH @kensanata I wouldn't be surprised if it were mentioned on a D mailing list somewhere but it looks like Andrei's AMA on Reddit, which would be another place to look for such a thing, was when he was still working on getting it accepted:

I think the reason may well be that the amount of effort was high relative to the internal support and Andrei decided he had better things to do with his time.

@kensanata @JordiGH In fact, come to think of it, I wrote to Andrei looking to come to his team because I wanted to work with D, and he eventually got back to me and said he had moved on to something unrelated to D.

@freakazoid What? How odd. Well, he's back on D now. He made it his job.

Facebook is a bit of an odd thing. I am not entirely happy with how they're handling one of my beloved projects, Mercurial. They've more or less threatened a couple of times that they would just internally fork it and leave everyone else hanging.

I guess they had very selfish reasons to want D too and Andrei wanted D for the greater good, not just for fb.

@JordiGH Glad to hear he's back on D full time!

As for Mercurial, the whole reason they went with Mercurial in the first place was that the community was more willing to work with them on the features they needed, so they wouldn't *have* to fork. But they've forked a lot of projects internally, including Memcached and Zookeeper. Sometimes they re-release the fork like they did with their leveldb fork. Sometimes it's just not helpful, as I imagine would be the case with Mercurial.

@freakazoid Oh, you didn't know? Yeah! He's all on D right now!

You should come back, D has gotten a lot better recently and keeps getting better all the time! It grows new features like `static for` which I really like!

@JordiGH Come back to Facebook or to D? Facebook did try to recruit me back about a month ago.

@JordiGH Oh I just realized you meant he'd left *Facebook* to work on D full time. I've never actually become a D user. Like with Rust, I mostly just admire it fondly from afar. And then there's Go, which is the much closer but slightly off-smelling one.

@JordiGH Thanks! My biggest source of inertia for moving from C++ is that all of the libraries I want to use are written in C or C++, so having to semi-manually copy their header files is a bit of a pain. Plus, practically all of the OpenGL examples out there are for C or C++.

The best experience I've had so far interfacing to C code from another language has been with Chicken Scheme, which uses a C compiler as its backend.

@freakazoid Ah, you can already just import C headers as modules in D. And this guy thinks you can do it for C++ too:

@JordiGH That page talks about doing it with C header files and puts C++ as a future plan. The D docs make it look like about the same situation as for Rust.

@JordiGH Seems like the big advantage of D over Rust or Go for this purpose is the fact that unlike those two it relies on the C library, so you're not pulling in an extra dependency just to call C code.

@freakazoid There's also quite a bit of C++ support already there, with nontrivial templates being a big exception.

Show more