D Programming Language

D Programming Language

  • Comments 1

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

Page 1 of 1 (1 items)
Leave a Comment
  • Please add 5 and 8 and type the answer here:
  • Post