D language

This is just a very short post about this language I recently discovered : the D language. As described on its little website : “D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.”.

It has most of the features of the java and the C# (best language ever), but it is fully compiled (no JVM or JIT stuff).

You should have a quick loot of its features on the Digital mars website (they’re the ones who created it).

I wonder if this language really has a future. C# (with the .Net framework) compiles and runs on every platform (thanks to mono), even on the iPhone, so it only remove the burden of the libraries required to run .net apps.
So, will it really beats its performance ? Because in C# is very fast (my next post will bring a stupid C++/C# performance comparison), and in C# avoiding time or memory consuming mistakes or multi-threading our code is very easy.

2 thoughts on “D language”

  1. Nice post. But as a lot of people before you compare apples with oranges. While C# and D might look syntacticly similar, they have vastly different goals.

    As you have written correctly, D is a system programming language (even featuring an inline assembler) compiling to object code while C# is an application programming language (sure there is singularity, so C# is a little bit of a system programming language) compiling to CIL.

    C# aims to be an enhancement of Java as D aims to be an enhancement to C++. D is a close to the metal system programming language suitable for operating system programming, driver development and so on. Everything where a VM is in your way, where you need to talk directly to the hardware and where you need more control of your resources (memory management and so on).

    So while the syntax might be similar and there might be some overlaps, these two are different languages for different purposes.

    So there is no competition, no one to rule them all, no either or. They can both peacefully coexist, simply because there are things you can only do in one language but not the other.

    1. I think we’re reached an aera where you could use any language to do anything. People use javascript to build servers software or java SE for embedded hardware. So I think the language that people chose is more related to wheter they like to program on it (learned it and have a good IDE) or not more than if it really suits their need. That’s why I think we can compare any language to any other one. I think there’s somehow a competition, it’s about who gives the best answers to the question: “What is the most useful language I should learn?”.

      I don’t think C# is just an enhancement of java. I think it tooks the best of java and C++: VM and simplicity of java (removing some C++ features) + some features (like operators overload, simple library linking) of java.

Leave a Reply

Your email address will not be published. Required fields are marked *