Jump to page: 1 24  
Page
Thread overview
Comparison chart worries
Jan 14, 2007
Georg Wrede
Jan 14, 2007
Jeff
Jan 14, 2007
James Dennett
Jan 14, 2007
janderson
Jan 14, 2007
Don Clugston
Jan 14, 2007
janderson
Jan 14, 2007
John Reimer
Jan 14, 2007
Lutger
Jan 14, 2007
Johan Granberg
Jan 14, 2007
Dejan Lekic
Jan 14, 2007
Lutger
Jan 14, 2007
torhu
Jan 14, 2007
Lutger
Jan 14, 2007
John Reimer
Jan 14, 2007
James Dennett
Jan 14, 2007
Justin C Calvarese
Jan 14, 2007
Charlie
Jan 14, 2007
Walter Bright
Jan 14, 2007
John Reimer
Jan 14, 2007
Larry Evans
Jan 15, 2007
just jeff
Jan 15, 2007
John Reimer
Jan 15, 2007
Luís Marques
Jan 15, 2007
Luís Marques
Jan 15, 2007
Bill Baxter
Jan 16, 2007
kenny
Jan 16, 2007
Walter Bright
Jan 17, 2007
Kevin Bealer
Jan 17, 2007
James Dennett
Jan 17, 2007
Kevin Bealer
Jan 17, 2007
Walter Bright
Jan 18, 2007
Don Clugston
Jan 19, 2007
kenny
Apr 23, 2009
Vincenzo Romano
Apr 24, 2009
Lutger
January 14, 2007
Quoting from http://www.gamedev.net/community/forums/topic.asp?topic_id=431909

> I'm sorry, but some of your "comparisons" to C# are just WRONG. Period, flat out, wrong. No dynamic arrays? Try System.Collections.Generic.List<T>. No associative arrays? Try System.Collections.Generic.Dictionary<T>. No aliases? Try using <class> = Alias;. There are many more on that page, so much so, I am half tempted to write a page debunking over half your comparisons.
> 
> Your comparison sheet is EXTREMELY misleading, as you completely ignore the .NET framework, which extends C# far beyond anything D can currently do. Ignoring the presence of many of these facilities in the .NET framework is a really shady tactic to make D seem like it has several important features that C# supposedly lacks. Several other features you claim are "important" are really not (like multiple inheritance, which is dangerous to begin with).
> 
> D is a neat language, but you need to be more honest in your comparisons.

