D, Java? To D or not to D?

Don Clugston dac at nospam.com.au
Fri Jan 5 08:03:22 PST 2007


TPJ wrote:
> I decided to start with a simple statement: with this post I don't intend to
> start any flamewar. I'm definitely not a Java zealot, OS zealot, I'm not a
> zealot at all. I'm just a programmer who seeks for future technologies today.
> I'm doing it because I find investing in future technologies today very
> profitable. Of course only in case of really good technologies...
> 
> I'm a freelancer programmer. I work under a GNU/Linux box and I'm interested
> in development of portable desktop apps (*nices, Windows, MacOSX, perhaps
> other OSes in the future) and games (the same OSes, plus mobile phones).
> 
> A few years ago I switched from C/C++ to Python. The reason was simple: I was
> fed up with low-level development in C/C++, and I was impressed by high-level
> development in Python. All I did in C/C++ could be done in Python with one
> significant difference: code was written much, much faster.
> 
> Now, after several years of using Python, I decided to switch from Python to
> Java. The reason is simple. Sometimes Python is too slow for my needs. Of
> course, I can use C in those cases. But using C means using another language
> and development becomes more complicated. In fact, I started to use Pyrex as
> well... Three different tools, no documentation standard for all of them...
> The hell.

[snip]
> So I ask myself a question today: should I invest in learning D? Is it worth
> my efforts?

It's the libraries.
The thing C# really has going for it is the .NET libraries. Likewise 
Java. Their libraries are extensive, and were developed with massive 
budgets.
Right now, D cannot compete with those libraries. We got nothin'.

BUT...

D is a language that seems to be made for writing libraries. It is 
exceptionally easy to write rock-solid code in D. The powerful template 
system, coupled with language features such as lazy evaluation, inner 
functions, etc make it possible to create extremely appealing syntax for 
library users. I believe it is possible to create nicer libraries in D 
than in any of those other languages you've mentioned.

As a library developer, I reckon I'm about ten times productive in D as 
in C++. I predict we'll see a rapid expansion in D library development 
post-1.0.

The bottom line:
Don't use D right now unless you're prepared to do a lot of library 
development. But expect the situation to change rapidly.



More information about the Digitalmars-d mailing list