diff -uNr dmd-0.126/dmd/html/d/changelog.html dmd-0.127/dmd/html/d/changelog.html
--- dmd-0.126/dmd/html/d/changelog.html 2005-06-07 21:54:28.000000000 +0200
+++ dmd-0.127/dmd/html/d/changelog.html 2005-06-16 21:54:14.000000000 +0200
@@ -37,7 +37,7 @@
| D
-Last update Tue Jun 07 2005
+Last update Thu Jun 16 2005
+ +
- -
Feature - | D - | C - | C++ - | C# - | Java - |
---|---|---|---|---|---|
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 - - |
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 - - |
String switches - | Yes - | No - | No - | Yes - | 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 - | Yes - | Yes - - |
Nested classes - | Yes - | Yes - | Yes - | Yes - | Yes - - |
Inner (adaptor) classes - | No - | No - | No - | No - | Yes - - |
Covariant return types - | Yes - | No - | Yes - | No - | No - - |
Properties - | Yes - | No - | No - | Yes - | 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 - - |
Generic Programming - | - | - | - | - | - - |
Class Templates - | Yes - | No - | Yes - | Yes - | Yes - - |
Function Templates - | Yes - | No - | Yes - | No - | Yes - - |
Partial and Explicit Specialization - | Yes - | No - | Yes - | No - | No - - |
Value Template Parameters - | Yes - | No - | Yes - | No - | No - - |
Template Template Parameters - | Yes - | No - | Yes - | No - | No - - |
Mixins - | Yes - | No - | No - | No - | No - - |
typeof - | Yes - | No - | No - | Yes - | No - - |
foreach - | Yes - | No - | No - | Yes - | Yes - - |
Reliability - | - | - | - | - | - - |
Contract Programming - | 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 (automatic destructors) - | 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 - | - | - | - | - | - - |
C-style syntax - | Yes - | Yes - | Yes - | Yes - | Yes - - |
Enumerated types - | Yes - | Yes - | Yes - | Yes - | Yes - - |
Support all C types - | Yes - | Yes - | No - | No - | No - - |
80 bit 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 - | No - | No - | No - | No - - |
Generates standard object files - | Yes - | Yes - | Yes - | No - | No - - |
Macro text preprocessor - | No - | Yes - | Yes - | No - | No - - |
Other - | - | - | - | - | - - |
Conditional compilation - | Yes - | Yes - | Yes - | Yes - | No - - |
Unicode source text - | Yes - | Yes - | Yes - | Yes - | Yes - - |
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- template <class Base> class Mixin : public Base - { - ... mixin body ... - }- D mixins are different. -
- -
- -
+ +
Feature + | D + | C + | C++ + | C# + | Java + |
---|---|---|---|---|---|
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 + + |
Typesafe variadic arguments + | Yes + | No + | No + | Yes + | Yes + + |
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 + + |
String switches + | Yes + | No + | No + | Yes + | 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 + | Yes + | Yes + + |
Nested classes + | Yes + | Yes + | Yes + | Yes + | Yes + + |
Inner (adaptor) classes + | Yes + | No + | No + | No + | Yes + + |
Covariant return types + | Yes + | No + | Yes + | No + | Yes + + |
Properties + | Yes + | No + | No + | Yes + | 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 + + |
Generic Programming + | + | + | + | + | + + |
Class Templates + | Yes + | No + | Yes + | Yes + | Yes + + |
Function Templates + | Yes + | No + | Yes + | No + | Yes + + |
Implicit Function Template Instantiation + | No + | No + | Yes + | No + | No + + |
Partial and Explicit Specialization + | Yes + | No + | Yes + | No + | No + + |
Value Template Parameters + | Yes + | No + | Yes + | No + | No + + |
Template Template Parameters + | Yes + | No + | Yes + | No + | No + + |
Mixins + | Yes + | No + | No + | No + | No + + |
static if + | Yes + | No + | No + | No + | No + + |
is expressions + | Yes + | No + | No + | No + | No + + |
typeof + | Yes + | No + | No + | Yes + | No + + |
foreach + | Yes + | No + | No + | Yes + | Yes + + |
Reliability + | + | + | + | + | + + |
Contract Programming + | 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 (automatic destructors) + | 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 + | + | + | + | + | + + |
C-style syntax + | Yes + | Yes + | Yes + | Yes + | Yes + + |
Enumerated types + | Yes + | Yes + | Yes + | Yes + | Yes + + |
Support all C types + | Yes + | Yes + | No + | No + | No + + |
80 bit 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 + | No + | No + | No + | No + + |
Generates standard object files + | Yes + | Yes + | Yes + | No + | No + + |
Macro text preprocessor + | No + | Yes + | Yes + | No + | No + + |
Other + | + | + | + | + | + + |
Conditional compilation + | Yes + | Yes + | Yes + | Yes + | No + + |
Unicode source text + | Yes + | Yes + | Yes + | Yes + | Yes + + |
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ template <class Base> class Mixin : public Base + { + ... mixin body ... + }+ D mixins are different. +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + + diff -uNr dmd-0.126/dmd/html/d/cppstrings.html dmd-0.127/dmd/html/d/cppstrings.html --- dmd-0.126/dmd/html/d/cppstrings.html 2005-05-19 15:08:48.000000000 +0200 +++ dmd-0.127/dmd/html/d/cppstrings.html 2005-06-14 15:15:54.000000000 +0200 @@ -37,7 +37,7 @@ | D- In D, an empty string is just null: + In D, an empty string has zero length:
char[] str; - if (!str) + if (!str.length) // string is empty |
diff -uNr dmd-0.126/dmd/html/d/cpptod.html dmd-0.127/dmd/html/d/cpptod.html
--- dmd-0.126/dmd/html/d/cpptod.html 2005-06-06 17:53:30.000000000 +0200
+++ dmd-0.127/dmd/html/d/cpptod.html 2005-06-14 15:15:54.000000000 +0200
@@ -38,7 +38,7 @@
| D
-Last update Mon Jun 06 2005
+Last update Tue Jun 14 2005
diff -uNr dmd-0.126/dmd/html/d/expression.html dmd-0.127/dmd/html/d/expression.html
--- dmd-0.126/dmd/html/d/expression.html 2005-06-07 01:31:22.000000000 +0200
+++ dmd-0.127/dmd/html/d/expression.html 2005-06-15 12:43:22.000000000 +0200
@@ -37,7 +37,7 @@
| D
-Last update Tue Jun 07 2005 +Last update Wed Jun 15 2005 Expressions@@ -120,7 +120,7 @@ RelExpression !< ShiftExpression RelExpression !<= ShiftExpression - InExpression: + InExpression: RelExpression in ShiftExpression ShiftExpression: diff -uNr dmd-0.126/dmd/html/d/function.html dmd-0.127/dmd/html/d/function.html --- dmd-0.126/dmd/html/d/function.html 2005-05-22 19:28:06.000000000 +0200 +++ dmd-0.127/dmd/html/d/function.html 2005-06-08 11:55:44.000000000 +0200 @@ -37,7 +37,7 @@ | D-Last update Sun May 22 2005 +Last update Wed Jun 08 2005 Functions@@ -563,7 +563,7 @@ return sum(ii); // returns 15 } - void sum(int[] ar ...) + int sum(int[] ar ...) { int s; foreach (int x; ar) @@ -591,7 +591,7 @@ return sum(jj); // error, type mismatch } - void sum(int[3] ar ...) + int sum(int[3] ar ...) { int s; foreach (int x; ar) diff -uNr dmd-0.126/dmd/html/d/overview.html dmd-0.127/dmd/html/d/overview.html --- dmd-0.126/dmd/html/d/overview.html 2005-05-19 15:08:48.000000000 +0200 +++ dmd-0.127/dmd/html/d/overview.html 2005-06-09 02:17:28.000000000 +0200 @@ -37,7 +37,7 @@ | D-Last update Thu May 19 2005 +Last update Thu Jun 09 2005 Overview@@ -183,15 +183,17 @@ D development.
Resource Management-Garbage Collection+Automatic Memory ManagementD memory allocation is fully garbage collected. Empirical experience suggests that a lot of the complicated features of C++ are necessary |