D, Java? To D or not to D?

Kyle Furlong kylefurlong at gmail.com
Fri Jan 5 03:49:14 PST 2007


Boris Kolar wrote:
> My advice: use the best or the most popular language for the platform.
> Don't bother with "slightly better but less popular" category. So, if
> you target .NET, use C# (most popular) or Boo/Nemerle (best), don't
> bother with VB.NET, J# and others.
> 
> If you target JVM, use Java (also take a look at Scala - I don't like
> it too much because it seems more complex than necessary).
> 
> If you must have fast startup times, or must integrate with OS API, use
> C++ (most popular) or D (best). Maybe Eiffel is also worth considering.
> D is not (yet) very good for real-time programming (see all garbage
> collection, deterministic finalization threads for reasons), but Walter
> will likely fix that soon.
> 
> I personally use D for OS-integrated projects and Java for all others.
> If Boo for JVM (or native) existed, I would definitely use Boo (I'm almost
> tempted to write JVM port of Boo myself).

Good break down. From the OP's requirements, I dont see what would be 
enticing about D. Perhaps the clean, natural C-style syntax? Maybe the 
lack of bloat? How about the contract programming support?

Admittedly, the feature list is not _that_ impressive, the runtime 
implementation mediocre, libraries not generally very mature, but the 
people who use it do because it just feels *right*. The whole is 
logical, cohesive, clean. And not radically different, or horribly 
obtuse. Maybe even everything that C++ could have and should have been.

If that paragraph didn't make you go, "hmmm!" then maybe D doesn't have 
anything to offer you. It compiles natively, yes, but that isn't a win 
for you. Most everything else (tools, libraries) you can get better in 
Java if you dont mind the VM, and syntax bloat.

That said, things are just getting interesting around here in the 
library/toolset area. ;-)



More information about the Digitalmars-d mailing list