Ali Çehreli explains how the D programming language provides productivity and performance advantages over C++ for systems programming.
cppnow.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/boostcon/cppnow_presentations_2017
—
D is a systems programming language with C-like syntax and static typing. It combines efficiency, control, and modeling power with safety and programmer productivity.
Producing correct programs has notoriously been expensive in systems programming. Depending on the language used, programmers face a combination of labor and time intensive issues including struggling with language peculiarities, writing boilerplate code, code generation with difficulty or with external tools, manual resource management, and having to abide by long lists of coding guidelines. Correct programs further require prototyping sometimes with auxiliary languages and unit testing with external frameworks. It is not uncommon that readability and maintainability are sacrificed in the process.
D has minimal historical baggage, outstanding compile-time capabilities, useful exceptions, compiler-guaranteed memory safety, internal unit testing, and optional garbage collector as parts of an extensive feature set. Its features spanning from the lowest to the highest levels of programming paradigms generally obviate auxiliary languages in production.
This talk will give a general introduction of D, focusing mainly on its compile-time features like reflection, templates, code generation, conditional compilation, and user defined attributes; and present D as a time-saving software engineering tool suited for business requirements.
Because C++ is such a powerful language and because C++Now attendees are master users of it, it will be hard to argue for a single feature of D that would make one prefer D over C++. We know that one can achieve almost any programming task in C++, D, or most other languages. The killer feature of D is that the whole package it delivers makes it easier to achieve those tasks. That is the competitive advantage that it brings to D users.
—
Ali has been working with C, C++, and D at various networking companies in Silicon Valley since 1996. His experience includes a fun stint at WekaIO, a high performance storage company that bases its technology entirely on D. Ali is the author of the book Programming in D, the secretary and board member of The D Language Foundation, former acting president of the Silicon Valley Chapter of the ACCU, an organizer of the Silicon Valley DLang meet-up group, and a team member of the revolutionary Mill CPU.
—
Videos Filmed & Edited by Bash Films: BashFilms.com
Why it's here
1 person recommends this
What people say. Recommended as a great summary of how D can be used effectively without its garbage collector.
Moments people linked to
z
u/zombinedevin r/programming • Recommends
On “Life in the Fast Lane -- using D without the GC”
> I find it really disappointing that D can't easily function without the garbage collector.
I don't understand why are you coming to that conclusion. People are writing bare-metal kernels, real-time audio plugins, etc. in D, so surely D functions well without the GC. Just use smart pointers or manual memory management like you would in other systems programming languages.
Ali made a great summary on dlang in his C++Now keynote - http://ddili.org/AliCehreli_CppNow_2017_Competitive_Advantage_with_D.no_pause.pdf link to this video
Forgive the noob question. At 55:14 you say some uses but not all of the comma operator are eliminated. More detail please? How can the compiler tell the "good" uses from the "bad" uses?