Quora: Why hasn't D started to replace C++?
psychoticRabbit
meagain at meagain.com
Sun Feb 11 00:03:16 UTC 2018
On Tuesday, 30 January 2018 at 20:45:44 UTC, Andrei Alexandrescu
wrote:
> https://www.quora.com/Why-hasnt-D-started-to-replace-C++
>
> Andrei
Why indeed!
Feature D C C++ C# Java (and this was bacvk in
=====================================
Garbage Collection Yes No No Yes Yes
Functions
=========
Function delegates Yes No No Yes No
Function overloading Yes No Yes Yes Yes
Out function parameters Yes Yes Yes Yes No
Nested functions Yes No No No No
Function literals Yes No No No No
Dynamic closures Yes No No No No
Covariant return types Yes No Yes No No
Arrays
======
Lightweight arrays Yes Yes Yes No No
Resizeable arrays Yes No No No No
Arrays of bits Yes No No No No
Built-in strings Yes No No Yes Yes
Array slicing Yes No No No No
Array bounds checking Yes No No Yes Yes
Associative arrays Yes No No No No
Strong typedefs Yes No No No No
Aliases Yes Yes Yes No No
OOP
===
Object Oriented Yes No Yes Yes Yes
Multiple Inheritance No No Yes No No
Interfaces Yes No Yes Yes Yes
Operator overloading Yes No Yes Yes No
Modules Yes No Yes Yes Yes
Dynamic class loading No No No No Yes
Inner classes No No No No Yes
Covariant return types Yes No Yes No No
Performance
===========
Inline assembler Yes Yes Yes No No
Direct access to hardware Yes Yes Yes No No
Lightweight objects Yes Yes Yes Yes No
Explicit memory allocation control Yes Yes Yes No No
Independent of VM Yes Yes Yes No No
Direct native code gen Yes Yes Yes No No
Templates Yes No Yes No No
Reliability
===========
Design by Contract Yes No No No No
Unit testing Yes No No No No
Static construction order Yes No No Yes Yes
Guaranteed initialization Yes No No Yes Yes
RAII Yes No Yes Yes No
Exception handling Yes No Yes Yes Yes
try-catch-finally blocks Yes No No Yes Yes
Thread synchronization primitives Yes No No Yes Yes
Compatibility
=============
Algol-style syntax Yes Yes Yes Yes Yes
Enumerated types Yes Yes Yes Yes No
Support all C types Yes Yes No No No
Long double floating point Yes Yes Yes No No
Complex and Imaginary Yes Yes No No No
Direct access to C Yes Yes Yes No No
Use existing debuggers Yes Yes Yes No No
Struct member alignment control Yes Yes Yes No No
Generates standard object files Yes Yes Yes No No
Macro preprocessor No Yes Yes No No
Other
=====
Conditional compilation Yes Yes Yes Yes No
More information about the Digitalmars-d
mailing list