January 12, 2004
"Georg Wrede" <Georg_member@pathlink.com> wrote in message news:bttfqv$2vic$1@digitaldaemon.com...
> I think that discussing the power of a language (or, especially
> the relative power of languages), has the same inherent problems
> as discussing Quality. The economist academia have for years tried
> to come up with an unambiguous, quantifiable, definition for quality,
> unsuccessfully.

Yes.

> Since the comparison between any two languages ultimately reduces to comparing apples to oranges, we should at least temporarily define what power means.

In an academic sense, yes. But that's not really what I was after. I wanted to know what other peoples' perception of power was, and what they were using as criteria to support the conclusion that C++ was more powerful than D. In other words, I want to understand what I missed either in D or if I just failed in explaining what D can to.

> While doing that, we should also remember that "in reality" power is a street concept that is measured mostly unconsciously.

Yes.

> I assume
> this includes, in addition to factual language differences, things
> like usability and applicability for the end user, which includes
> the easily accessible libraries, number and quality of tools,
> whether you can ask the guy in the next cubicle for help, etc., etc.

All new languages have a major uphill battle with that. And I believe 2004 is the year in which we'll get solidly into the game on that.


January 12, 2004
>D has many very powerful features that C++ does not have, such as nested functions and inline assembly. C++ has features that D does not have, such as a preprocessor and virtual base classes. While no definitive answer is possible since eventually one starts comparing apples to oranges, what in your view makes C++ more powerful than D?

C++ supports C headers natively :-) D doesn't, and this is especially annoying
while writing programs using the Windows API. Indeed, there is a hint of some
Win32-API headers in the phobos library, but they are not nearly enough to make
a useful program. Also, a lot of functions that are supported by D have an A
attached to them. Of course, this has to do with the unicode definitions of C++,
but it is not very handy to have to look up the D definitions every time you
want to use a function. Or, for that matter, to have to export a lot of
functions myself to support even the most basic things as posting messages, and
adressing dialog items.
So if you define powerful as being able to easily make user-friendly Win32 apps,
then C++ is way more powerful.
As for my wishlist, you can guess: I would like the full Win32-API headers when
you download D, and aliased without the A's. This would also cause people not to
choose immediately for C++ programming an application because D can't, or only
after a lot of typing.


January 12, 2004
id just like to say that headers are a pain in the arse, and the fact that D doesnt use them is the primary reason i started to learn D. Declaring a function declaration as well as a definition is such a waste of time. And dont get me started on extern variables...

In article <bttpa0$fp7$1@digitaldaemon.com>, Mark Arts says...
>
>>D has many very powerful features that C++ does not have, such as nested functions and inline assembly. C++ has features that D does not have, such as a preprocessor and virtual base classes. While no definitive answer is possible since eventually one starts comparing apples to oranges, what in your view makes C++ more powerful than D?
>
>C++ supports C headers natively :-) D doesn't, and this is especially annoying
>while writing programs using the Windows API. Indeed, there is a hint of some
>Win32-API headers in the phobos library, but they are not nearly enough to make
>a useful program. Also, a lot of functions that are supported by D have an A
>attached to them. Of course, this has to do with the unicode definitions of C++,
>but it is not very handy to have to look up the D definitions every time you
>want to use a function. Or, for that matter, to have to export a lot of
>functions myself to support even the most basic things as posting messages, and
>adressing dialog items.
>So if you define powerful as being able to easily make user-friendly Win32 apps,
>then C++ is way more powerful.
>As for my wishlist, you can guess: I would like the full Win32-API headers when
>you download D, and aliased without the A's. This would also cause people not to
>choose immediately for C++ programming an application because D can't, or only
>after a lot of typing.
>
>


January 12, 2004
id just like to say that headers are a pain in the arse, and the fact that D doesnt use them is the primary reason i started to learn D. Declaring a function declaration as well as a definition is such a waste of time. And dont get me started on extern variables...

In article <bttpa0$fp7$1@digitaldaemon.com>, Mark Arts says...
>
>>D has many very powerful features that C++ does not have, such as nested functions and inline assembly. C++ has features that D does not have, such as a preprocessor and virtual base classes. While no definitive answer is possible since eventually one starts comparing apples to oranges, what in your view makes C++ more powerful than D?
>
>C++ supports C headers natively :-) D doesn't, and this is especially annoying
>while writing programs using the Windows API. Indeed, there is a hint of some
>Win32-API headers in the phobos library, but they are not nearly enough to make
>a useful program. Also, a lot of functions that are supported by D have an A
>attached to them. Of course, this has to do with the unicode definitions of C++,
>but it is not very handy to have to look up the D definitions every time you
>want to use a function. Or, for that matter, to have to export a lot of
>functions myself to support even the most basic things as posting messages, and
>adressing dialog items.
>So if you define powerful as being able to easily make user-friendly Win32 apps,
>then C++ is way more powerful.
>As for my wishlist, you can guess: I would like the full Win32-API headers when
>you download D, and aliased without the A's. This would also cause people not to
>choose immediately for C++ programming an application because D can't, or only
>after a lot of typing.
>
>


