HackerTube.dev

Interfacing D To Legacy C++ Code

NWCPP - Northwest C++ Users Group · 5.5K views · 2015-01-23 · 1:21:23

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Walter Bright explains to the Northwest C++ Users Group how the D programming language can interface directly with legacy C++ code. He covers why C++ is hard to interface with and how D approaches the problem.

On Hacker News

HN uses it as evidence that D has unusually good C++ interop and as Walter Bright's account of the challenges D is tackling.

Discussed on HN; no positive recommendation is recorded in this export · HN mentions 2016–2019

Topics

Search by tags

What people said

maga_2020 · 2019-04 · Reference

Another alternative, I think is D-language bindings to QT (or betterC which is a subset of D allowes to use D with C runtime library, while retaining D-s class system, templates and memory safety). [1] [LINK] D's team is doing an incredible job of matching C++ compiler specific ABIs, name mangling/etc -- just so D users can use C++ libraries (including templates) directly from D without loosing the features of the language. [2] [LINK] Here is also an older video of Walter Bright (2015) talking about the challenges that D is tackling [3] [VIDEO]

Read the original HN comment ↗
armitron · 2018-12 · Reference

Rust does not have native C++ interop. C ABI is different to what clasp has done (native C++ interop). All widely used Common Lisp implementations have seamless C ABI interop through their FFIs / CFFI [1]. Clasp goes above and beyond that and natively interfaces with C++. LTO works with mixed Common Lisp and C++ code. Exception handling works as expected. You can mix Common Lisp and C++ stack frames. Correct me if I'm wrong but Rust does not have anything equivalent. The language that comes closest is D I think [2]. [1] [LINK] [2] [VIDEO]

Read the original HN comment ↗
qznc · 2016-12 · Reference

Reasons for D: It is a way out of the C++ tar pit, because it does C++ interop better than any other language. D needs to continue to outrun C++ evolving, though. See [LINK] or [VIDEO] It has powerful meta-programming. It is effectively the opposite of Go, which does not even have generics. This certainly provides foot shooting as well, so other languages (e.g. Rust) are more conservative with that. D examples: [LINK] Those are the two reasons, which D has ahead of all other languages (ok, not Lisp wrt meta-programming). If you compare it to another specific language, there are more things to talk about.

Read the original HN comment ↗

Sources

Video by NWCPP - Northwest C++ Users Group, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources