Name: Anonymous 2013-07-29 3:43
not enough space for a review of a number of features of the D. However, I would like to let fluently and yet their list:
An effective model for creating multi-threaded programs, significantly exceeding C + + in terms of security
The most powerful meta-programming system, greatly simplifies the creation of non-trivial patterns. Comparable in functionality with macros in the language Nemerle (which are nothing to do with macros C / C + + does not have).
Constancy and immutability of variables
Calculations at compile
The presence of features characteristic of functional languages. In particular, the language is pure functions, lazy evaluation, lambdas, closures, higher-order functions, etc.
Having the ability to ban class inheritance and overriding methods, about the same as in C # / Java
Contract programming that can greatly simplify the debugging of programs and help the compiler to better optimize the code. The fact that there is no such possibility in the standard C + + and C #, saddens me.
Built-in support for unit-testing that can help during refactoring and support programs
Support for the concept of "module" as a unit of building the program, which is present in Ada, C # and Java, but not included in the standard C + +11
Operator overloading, which is easier to use than C + +
Support for negative infinity, infinity and NaN (not a number) for numeric types have been added to the standard C99, but not included in C + +
Support for cross-platform applications (D standard library is made tolerable)
Very fast compilation of programs, especially for large projects
Documentation generator built into the compiler (such as in C #)
The profiler is built into the compiler, which simplifies the search for the "narrow" places in the program
Code coverage analysis is built into the compiler that simplifies debugging program
and much more ...
An effective model for creating multi-threaded programs, significantly exceeding C + + in terms of security
The most powerful meta-programming system, greatly simplifies the creation of non-trivial patterns. Comparable in functionality with macros in the language Nemerle (which are nothing to do with macros C / C + + does not have).
Constancy and immutability of variables
Calculations at compile
The presence of features characteristic of functional languages. In particular, the language is pure functions, lazy evaluation, lambdas, closures, higher-order functions, etc.
Having the ability to ban class inheritance and overriding methods, about the same as in C # / Java
Contract programming that can greatly simplify the debugging of programs and help the compiler to better optimize the code. The fact that there is no such possibility in the standard C + + and C #, saddens me.
Built-in support for unit-testing that can help during refactoring and support programs
Support for the concept of "module" as a unit of building the program, which is present in Ada, C # and Java, but not included in the standard C + +11
Operator overloading, which is easier to use than C + +
Support for negative infinity, infinity and NaN (not a number) for numeric types have been added to the standard C99, but not included in C + +
Support for cross-platform applications (D standard library is made tolerable)
Very fast compilation of programs, especially for large projects
Documentation generator built into the compiler (such as in C #)
The profiler is built into the compiler, which simplifies the search for the "narrow" places in the program
Code coverage analysis is built into the compiler that simplifies debugging program
and much more ...