Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experience maintaining Bash, Bjarne Stroustrup of C++ fame, to Charles H. Moore about the design and development of Forth, a chat with the irreverent Don Woods about the development and uses of INTERCAL, Stephen C. Johnson on YACC and most recently Modula-3 design committee member, Luca Cardelli.
In this interview, we chat to Walter Bright about D and his desire to improve on systems programming languages. According to his home page, Bright was trained as a mechanical engineer, and has worked for Boeing on the 757 stabilizer trim system. Ever since this experience however, he has been writing software, and has a particular interest in compilers.
Please note that we are no longer following exact alphabetical order for this series, due to popular demand. If you'd like to submit any suggestions for programming languages or language authors that you'd like to see covered, please email naomi@computerworld.com.au.
What prompted the development of D?
Being a compiler developer, there's always at the back of my mind the impetus for applying what I know to design a better language. At my core I'm an engineer, and never can look at anything without thinking of ways to improve it.
The tipping point came in 1999 when I left Symantec and found myself at a crossroads. It was the perfect opportunity to put into practice what I'd been thinking about for many years.
Was there a particular problem you were trying to solve?
There was no specific problem. I'd been writing code in C++ for 12 years, and had written a successful C++ compiler. This gave me a fairly intimate knowledge of how the language worked and where the problems were.
C++ was (and is) limited by the requirement of legacy compatibility, and I thought much could be done if that requirement was set aside. We could have the power of C++ with the hindsight to make it beautiful.
I had also been programming in other languages, which had a lot to contribute.
How did the name D come about?
It started out as the Mars programming language (as the company name is Digital Mars). But my friends and colleagues kept calling it D, as it started out as a re-engineering of C++, and eventually the name stuck.
Why did you feel that C++ needed re-engineering?
A lot has been learned about programming since C++ was developed. Much of this has been folded in C++ as layers on top of the existing structure, to maintain backwards compatibility. It's like a farmhouse that has been added on to by successive generations, each trying to modernize it and adapting it to their particular needs. At some point, with a redesign, you can achieve what is needed directly.
But D today has moved well beyond that. Many successful concepts from other languages like JavaScript, PERL, Ruby, Lisp, Ada, Erlang, Python, etc., have had a significant influence on D.
What elements of C++ have you kept, and what elements have you deliberately discarded?
D keeps enough so that a C++ programmer would feel immediately comfortable programming in D. Obsolete technologies like the preprocessor have been replaced with modern systems, such as modules. Probably the central thing that has been kept is the idea that D is a systems programming language, and the language always respects that ultimately the programmer knows best.
References
- The A-Z of Programming Languages: AWK
- The A-Z of Programming Languages: Ada
- The A-Z of Programming Languages: ASP
- The A-Z of Programming Languages: BASH/Bourne-Again Shell
- The A-Z of Programming Languages: C++
- The A-Z of Programming Languages: Forth
- The A-Z of Programming Languages: INTERCAL
- The A-Z of programming languages: YACC
- The A-Z of Programming Languages: Modula-3
- Clugston video
- Andrei's work
- Wiki4D
- http://www.digitalmars.com/d/2.0/accu-functional.pdf
Latest on
- Symbian Foundation makes progress, but challenges remain
- Online ad groups release new behavioral ad principles
- Judge temporarily dismisses MySpace cyberbully case
- Apple patching serious SMS vulnerability on iPhone
- Equinix power outage downs VoIP, tweets up a storm
- Reports: Microsoft will sell Windows 7 'Family Pack'
- Mozilla slates first Firefox 3.5 patch
- Couple gets prison time for Internet obscenity
- Vendor squabbles cause W3C to scrap codec requirement
- Vista Ultimate users fume, rant over Windows 7 deals
Essentials
TechWorld Jobs (beta)
Recent Jobs
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- Nokia remains 'open' to Android amid Symbian renaissance
- KDE's Seigo gives sneak peek at version 4.3
- Was the iPhone 3G S worth queuing up for?
- Has Oracle started its mammoth technology consolidation?
- iPhone 3.0: the detail is the process, not the features
- TechWorld.com.au goes mobile
- Should Dell buy Palm? Stranger things have happened
- A big week for Linux: is user friendliness finally in sight?
- Apple, Android rain on Palm's Pre parade
- The clone attack is becoming unstoppable
Recent comments
- Interesting report. You were
2 hours 44 min ago - Are you sure it is in Sydney?
14 hours 5 min ago - The mobile market has
21 hours 58 min ago - Great news.
Sms spam should
1 day 18 hours ago - now what am I gonna do with
1 day 21 hours ago - ozlotteries.com not ozlotto.cm
1 day 23 hours ago - OLAT Release
2 days 9 hours ago - and i was sure i would win...
2 days 13 hours ago - Hi SolidRadicle,
I am looking
2 days 14 hours ago - Not if I can help it
2 days 14 hours ago - Ozlotto Tips Scam
2 days 18 hours ago - Great post.
It's very
2 days 18 hours ago - Excellent review! I'm glad
4 days 15 hours ago - iTunes Helper
1 week 3 hours ago - Update the link to OrangeHRM web site
1 week 19 hours ago - Very informative article
1 week 1 day ago - Google Chrome is still being directed to bing instead of google
1 week 1 day ago - regd: Software Magazine
1 week 1 day ago - I seem to have missed a point
1 week 2 days ago - Tech of Yesteryear
1 week 2 days ago










Comments
Post new comment