Thread overview | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
January 14, 2007 Comparison chart worries | ||||
---|---|---|---|---|
| ||||
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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | >> (...) 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jeff | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Dennett | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Dennett | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | 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 Re: Comparison chart worries | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lutger | 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.
|
Copyright © 1999-2021 by the D Language Foundation