On 12/18/2011 11:51 AM, Ruslan Mullakhmetov wrote:
On 2011-12-18 00:56:33 +0000, Timon Gehr said:

C++11 does not change the relation between D and C++ a lot. Why do you
think it does?

Because it incorporates many features D declared to be unique to it

It does not, except for the most trivial stuff.

over
C++ like
- thread local variables

D never declared that to be unique over C++. In D, thread local is the *default*. C++ does not have that, and it cannot have that.

- explicit concurrency model

?

- type deduction

C++11 cannot deduce function return value types. Except for lambdas. C++11 cannot pass template lambda functions as template parameters.

- variadic templates

Yes, now you can pass a variable number of things to a C++ template. But what kind of things you can pass is still severely restricted.

- generalized constant expressions

LOL! D has full CTFE. C++11's generalized constant expressions are a joke in comparison.


Some comparison is made at http://d-programming-language.org/cpp0x.html

The language does not have to be changed to get that to work.

The C language doesn't have to be changed to get OOP working. There are
libraries written in plain C satisfying all requirements of OOP, e.g.
libav. Nevertheless C++ was born.

This analogy is broken. D is expressive enough that there is no point in changing the language to support it. What part of MAS would require language support to be done nicely?


So, what do i propose. To get it explicit in language and working out of
the box, like in Erlang. the only benefit over Erlang i currently see
that D is much more friendly for newcomers from C-like camp. The another
is possibility for embedded programming. I was surprised that there are
attempts to use MAS at embedded programming e.g. robotics where
different controlers are autonomous and communicate with each others.


comparing to other modern languages

IMO that is not a very important question. It is not a contest.

I thin that this is exactly context. I try to explain. D has reputation
of marginal language

D pushes the margin. :o)

with no concrete niche.

It does not need a 'niche' and that is a good thing. D is general purpose. You can throw it at any task and expect good results. That is why MAS does not need explicit language support.





Reply via email to