D Programming Language for Systems & Embedded Programming

Greg and I are working at X-Rite these days on an extended assignment. We’re part of a team developing a new color measurement device. It’s a complicated embedded system and the first large-scale implementation of our Agile and TDD approaches to embedded system development (incidentally, thanks, X-Rite, for your faith in us). One of our team members, Mark, has some familiarity with the D programming language. I’ve heard of it. It’s been in development for quite some time. Version 1.0 was just released in January of 2007. Because of Mark I just checked it out. It’s nice.

For anyone who’s worked with high-level programming in say Java or C# and also used C or C++ for low-level systems programming, you know that feature lust you get. You love working in a language like C close to the hardware but simultaneously long for capabilities more advanced languages provide. For instance, in our project we’re using C. We just implemented a simple exception handling mechanism based on setjmp/longjmp. While it’s definitely making error handling much simpler, it’s not fully featured exception handling.

Boy oh boy, does D look nice. Rather than try to summarize its niceties here, go read more about it on Wikipedia and check out its feature/language comparison page too. I wouldn’t be surprised if D picked up some decent steam in the systems programming world (there’s already support for Win32, x86 Linux, and OS X). Unfortunately, given the slow-moving software engineering culture surrounding embedded systems, I doubt D will make an appearance any time soon. Still, we can dream…



1 Response to “D Programming Language for Systems & Embedded Programming”

  1. bugTriagogomo Says:

    Hi homemade portable air filters homemade flavored sugars salts homemade milling machine plans homemade cardboard picture frame homemade air core choke inductors charts Bye


Leave a Reply