January 12, 2004
This ha nothing to do with the language itself, but with documentation and library support.

Lars Ivar Igesund

"Mark Arts" <Mark_member@pathlink.com> wrote in message news:bttpa0$fp7$1@digitaldaemon.com...
> >D has many very powerful features that C++ does not have, such as nested functions and inline assembly. C++ has features that D does not have,
such
> >as a preprocessor and virtual base classes. While no definitive answer is possible since eventually one starts comparing apples to oranges, what in your view makes C++ more powerful than D?
>
> C++ supports C headers natively :-) D doesn't, and this is especially
annoying
> while writing programs using the Windows API. Indeed, there is a hint of
some
> Win32-API headers in the phobos library, but they are not nearly enough to
make
> a useful program. Also, a lot of functions that are supported by D have an
A
> attached to them. Of course, this has to do with the unicode definitions
of C++,
> but it is not very handy to have to look up the D definitions every time
you
> want to use a function. Or, for that matter, to have to export a lot of functions myself to support even the most basic things as posting
messages, and
> adressing dialog items.
> So if you define powerful as being able to easily make user-friendly Win32
apps,
> then C++ is way more powerful.
> As for my wishlist, you can guess: I would like the full Win32-API headers
when
> you download D, and aliased without the A's. This would also cause people
not to
> choose immediately for C++ programming an application because D can't, or
only
> after a lot of typing.
>
>


January 12, 2004
"Mark Arts" <Mark_member@pathlink.com> wrote in message news:bttpa0$fp7$1@digitaldaemon.com...
> C++ supports C headers natively :-) D doesn't,

Supporting C headers natively essentially means adding a C compiler into D. That's kinda beyond the scope :-(

> and this is especially annoying
> while writing programs using the Windows API. Indeed, there is a hint of
some
> Win32-API headers in the phobos library, but they are not nearly enough to
make
> a useful program.

I understand the win32 api headers are inadequate, and hope to address that soon.


January 12, 2004
>This has nothing to do with the language itself, but with documentation and library support.

Indeed it does. But I read here on the forum that people want this language to be popular. Don't get me wrong, I totally agree with that. But to become widely used, doesn't it have to have a large library support? Either written in D, of which there are almost none, or by using e.g. C(++) libraries easily. And I don't think having to export every function in a library is easy. Do you?


January 12, 2004
"Mark Arts" <Mark_member@pathlink.com> wrote in message news:btu1em$ti5$1@digitaldaemon.com...
> >This has nothing to do with the language itself, but with documentation
and
> >library support.
>
> Indeed it does. But I read here on the forum that people want this
language to
> be popular. Don't get me wrong, I totally agree with that. But to become
widely
> used, doesn't it have to have a large library support? Either written in
D, of
> which there are almost none, or by using e.g. C(++) libraries easily. And
I
> don't think having to export every function in a library is easy. Do you?
>
>

Of course not :)
I just highly doubt that the documentation and library support for C/C++
were
anywhere near as good as D's when they were new. (Not that I'm old enough
to remember...)

Lars Ivar Igesund


January 12, 2004
>> Indeed it does. But I read here on the forum that people want this
>language to
>> be popular. Don't get me wrong, I totally agree with that. But to become
>widely
>> used, doesn't it have to have a large library support? Either written in
>D, of
>> which there are almost none, or by using e.g. C(++) libraries easily. And
>I
>> don't think having to export every function in a library is easy. Do you?
>
>Of course not :)
>I just highly doubt that the documentation and library support for C/C++
>were
>anywhere near as good as D's when they were new. (Not that I'm old enough
>to remember...)
>
But those libraries *are* good now. When C was just conceived, it had a specific goal: UNIX programming. So everyone who wanted to make a program for UNIX used C, even if it wasn't perfect, and it automatically got a large support. D doesn't have such a goal, and has to compete with lots of other languages. So if it is to become one of the major languages used, you have to start out with having this support, otherwise it won't become anything more than some language you use for fun.


January 12, 2004
> > Also, C++ interfaces with C++ quite well. :)
>
> That's cheating <g>.

Actually, gcj, the GNU java compiler, has a cool ability to interface directly with C++ (at least C++ compiled with g++) through their own CNI mechanism - a Java class is compiled down to the same ABI as a C++ class. You can write typical C++ or Java and it looks pretty much the same. With D I don't know how well this would work but I think it would "help the cause" tremendously. That was one feature I wanted to shoot for while I'm playing around with gnu D.

-Ben