Reflections on using Go instead of D

Adam D Ruppe destructionator at gmail.com
Tue Jul 12 14:26:45 UTC 2022


On Tuesday, 12 July 2022 at 13:31:56 UTC, jfondren wrote:
> If I had a legitimately old system I'd have to find an old 
> enough dmd to work on it

Yeah, I hit that once, it is a bit of a pain. But just keeping 
around a thing from a few years ago tends to work pretty well 
most the time.

> Is that OpenBSD?

Slackware Linux. Maybe they did a different configure flag but 
their general policy is to closely follow upstream.

But even Go applications I've downloaded from other sources 
follow the same pattern...

oh well. I do know someone was using the musl libc with D (they 
sent me bug reports about cgi.d i had to fix to be compatible 
with it), idk the details though. Maybe we should make an article 
about that.

> It cheats and grabs system certs from standard locations.

Yeah, I added support for pulling Windows certs out of the system 
to my http2.d somewhat recently too... I think that was this 
year. So it can use both the openssl bundles and the separate 
Windows set. Worked really pretty well.

My lib also dynamic loads and detects incompatible versions, so 
it can adapt to 1.0 or 1.1 and such at runtime and just work.

But then openssl put out a 3.0 which has more random troubles. 
Ugh. But I'll prolly be able to adapt to that at some point too.

Still, I've found dynamic loading openssl is the best way to use 
it - static versions get outdated and websites move on to 
different algorithms, load-time linking hits incompatibilities. 
So runtime branching, while more work, gives best results.


More information about the Digitalmars-d mailing list