Where will D be in 2015 in the programming language ecosphere?

dsimcha dsimcha at yahoo.com
Sat Jun 19 17:35:21 PDT 2010


== Quote from Justin Johansson (no at spam.com)'s article
> Me thinks this both a polite question and a question due of realistic
> answers.
> How doth thou respond?

My brutally honest but not overly pessimistic view is that D will become fairly
popular in "high-level" systems programming and scientific and game programming,
but will fail to make substantial inroads into "low-level" systems programming or
most application programming.

I define high-level systems programming as anything that's not an application but
isn't a kernel, device driver or severely resource-limited embedded system.  This
can include GUI toolkits, database systems, network infrastructure code,
libraries, etc.  For the lower-level systems programming case, the requirement for
a runtime (even if it's a fairly lightweight one) and the lack of fine control
over things like binary size (due to templates, etc.) will limit usefulness.  Yes,
these problems can be worked around, but doing so requires sticking to so much of
a C-like subset that you may as well just use C.

At the application level, there are simply too many "good enough" languages that
are already entrenched, such as Java, C# and Python.

On the other hand, there's really no **good** language to do high level systems
programming or performance-critical application programming in.  C++ is just too
low level.  Java and C# aren't much slower than C for similarly written code, but
they don't allow direct access to hardware and system-native APIs.  They also
don't allow you to resort to the kinds of dirty tricks that you could in D to
squeeze that last bit of performance out of your code.  For example, good luck
writing an inner loop in assembler (it's done in Phobos), writing a custom memory
allocator (I've done this, to good effect), or reinterpreting floating point
numbers as integers and then bit twiddling them to sort them faster using integer
instructions (I've actually done this, too, and it gave me a ~20% speedup in some
code).


More information about the Digitalmars-d mailing list