Thread overview | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 04, 2003 Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Yokomiso | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans | "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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Cox | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Yokomiso | 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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jeroen van Bemmel | "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 Re: Why D isn't Java? article available | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jeroen van Bemmel | 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. > > |
Copyright © 1999-2021 by the D Language Foundation