Not directly commenting on this quote (since I'm not that familiar with C#), I think we should check if the comparison really is up to date.

Other languages may have got new versions out, and some of the table entries are, ehh, not that obvious to the casual reader.

While some of the more surprising answers (the yes/no stuff) are explained in footnotes or on other pages, we must understand that all this slashdotting etc. brings readers who don't bother reading "the fine print". They may then dismiss the table (and thus D itself) as biased, hyped, and regular marketing lies altogether.

I don't think we can afford it.

January 14, 2007
>> (...) Several other features you claim are "important" are really not (like multiple inheritance, which is dangerous to begin with).

Huh? Don't the D docs -support- this stance?

Other than that, I have to agree that the comparison chart seems to me to be a bit zealous, and could do more harm than good in its current state.

Maybe instead of just having big shiny green "Yes" and "No" labels (supported occasionally by footnotes) the table could be modified to note in-line

- which features are provided by the language;
- which are provided by the standard library; and
- which are absent from both (regardless of whether they're implemented in other popular libraries because, well, with enough hacks you can implement almost anything in some external library, and that doesn't necessarily make it useful or usable! :P).

Perhaps a green "Yes (core)", an amber "Yes (std library)" and a red "No"?

Might I suggest #FF77FF, #FFBB77 and #FF7777 to give our eyes a rest? ;)
January 14, 2007
Georg Wrede wrote:
> Quoting from http://www.gamedev.net/community/forums/topic.asp?topic_id=431909
> 
>> I'm sorry, but some of your "comparisons" to C# are just WRONG. Period, flat out, wrong. No dynamic arrays? Try System.Collections.Generic.List<T>. No associative arrays? Try System.Collections.Generic.Dictionary<T>. No aliases? Try using <class> = Alias;. There are many more on that page, so much so, I am half tempted to write a page debunking over half your comparisons.
>>
>> Your comparison sheet is EXTREMELY misleading, as you completely ignore the .NET framework, which extends C# far beyond anything D can currently do. Ignoring the presence of many of these facilities in the .NET framework is a really shady tactic to make D seem like it has several important features that C# supposedly lacks. Several other features you claim are "important" are really not (like multiple inheritance, which is dangerous to begin with).
>>
>> D is a neat language, but you need to be more honest in your comparisons.
> 
> Not directly commenting on this quote (since I'm not that familiar with C#), I think we should check if the comparison really is up to date.
> 
> Other languages may have got new versions out, and some of the table entries are, ehh, not that obvious to the casual reader.
> 
> While some of the more surprising answers (the yes/no stuff) are explained in footnotes or on other pages, we must understand that all this slashdotting etc. brings readers who don't bother reading "the fine print". They may then dismiss the table (and thus D itself) as biased, hyped, and regular marketing lies altogether.
> 
> I don't think we can afford it.
> 


I agree.  Maybe it could be a bit more like this one: http://www.prowiki.org/wiki4d/wiki.cgi?LanguagesVersusD

Also would be good it have examples of the different syntax for each case.

-Joel
January 14, 2007
Jeff wrote:
>>> (...) Several other features you claim are "important" are really not
>>> (like multiple inheritance, which is dangerous to begin with).
> 
> Huh? Don't the D docs -support- this stance?
> 
> Other than that, I have to agree that the comparison chart seems to me
> to be a bit zealous, and could do more harm than good in its current state.

Quite possibly (of which more below).

> Maybe instead of just having big shiny green "Yes" and "No" labels (supported occasionally by footnotes) the table could be modified to note in-line
> 
> - which features are provided by the language;
> - which are provided by the standard library; and
> - which are absent from both (regardless of whether they're implemented
> in other popular libraries because, well, with enough hacks you can
> implement almost anything in some external library, and that doesn't
> necessarily make it useful or usable! :P).
> 
> Perhaps a green "Yes (core)", an amber "Yes (std library)" and a red "No"?

Or an amber "Yes (core)" and a green "Yes (std library)"
to indicate where the core language facilities didn't
allow a particular feature to be moved to the library?

OK, that's a joke of sorts -- but color-coding for a
particular agenda is the kind of unnecessary bias that
puts people off.  Some languages designers view putting
something in the core language as a weakness (while
obviously knowing that there has to be enough built in
to allow a viable language+library combination).

Walter's position apparently doesn't match that -- but
assuming that something is better because it's in the
core isn't valid in itself; it might be true that being
in the core means that it can avoid weaknesses of some
library approaches though.

I'd certainly say that the D comparison chart was very
offputting to me, and still is.  Much of what is written
there about other languages is arguably misleading, and
I speak particularly of the notes on C++.  It seems to
be a sales pitch rather than an objective comparison --
and fair enough, it may well be a sales pitch, why should
we expect objectivity from Digital Mars in this context?

I'd be inclined to take D more seriously if we could
reduce by an order of magnitude the level of misguided
attacks against other languages and focus more on some
more thorough treatment of the trade-offs involved in
language and library design.  Many of those attacks
show a lack of knowledge of the other languages to
which they refer.  Focus on making D better (which
usually doesn't mean having a bigger core), not on
knocking other languages to make D *seem* better.

-- James
January 14, 2007
James Dennett wrote:
> Jeff wrote:
>>>> (...) Several other features you claim are "important" are really not
>>>> (like multiple inheritance, which is dangerous to begin with).
>> Huh? Don't the D docs -support- this stance?
>>
>> Other than that, I have to agree that the comparison chart seems to me
>> to be a bit zealous, and could do more harm than good in its current state.
> 
> Quite possibly (of which more below).
> 
>> Maybe instead of just having big shiny green "Yes" and "No" labels
>> (supported occasionally by footnotes) the table could be modified to
>> note in-line
>>
>> - which features are provided by the language;
>> - which are provided by the standard library; and
>> - which are absent from both (regardless of whether they're implemented
>> in other popular libraries because, well, with enough hacks you can
>> implement almost anything in some external library, and that doesn't
>> necessarily make it useful or usable! :P).
>>
>> Perhaps a green "Yes (core)", an amber "Yes (std library)" and a red "No"?
> 
> Or an amber "Yes (core)" and a green "Yes (std library)"
> to indicate where the core language facilities didn't
> allow a particular feature to be moved to the library?
> 
> OK, that's a joke of sorts -- but color-coding for a
> particular agenda is the kind of unnecessary bias that
> puts people off.  Some languages designers view putting
> something in the core language as a weakness (while
> obviously knowing that there has to be enough built in
> to allow a viable language+library combination).
> 
> Walter's position apparently doesn't match that -- but
> assuming that something is better because it's in the
> core isn't valid in itself; it might be true that being
> in the core means that it can avoid weaknesses of some
> library approaches though.
> 
> I'd certainly say that the D comparison chart was very
> offputting to me, and still is.  Much of what is written
> there about other languages is arguably misleading, and
> I speak particularly of the notes on C++.  It seems to
> be a sales pitch rather than an objective comparison --
> and fair enough, it may well be a sales pitch, why should
> we expect objectivity from Digital Mars in this context?
> 
> I'd be inclined to take D more seriously if we could
> reduce by an order of magnitude the level of misguided
> attacks against other languages and focus more on some
> more thorough treatment of the trade-offs involved in
> language and library design.  Many of those attacks
> show a lack of knowledge of the other languages to
> which they refer.  Focus on making D better (which
> usually doesn't mean having a bigger core), not on
> knocking other languages to make D *seem* better.
> 
> -- James

This is very true.  I've often thought that the comparison chart does more damage then good.  Parhaps it should be removed, we find a third party website that does the same thing, or try to compare languages from a more practical standpoint rather then a feature standpoint.  ie Here how you would do this in C++ and here's how you'd do it in D.

-Joel
January 14, 2007
James Dennett wrote:
> Jeff wrote:
>>>> (...) Several other features you claim are "important" are really not
>>>> (like multiple inheritance, which is dangerous to begin with).
>> Huh? Don't the D docs -support- this stance?
>>
>> Other than that, I have to agree that the comparison chart seems to me
>> to be a bit zealous, and could do more harm than good in its current state.
> 
> Quite possibly (of which more below).
> 
>> Maybe instead of just having big shiny green "Yes" and "No" labels
>> (supported occasionally by footnotes) the table could be modified to
>> note in-line
>>
>> - which features are provided by the language;
>> - which are provided by the standard library; and
>> - which are absent from both (regardless of whether they're implemented
>> in other popular libraries because, well, with enough hacks you can
>> implement almost anything in some external library, and that doesn't
>> necessarily make it useful or usable! :P).
>>
>> Perhaps a green "Yes (core)", an amber "Yes (std library)" and a red "No"?
> 
> Or an amber "Yes (core)" and a green "Yes (std library)"
> to indicate where the core language facilities didn't
> allow a particular feature to be moved to the library?
> 
> OK, that's a joke of sorts -- but color-coding for a
> particular agenda is the kind of unnecessary bias that
> puts people off.  Some languages designers view putting
> something in the core language as a weakness (while
> obviously knowing that there has to be enough built in
> to allow a viable language+library combination).
> 
> Walter's position apparently doesn't match that -- but
> assuming that something is better because it's in the
> core isn't valid in itself; it might be true that being
> in the core means that it can avoid weaknesses of some
> library approaches though.
> 
> I'd certainly say that the D comparison chart was very
> offputting to me, and still is.  Much of what is written
> there about other languages is arguably misleading, and
> I speak particularly of the notes on C++.

I agree. Also I was surprised that C# was listed as having support for RAII.

In my view, the chart is useful only for answering the question "I can do XXX in my favourite language, can I also do it in D?"
And it would therefore, I think, be better to improve the "D for C++ programmers", etc pages and remove the comparison chart to a 3rd party site.

  It seems to
> be a sales pitch rather than an objective comparison --
> and fair enough, it may well be a sales pitch, why should
> we expect objectivity from Digital Mars in this context?

And I think the language itself is strong enough now to not need this sort of sales pitch.

> 
> I'd be inclined to take D more seriously if we could
> reduce by an order of magnitude the level of misguided
> attacks against other languages and focus more on some
> more thorough treatment of the trade-offs involved in
> language and library design.  Many of those attacks
> show a lack of knowledge of the other languages to
> which they refer.  Focus on making D better (which
> usually doesn't mean having a bigger core), not on
> knocking other languages to make D *seem* better.
> 
> -- James
January 14, 2007
On Sun, 14 Jan 2007 03:58:33 +0200, Georg Wrede wrote:

> Quoting from http://www.gamedev.net/community/forums/topic.asp?topic_id=431909
> 
>> I'm sorry, but some of your "comparisons" to C# are just WRONG. Period, flat out, wrong. No dynamic arrays? Try System.Collections.Generic.List<T>. No associative arrays? Try System.Collections.Generic.Dictionary<T>. No aliases? Try using <class> = Alias;. There are many more on that page, so much so, I am half tempted to write a page debunking over half your comparisons.
>> 
>> Your comparison sheet is EXTREMELY misleading, as you completely ignore the .NET framework, which extends C# far beyond anything D can currently do. Ignoring the presence of many of these facilities in the .NET framework is a really shady tactic to make D seem like it has several important features that C# supposedly lacks. Several other features you claim are "important" are really not (like multiple inheritance, which is dangerous to begin with).
>> 
>> D is a neat language, but you need to be more honest in your comparisons.
> 
> Not directly commenting on this quote (since I'm not that familiar with C#), I think we should check if the comparison really is up to date.
> 
> Other languages may have got new versions out, and some of the table entries are, ehh, not that obvious to the casual reader.
> 
> While some of the more surprising answers (the yes/no stuff) are explained in footnotes or on other pages, we must understand that all this slashdotting etc. brings readers who don't bother reading "the fine print". They may then dismiss the table (and thus D itself) as biased, hyped, and regular marketing lies altogether.
> 
> I don't think we can afford it.


The table seems to be more annoying to outsiders than informative.  People seem to have there own interpretation for each item in the list and feel swindled when the language comparison suggests features (or lack of such) so starkly. Probably the best thing to do is merely state what D offers with more detailed links to examples; this allows the newcomers decide for themselves.

That list awakes far too much fury in the programming community: they appear to see this as a list of half-truths... something usually seen in politics and marketing strategies.... not a good thing for D (or anywhere for that matter).

-JJR
January 14, 2007
It is a good idea to remove the table. So far I have not seen any discussion about D where this was not the subject of criticism at the least, and it even incites flames. Very distracting.

The table gives the impression of a checklist where D is superior to the languages it is compared with. This could only be done by leaving out the standard libraries of the 'inferior' languages, which is highly misleading because these are an integral part of programming in those languages.

And then people even seem to miss that only core language features are compared.

Another problem is that the chart suggests that more features is better perse. Although Walter Bright is not afraid of making D a rich language, I'm quite sure this is not his stance.

The comparison chart serves two purposes: to give a quick overview to the D language and to market D against other C family languages. I suggest to keep the first purpose and let the marketing be done by what is already there in the other comparison pages: programmers are not easily wowed by checklists.

For example: keep the table for everything that D has 'yes' (almost everything), and leave the other languages out altogether. Then you have room to insert a one line summary of the feature, something like that.






January 14, 2007
Well, AFAIK dynamic arrays are built-in feature in the D programming language. System.Collections.Generic.List<T> is a (user-defined) template. I think Mr. Bright thought about language features when he made "D-vs-others" comparison table.
January 14, 2007
Lutger wrote:
> For example: keep the table for everything that D has 'yes' (almost everything), and leave the other languages out altogether. Then you have room to insert a one line summary of the feature, something like that.

I agree this is a good idea.
« First   ‹ Prev
1 2 3 4