June 03, 2003
Alisdair Meredith wrote:

Agree with most of what you said...

> Under reliablility I am very surprised that only 'D' rates as unit testable.  I would at least like a link to some material explaining why only 'D' qualifies here.  A good opportunity for a sales pitch if ever I saw one, this is the detail that caught my attention most!!  [Although I don't use Java, I was surprised that its extensive reflection API and unit-testing community did not qualify]

Perhaps a poor choice of words, but unit testing is a native concept in D AFAICT and not in those other languages.

> Oh, and as a cheeky new feature you might want to add 'reference implementation available' given that I am not yet aware of a conforming C++ implementation [although EDG-based solutions are getting very close now]

EDG claims 100% conformity.  (And, in a mere 350K lines of C.) The Comeau compiler is the only one to use 'export' iirc though.

> Interesting chart though.  If you can find the people to contribute I would be interested in seeing how Eiffel, Python, Smalltalk and Haskell score as well.

Wouldn't that be stretching it a bit?  The audience for D is primarily for the C-derivative languages and I think thats what Walter was shooting for.

June 03, 2003
Walter wrote:

...
> 
> The namespace feature of C++ coupled with separate compilation duplicates enough of the features of modules I decided to give it the nod.

I'd be in the "C++ doesn't have a module system" camp.  One thing that might be interesting to point out is that there's a proposal that aims to add a module system to C++ (can't find the URL atm, but its from ...Pete(r?) Becker). Within the C++ community it's also thought that C++ doesn't have a module system - though the std goes to some effort not to exclude it as a future possibility AFAICT.

> My problem is I don't know those languages well enough to write a fair comparison. Also, the chart is designed to compare D with the languages it replaces as well as the pretenders to the throne as replacements <g>.

Care to elaborate on the pretenders? :)
June 03, 2003
"Garen Parham" <nospam@garen.net> wrote in message bbibft$118r$1@digitaldaemon.com

[...]

> Wouldn't that be stretching it a bit?  The audience for D is primarily for the C-derivative languages and I think thats what Walter was shooting for.

Then why is one of the boxes in the language comparison labelled "Algol-style syntax" and not "C-style syntax?"

-- 

 A: Top-posters.
 Q: What is the most annoying thing on Usenet?


June 03, 2003
"Garen Parham" <nospam@garen.net> wrote in message news:bbij5j$190e$1@digitaldaemon.com...
> Walter wrote:
> > The namespace feature of C++ coupled with separate compilation
duplicates
> > enough of the features of modules I decided to give it the nod.
> I'd be in the "C++ doesn't have a module system" camp.  One thing that
might
> be interesting to point out is that there's a proposal that aims to add a
> module system to C++ (can't find the URL atm, but its from ...Pete(r?)
Becker).
> Within the C++ community it's also thought that C++ doesn't have a module system -

Well, I have to have something controversial in there <g>. I freely concede that the chart reflects my professional opinion.

> though the std goes to some effort not to exclude it as a future possibility AFAICT.

The C++ standards group missed a golden opportunity to add modules by instead of introducing:

    #include <cstdio>

they should have introduced:

    import stdio;

and explicitly stated it was a symbolic include rather than a textual one. But at this point, I don't see that there's much profit in layering still more stuff on top of C++. Time to reengineer the language - D!

> > My problem is I don't know those languages well enough to write a fair comparison. Also, the chart is designed to compare D with the languages
it
> > replaces as well as the pretenders to the throne as replacements <g>.
> Care to elaborate on the pretenders? :)

Java, C# of course :-)


June 04, 2003
DRS wrote:


> 
> Then why is one of the boxes in the language comparison labelled "Algol-style syntax" and not "C-style syntax?"

Don't know, Walter?  In any case I'm pretty sure Walter has said he wanted D to appeal to your typical C-derivitveish language programmers.

June 04, 2003
Garen Parham wrote:

> Wouldn't that be stretching it a bit?  The audience for D is primarily for the C-derivative languages and I think thats what Walter was shooting for.

Well, my languages were chosen for a reason <g>

Eiffel is the poster-child for Design-By-Contract, one of the big draws of D.  So it would be interesting to see a comparison here (with a language I know nothing about other than it has DbC and 'repeated' inheritance)

Python because I am looking to broaden out from my largely C++ base, and it is definitely a language I would consider ahead of Java when looking for a simple to use, garbage collected, OO language.

