This Week in D July 2, 2017

Welcome to This Week in D! Each week, we'll summarize what's been going on in the D community and write brief advice columns to help you get the most out of the D Programming Language.

The D Programming Language is a general purpose programming language that offers modern convenience, modeling power, and native efficiency with a familiar C-style syntax.

This Week in D has an RSS feed.

This Week in D is edited by Adam D. Ruppe. Contact me with any questions, comments, or contributions.


Major Developments

dmd's -betterC switch has been getting a lot of attention from Walter lately. It is very close to fulfilling my wish list for a working betterC: an extern(C) main program that only calls C functions, built with the -betterC switch, basically now just works, including partial struct support. It achieves this by skipping generation of certain runtime library hooks.

It is still missing struct destructors from my list, but Walter made asserts and even range checks just work with -betterC, by making them call the C assert function.

(If you are targeting bare metal, there are now just 2 extern(C) functions you must implement. I'll write more at length about this in the future.)

-betterC is NOT a different language. It is just D with a few implementation details changed and some features liable to trigger linker errors if you use them. As such, any betterC compatible libraries should also just work in normal D projects.

I'll be watching this as it continues to develop.

In the community

Community announcements

See more at the announce forum.

Learn more about D

To learn more about D and what's happening in D: