March 19, 2006
Walter Bright wrote:
> I'm no expert on Java programming, but I get this question a lot: "What compelling reason does D have that would entice a Java programmer to switch to D?"
> 
> I know several of you have come to D from Java, and are expert Java programmers, so you folks' reasons would be very valuable. 
> 
> 

I came from C#, so I think the same reasons should be valid.

D is:
	Native (Speed!) (This is the primary reason to switch for me)
	Garbage Collected (although, this is a must)
	Simple
	Powerful
	Modern

C is not:
	Garbage Collected
	Modern (Preprocessor? You gotta be kidding.)
	Powerful

C++ is not:
	Garbage Collected (out of the box)
	Simple
	Modern

Interpreted (Ruby, Perl, etc.) are not:
	Native

D is the best suited language for my purposes. That said:

C# is:
	All about the LIBRARIES

D is not:
	All about the LIBRARIES

So, if we could get a standard library as extensive and well written as the .NET libraries, D would be the ideal language in my opinion.
March 19, 2006
Walter Bright wrote:

> I'm no expert on Java programming, but I get this question a lot: "What compelling reason does D have that would entice a Java programmer to switch to D?"

And if anyone wants to elaborate on the "How?" in additon to the "Why?",
the page on "Java to D" transition at Wiki4D could need some updating...

The link to the page is: http://www.prowiki.org/wiki4d/wiki.cgi?JavaToD

It was meant as a complement to the C/C++ pages, that Walter has done:
http://www.digitalmars.com/d/ctod.html
http://www.digitalmars.com/d/pretod.html
http://www.digitalmars.com/d/cpptod.html

--anders


BTW; There is also a bunch of differences and comparisons listed at:
http://www.prowiki.org/wiki4d/wiki.cgi?NotesForProgrammersUsedTo/JavaLanguage
March 19, 2006
Andrew Fedoniouk wrote:

>>I don't agree about GUI - Java GUI (Swing) is very strong. There is no
>>comparable alternative in D (yet). Don't tell me about DWT. ;)
> 
> There are no real GUI Applications using Swing either :)

Is that like how the Java CLI applications aren't "real" programs ?
If they work OK, does it *really* matter if it's virtual or native ?

If you wanted a Java/Swing application to be "more native", couldn't
you just compile it with GCJ/SWT and keep the same APIs in the code ?


I think Swing makes perfect sense for the default interface of Java,
and it's actually SWT that is the "strange one" in my own book :-)

Could be just because I originally learnt it in that way, of course...
From what I see in the current SWT it has come a very long way since.

--anders
March 19, 2006
In article <dvitlk$2848$1@digitaldaemon.com>, Andrew Fedoniouk says...
>
>> I don't agree about GUI - Java GUI (Swing) is very strong. There is no
>> comparable alternative in D (yet). Don't tell me about DWT. ;)
>
>There are no real GUI Applications using Swing either :)
>
>So score: 1:1.
>
>Your turn.
>
>Andrew.
>
Well, there are hundreds of Java/Swing applications. :)
Take a look at http://java.sun.com/products/jfc/tsc/sightings/
Yes, Swing has steep learning curve, but it is well designed and very flexible.
Actually it is my choice Nr.1 for GUI apps and I would like to have something
similar in D standard library (?may be based on Cairo graphics?). People who
thinks that Java/Swing is too slow reads Slashdot too much or probably tryed
Java in last centuary. ;)
Another think what I really miss in D is a JDBC's type interface to databases.
On the other hand D is small, compact, powerful, has better interface to C and
somehow gives again good feeling like in old C days. :)

Absence of IDE for D is not so big problem as lack of good standard libraries (gui, db, comm, etc.) And this is one thing what keeps D off of using in big projects. You cannot fully concentrate on problem domain.

--
ub


March 19, 2006
"Andrew Fedoniouk" <news@terrainformatica.com> schreef in bericht news:dvitlk$2848$1@digitaldaemon.com...
> > I don't agree about GUI - Java GUI (Swing) is very strong. There is no
> > comparable alternative in D (yet). Don't tell me about DWT. ;)

DWT is indeed strange, but I think DFace could be the way to make GUI
programming more comfortable.
wxD (your child, i think) is in general a good thing but has the problem
that it is based on wxNet respective the wxc. I guess the this project is at
a stand still. ( see last updates, the mailing list)  if not dead. So what
will you do next ? In my opinion you only have the choice to pick up Andy
Friesen s SWIG for D project to make further progress........

> There are no real GUI Applications using Swing either :)

Really ? What about the Netbeans IDE. <g>  (and not to forget the apps build based on the Netbeans platform. )

Sorry about the OFF TOPIC
Bjoern


March 19, 2006
BLS wrote:

> wxD (your child, i think) is in general a good thing but has the problem
> that it is based on wxNet respective the wxc. I guess the this project is at
> a stand still. ( see last updates, the mailing list)  if not dead. 

The wxD project is not at a stand-still or dead.
In fact, we are just preparing a new release...

New version has some bugfixes for bool and DMC,
and adds some missing classes for sound support.

See http://wxd.sourceforge.net/ for the details...
Sharing code with wx.NET project is not a problem ?

--anders
March 19, 2006
Tom wrote:
> Walter Bright wrote:
> 
>> I'm no expert on Java programming, but I get this question a lot: "What compelling reason does D have that would entice a Java programmer to switch to D?"
>>
>> I know several of you have come to D from Java, and are expert Java programmers, so you folks' reasons would be very valuable. 
> 
> 
> Java
> - Sucks 'cause of its horrendous slowness

This hasn't been true in quite some time.

Check Javas position relative to C++ here:
http://dada.perl.it/shootout/craps.html


I will agree/add with my list below:

1. No runtime to install. (80 megs?)
2. JVM is a memory hogg.
3. Much better low-level facilities(OpenGL, bit twiddling)
March 19, 2006
Hi Anders,
Good News!
regarding my previous message :
I do not mean that you will let wxD die. I mean the wxNet project is quit
dead. So the problem I am talking about is  the fact that wxD depends on
wxc.
Bjoern

"Anders F Björklund" <afb@algonet.se> schreef in bericht news:dvjlcn$ns9$1@digitaldaemon.com...
> BLS wrote:
>
> > wxD (your child, i think) is in general a good thing but has the problem that it is based on wxNet respective the wxc. I guess the this project
is at
> > a stand still. ( see last updates, the mailing list)  if not dead.
>
> The wxD project is not at a stand-still or dead.
> In fact, we are just preparing a new release...
>
> New version has some bugfixes for bool and DMC,
> and adds some missing classes for sound support.
>
> See http://wxd.sourceforge.net/ for the details...
> Sharing code with wx.NET project is not a problem ?
>
> --anders


March 19, 2006
David Medlock escribió:
> Tom wrote:
>> Walter Bright wrote:
>>
>>> I'm no expert on Java programming, but I get this question a lot: "What compelling reason does D have that would entice a Java programmer to switch to D?"
>>>
>>> I know several of you have come to D from Java, and are expert Java programmers, so you folks' reasons would be very valuable. 
>>
>>
>> Java
>> - Sucks 'cause of its horrendous slowness
> 
> This hasn't been true in quite some time.
> 
> Check Javas position relative to C++ here:
> http://dada.perl.it/shootout/craps.html

That's very nice, but it has been many years and still I'VE NEVER seen a quick Java app in my life (maybe two or tree very small programs).

> I will agree/add with my list below:
> 
> 1. No runtime to install. (80 megs?)
> 2. JVM is a memory hogg.
> 3. Much better low-level facilities(OpenGL, bit twiddling)
March 19, 2006
I picked up Java because C++ was rich but had to much complexity.
Java was simple and had good support for "programming in the large" with jars
and packages.

But Java is too simple ... and quite dull.  And relies on a fat VM.

D makes the same tradeoffs as Delphi - a fast compiled language with pointers available if you want them. And modules!

Also there seems to be two major approaches to app development emerging:
Java/c# and a virtual machine
VS
c/c++/D and scripting languages like ECMAScript, Python, Lua.

I think the latter is the way to go. And the fact that DMDScript(ie ECMAScript) is written in D is great.