Jump to page: 1 2 3
Thread overview
Why D isn't Java? article available
Mar 04, 2003
Daniel Yokomiso
Mar 04, 2003
Walter
Mar 05, 2003
Mark Evans
Mar 05, 2003
Walter
Mar 05, 2003
Bill Cox
Mar 06, 2003
Jeroen van Bemmel
Mar 06, 2003
Daniel Yokomiso
Mar 07, 2003
Mike Wynn
Mar 07, 2003
Jeroen van Bemmel
Mar 07, 2003
Walter
Mar 07, 2003
Mike Wynn
Mar 08, 2003
Daniel Yokomiso
Mar 07, 2003
Jeroen van Bemmel
Mar 06, 2003
Jeroen van Bemmel
Mar 06, 2003
Farmer
Mar 07, 2003
Daniel Yokomiso
Mar 08, 2003
Farmer
Mar 08, 2003
Daniel Yokomiso
Mar 09, 2003
Mike Wynn
Mar 07, 2003
Mike Wynn
Mar 08, 2003
Farmer
Mar 08, 2003
Daniel Yokomiso
Mar 09, 2003
Mike Wynn
March 04, 2003
Hi,

    I've finished the first draft of this short article, comparing Java to
D. It's intended to make the differences between D and Java clear.

http://www.minddrome.com/produtos/d/why_d_isnt_java.html

    Best regards,
    Daniel Yokomiso.

"Quidquid latine dictum sit, altum sonatur."


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.459 / Virus Database: 258 - Release Date: 25/2/2003


March 04, 2003
I couldn't ask for a nicer article. I'll make a link to it. Thanks!

"Daniel Yokomiso" <daniel_yokomiso@yahoo.com.br> wrote in message news:b40vls$2fqv$1@digitaldaemon.com...
> Hi,
>
>     I've finished the first draft of this short article, comparing Java to
> D. It's intended to make the differences between D and Java clear.
>
> http://www.minddrome.com/produtos/d/why_d_isnt_java.html
>
>     Best regards,
>     Daniel Yokomiso.
>
> "Quidquid latine dictum sit, altum sonatur."
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.459 / Virus Database: 258 - Release Date: 25/2/2003
>
>


