Interfacing D To Legacy C++ Code
NWCPP - Northwest C++ Users GroupCited 3× on HN, 2016-2019
5K views · 11 years ago · talk · dated
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.
HN uses it as evidence that D has unusually good C++ interop and as Walter Bright's account of the challenges D is tackling.
54:55Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott Meyers
The D Language Foundation
19K views • 8 years ago
1:38:57Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23
CppNow
24K views • 3 years ago
1:22:21Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023
CppNow
18K views • 3 years ago
1:29:49Going Native 2012 Keynote Stroustrup
savage309
33K views • 14 years ago
48:19GopherCon 2014 Inside the Gophers Studio with Blake Mizerany
Confreaks
8K views • 12 years ago
1:54:00Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022
CppCon
277K views • 3 years ago
1:00:29Google I/O 2012 - Meet the Go Team
Google for Developers
108K views • 14 years ago
49:27DConf 2019: All Spreadsheets Must Die -- Robert Schadek
The D Language Foundation
5K views • 7 years ago
55:08Rust: A Language for the Next 40 Years - Carol Nichols
ChariotSolutions
367K views • 7 years ago
1:55:24Ideas about a new programming language for games.
Jonathan Blow
530K views • 12 years ago
12:31OSCON 2010: Rob Pike, "Public Static Void"
O'Reilly
119K views • 16 years ago
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
25msr
3K views • 8 years ago
51:40Domain Modeling Made Functional - Scott Wlaschin
NDC Conferences
71K views • 9 years ago
48:46Rust's Journey to Async/Await
InfoQ
90K views • 7 years ago
1:00:58The Next Five Years of ClojureScript - David Nolen
Metosin
19K views • 10 years ago
42:24"Swift as C++ Successor in FoundationDB" by Konrad Malawski (Strange Loop 2023)
Strange Loop Conference
20K views • 3 years ago
56:36GopherCon 2014 Opening Keynote by Rob Pike
Confreaks
38K views • 12 years ago
42:20Writing a Wayland Compositor in Zig - Isaac Freund
Zig SHOWTIME
26K views • 6 years ago
1:31:14CppCon 2017: Titus Winters “C++ as a "Live at Head" Language”
CppCon
53K views • 9 years ago
1:01:45Four Languages from Forty Years Ago - Scott Wlaschin
NDC Conferences
33K views • 8 years ago
3 comments from Hacker News
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] ▶ this video
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] ▶ this video
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 ▶ this 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.