Delphi because its evolution from Pascal to OO Pascal is quite similar to C -> C++/Java, and Pascal and C are close enough in constructs to be dialects within a broader family of languages.  Comparisons between Delphi and C++/Java are quite straightforward, so it is not unreasonable on a D list.

Smalltalk is the early playgroud of OO, so it is interesting to see what routes its successors have taken.

Haskell was just mischief making <g>

I agree that Python/Delphi/Smalltalk (and probably Eiffel, don't know syntax) are not in the 'C' langauge family that the table covers at the moment, but they are also close enough to make comparison interesting, and maybe shed new light on the way you think about using D.  Simply putting a name on a feature can open up new avenues of thought.  Look at the explosion in template metaprogramming in C++, or policy based design, once the terms entered common usage.  Sure people were doing these things before, but once we had language to describe the ideas, EVERYONE is doing it <g>

-- 
AlisdairM
Team Thai Kingdom
June 05, 2003
Alisdair Meredith wrote:


> Well, my languages were chosen for a reason <g>
> 
> Eiffel is the poster-child for Design-By-Contract, one of the big draws of D.  So it would be interesting to see a comparison here (with a language I know nothing about other than it has DbC and 'repeated' inheritance)

That could be okay then, since you'd be comparing 'comparable' features.

> Python because I am looking to broaden out from my largely C++ base, and it is definitely a language I would consider ahead of Java when looking for a simple to use, garbage collected, OO language.

Yeah me too, but it's got a lower ceiling w.r.t. potential uses due to performance reasons.

> Delphi because its evolution from Pascal to OO Pascal is quite similar to C -> C++/Java, and Pascal and C are close enough in constructs to be dialects within a broader family of languages.  Comparisons between Delphi and C++/Java are quite straightforward, so it is not unreasonable on a D list.

Those aren't too far out there. I didn't see you mention those ones though.

> Smalltalk is the early playgroud of OO, so it is interesting to see what routes its successors have taken.
>
> Haskell was just mischief making <g>


> I agree that Python/Delphi/Smalltalk (and probably Eiffel, don't know syntax) are not in the 'C' langauge family that the table covers at the moment, but they are also close enough to make comparison interesting, and maybe shed new light on the way you think about using D.  Simply putting a name on a feature can open up new avenues of thought.  Look at the explosion in template metaprogramming in C++, or policy based design, once the terms entered common usage.  Sure people were doing these things before, but once we had language to describe the ideas, EVERYONE is doing it <g>
> 

If such accidents occur with D we could actually change the language to support the style too. :)

June 05, 2003
>> I agree that Python/Delphi/Smalltalk (and probably Eiffel, don't know syntax) are not in the 'C' langauge family that the table covers at the moment, but they are also close enough to make comparison interesting, and maybe shed new light on the way you think about using D.

Maybe such a table should be on an unofficial site? I agree that making such a comparison could give new insight into where D stands, but if it were on Digital Mars' site then it would have to be correct from the start, and this would be a totally unnecessary burden on Walter.


June 05, 2003

Georg Wrede wrote:
> 
> >> I agree that Python/Delphi/Smalltalk (and probably Eiffel, don't know syntax) are not in the 'C' langauge family that the table covers at the moment, but they are also close enough to make comparison interesting, and maybe shed new light on the way you think about using D.
> 
> Maybe such a table should be on an unofficial site? I agree that making such a comparison could give new insight into where D stands, but if it were on Digital Mars' site then it would have to be correct from the start, and this would be a totally unnecessary burden on Walter.

You can use
   <http://www.prowiki.org/wiki4d/wiki.cgi?LanguagesVersusD>
Click on edit and you will see how the wiki works.

The formatseparator @ separates parameters from field content.
  @3          means that 3 cells are connected horizontally
  @...#color  colors a single cell, you may use simple names (#red)
              or typical HTML rrggbb values (#f37921)

-- 
Helmut Leitner    leitner@hls.via.at
Graz, Austria   www.hls-software.com
June 05, 2003
In article <3EDF7052.90DD838D@hls.via.at>, Helmut Leitner says...
>Georg Wrede wrote:
>> Maybe such a table should be on an unofficial site?
>You can use
>   <http://www.prowiki.org/wiki4d/wiki.cgi?LanguagesVersusD>
>Click on edit and you will see how the wiki works.

For those interested and knowledgeable, I already filled in the data from the Official comparison (hope I'n not getting sued for copyright), and put in a few other language columns.

I assume at least the Delphi column will get filled soon?