Compartilhar via


D Programming Language

One of the side benefits of living the beautiful Pacific Northwest, is that some amazing talent also lives here and, occasionally, you get to brush elbows with them. Once a month a group of those who think very deep thoughts about C++, and software in general, come together to share their deep thoughts with mere mortals at the Northwest C++ Users Group. Attending these meetings as often as I can, I've seen some very interesting presentations from Herb Sutter's discussion on possible multi-threaded extensions to C++ to Andrei Alexandrescu's intriguing discussion on "The Power of None."

The NWCPP January 2007 presentation was by Walter Bright on advanced features of his D programming language. In spite of the fact that D has received some attention lately, I was only vaguely aware of it, so I was able to only grasp a small percentage the advanced material being presented. What I did gather is that this is a pretty "Wow" language. I won't elaborate on the many details of the language, but for a quick overview let me present a few points culled directly from the D Overview:

  • D is a general purpose systems and applications programming language.
  • By not a carrying backwards compatibility burden, D can jettison syntax which has proven to be problematic while still carrying forward and improving many of the features of C & C++.
  • It should be easy for C/C++ programmers to learn.
  • D "interfaces directly with the operating systems API's". By having support for all C data types, a D program to can "interface to any C API or existing C library code."
  • As an embedded developer, you gotta like a language that has as one of its major goals to provide "low level bare metal access as required."
  • D requires IEEE 754 arithmetic and, if available, extended precision to be supported.

However, before you rush off and jump on the D bandwagon, here are a few points to consider:

  • D has dropped the ability to link with C++. This means that you won't be able to use any existing C++ libraries.
  • D does not compile unmodified C or C++ source code.
  • D does not have wide spread tool and infrastructure support. Be prepared to roll your sleeves up break a sweat if you have any issues.

OK, it might just be a little early to get started programming in D. But think of the glory you can have all to yourself if you're able to produce the first embedded D device <grin>

-Jim

Comments

  • Anonymous
    January 23, 2007
    turkish Language?