March 05, 2003
How about quoting this interview of STLport author A. Stepanov.  (It's hilarious.)  http://www.stlport.org/resources/StepanovUSA.html

Question:
Java is a very new language, still it lacks templates, so it prevents
using Generic Programming. Everything must be a class. What do you
think of Java?

Answer:
I spent several months programming in Java. Contrary to its authors
prediction, it did not grow on me. I did not find any new insights -
for the first time in my life programming in a new language did not
bring me new insights. It keeps all the stuff that I never use in C++
- inheritance, virtuals - OO gook - and removes the stuff that I find
useful. It might be successful - after all, MS DOS was - and it might
be a profitable thing for all your readers to learn Java, but it has
no intellectual value whatsoever. Look at their implementation of hash
tables. Look at the sorting routines that come with their "cool"
sorting applet. Try to use AWT. The best way to judge a language is to
look at the code written by its proponents. "Radix enim omnium malorum
est cupiditas" - and Java is clearly an example of a money oriented
programming (MOP). As the chief proponent of Java at SGI told me:
"Alex, you have to go where the money is." But I do not particularly
want to go where the money is - it usually does not smell nice there.


March 05, 2003
"Mark Evans" <Mark_member@pathlink.com> wrote in message news:b441ca$17eh$1@digitaldaemon.com...
> How about quoting this interview of STLport author A. Stepanov.  (It's hilarious.)  http://www.stlport.org/resources/StepanovUSA.html

It is a great read. Thanks for posting the link. I wonder what Stepanov would think of D.


March 05, 2003
In article <b441ca$17eh$1@digitaldaemon.com>, Mark Evans says...
>
>How about quoting this interview of STLport author A. Stepanov.  (It's hilarious.)  http://www.stlport.org/resources/StepanovUSA.html

A good read.

In defense of Java, it pushed several concepts into the mainstream:

- Garbage collection
- Interfaces, and elimination of multiple inheritance
- Elimination of pointers
- Elimination of templates
- Elimination of virtual modifier
- Elimination of features that can hurt portability

By adding garbage collection, and eliminating concepts that most programmers are uncomfortable with, Java made great strides in improving productivity.  Most Java code I've read is far better than most C++ code that I've read.  Just start downloading random source code from the web to see what I mean.

An old boss I had said I should get 1 point for every line of code I write, and 2 points for every line I eliminate.  I feel that way about languages, and C++ is a great place to look for features to get rid of.

I have to agree that AWT stinks... JFC fixes it, though.

Here's another quote from the article:

------------
Question:
STL pushes C++ compilers to their limits. Contemporary C++ compilers are still
unable to correctly compile some STL code. How could you develop and test STL?

Answer:
I do have a lot of gray hair as a result of trying to compile STL. The
unfortunate reality is that a lot of code in the present implementation of STL
is suboptimal because of the compiler limitations and bugs of the compilers I
had to use when I was developing STL. Fortunately, I had help from Bjarne in
figuring out what certain unimplemented features are supposed to do. It does
help a lot if you can ask the language designer what a given construct really
does.
------------


Generic programming is huge.  If used for nothing else, the STL add great functionallity to C++.  Templates, on the other hand, are a feature that break compilers, and confuse programmers.

I think Java has been looking for a way around templates for some time that gets us generic programming without damaging the compiler or Java's users.  Have they come up with anything good?

I've found that language support for code generation can replace templates. It's simplifies the language while dramatically enhancing power.  However, it's not a feature to be used by the masses.  It probably is too confusing for Java.

Bill


March 06, 2003
I wonder why it always has to be "this language X versus that language Y", where X is much better than Y because it has this and this and that, and it got rid of those nasty features a, b and c

Is it really so hard to acknowledge that in particular circumstances one language may be more suitable than another, in some person's opinion, and that in other cases it might not be?

"Why D isn't Java" emphasizes the differences and suggests that it would a good thing for D to be as different from Java as possible. To me it looks like many of D's features were inspired by / copied from Java, and as such they also have many things in common. Given the fact that Java is currently a very popular programming language and D is not (except on this newsgroup perhaps), it could be wise to mention the similarities rather than celebrate the differences.


March 06, 2003
STL could be useful if I wouldn't keep forgetting the syntax - to me ease of use has its value, perhaps even more than execution efficiency


March 06, 2003
Hi,

your article reads very good, but I really missed one major topic:

- Java(TM) requires an interpreting VM or JIT-compiling VM. - D is compiled statically to native code.

I think, that with the inclusion of RMI and reflection-API in JDK 1.1, compiling Java(TM) to native code became impossible.

D's powerful template features cannot be efficently implemented with a JIT- compiler. Consequently, D will be strongly bound to static compiling.


Furthermore I disagree with this statement:
"While Java intends to be an application programming language, D was
designed to be a system programming language."

From D spec "Overview":
"D is a general purpose systems and applications programming language."


I don't like hyping Java(TM) to be an application programming language:

Maybe calling it a web application programming language would be a fair classification; Applets, Servlets, JSP's and EJB's  are all examples for this.



Farmer.



Java is a trademark of Sun Microsystems, Inc.







"Daniel Yokomiso" <daniel_yokomiso@yahoo.com.br> wrote in news:b40vls$2fqv$1@digitaldaemon.com:

> Hi,
> 
>     I've finished the first draft of this short article, comparing
>     Java to
> D. It's intended to make the differences between D and Java clear.
> 
> http://www.minddrome.com/produtos/d/why_d_isnt_java.html
> 
>     Best regards,
>     Daniel Yokomiso.
> 
> "Quidquid latine dictum sit, altum sonatur."
> 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.459 / Virus Database: 258 - Release Date: 25/2/2003
> 
> 

March 06, 2003
"Jeroen van Bemmel" <anonymous@somewhere.com> escreveu na mensagem news:b48i3p$rc4$1@digitaldaemon.com...
> I wonder why it always has to be "this language X versus that language Y", where X is much better than Y because it has this and this and that, and
it
> got rid of those nasty features a, b and c
>
> Is it really so hard to acknowledge that in particular circumstances one language may be more suitable than another, in some person's opinion, and that in other cases it might not be?
>
> "Why D isn't Java" emphasizes the differences and suggests that it would a good thing for D to be as different from Java as possible. To me it looks like many of D's features were inspired by / copied from Java, and as such they also have many things in common. Given the fact that Java is
currently
> a very popular programming language and D is not (except on this newsgroup perhaps), it could be wise to mention the similarities rather than
celebrate
> the differences.

Lots of people saw D for the first time and said: "Hey, it's just Java with pointers", or something like that. Walter asked if someone with experience in Java and D could write an article pointing the differences between the two. That's why the article emphasizes on the differences.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.459 / Virus Database: 258 - Release Date: 25/2/2003


March 07, 2003
it would be good to see a unbiased constructive comparison incorporating
http://www.minddrome.com/produtos/d/why_d_isnt_java.html
and http://www.digitalmars.com/d/index.html
and including delphi. although pascal syntax and lacking (as C does) a
builtin GC or templates it does stem from the same algo root, and many
features such as the way arrays are handled, strong typedefs, nested
function, the proposed properties,
delegates and objects as ref appear delphi influenced (the latter also a
Java and C# feature[as are delegates]).

as I start to think about it may be for each langauge someone should write a page why "X is better than D" and someone else write "why D is better than X" as I'm not sure unbiased views exist in the programming world (the number of people I know who say Java is a $%^$%^ language, but have never used it, and the current perl v python discussion)

it might be nice to include 'alien' (non algo based) languages such as smalltalk, self, lisp,scheme, ocaml, ml, haskel, prolog along with other algo langs c,c++, pascal, delphi, c#, Java, modular3, oberon, eiffel and even script langs such as python, lua, perl, tcl.

maybe even a page of how X is bodged in Y example Java's use of anon classes to replace first order functions and delegates

and may be a few more things on what features D does not have that the other
languages do and why they are not needed
Java : inner classes, and different 'interface' behaviour (call by signature
rather than COM), defined eval order
Smalltalk : instanceof and castableto
C++ : pointer to member function and pointer to member
Delphi : sets, dynamic methods, virtual constructors
C# : boxed items, unsafe, different approach to 'auto' and arrays that are
stack allocated.
ml : patten matching function params (could this be done via templates in D
[with a slight extension to syntax])



"Jeroen van Bemmel" <anonymous@somewhere.com> wrote in message news:b48i3p$rc4$1@digitaldaemon.com...
> I wonder why it always has to be "this language X versus that language Y", where X is much better than Y because it has this and this and that, and
it
> got rid of those nasty features a, b and c
>
> Is it really so hard to acknowledge that in particular circumstances one language may be more suitable than another, in some person's opinion, and that in other cases it might not be?
>
> "Why D isn't Java" emphasizes the differences and suggests that it would a good thing for D to be as different from Java as possible. To me it looks like many of D's features were inspired by / copied from Java, and as such they also have many things in common. Given the fact that Java is
currently
> a very popular programming language and D is not (except on this newsgroup perhaps), it could be wise to mention the similarities rather than
celebrate
> the differences.
>
>




« First   ‹ Prev
1 2 3