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 IDEs
- James Gosling praises Oracle's Java technology updates
- Visual Studio 2010 release ups testing tools ante
- JetBrains adds to Java IDE
- Microsoft heralds Silverlight-Eclipse link
- Qt 4.5 released under LGPL, new IDE
- Microsoft files suit to defend Visual Studio users
- Komodo IDE for dynamic languages gets faster
- Google API allows creating apps that can track laptops
- Microsoft unveils new Visual Studio version
- Coghead clicks for non-coders
Development Essentials
- Security experts name top 25 programming screw-ups
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
- WebSphere Solution Design (S20) - CBD, contract role3/09/2010
Other
I.T. & T
WebSphere Solution Design (S20) - CBD, contract role - Solution Architect - Web Application Architecture Project!3/09/2010
Other
I.T. & T
Solution Architect to provide strategic and operational consulting for the end-to-end Web Application System project! Experienced with J2EE or .NET?! - Principal Consultant - ITIL2/09/2010
Other
I.T. & T
Excellent opportunity for an experienced ITIL Principal Consultant to join an innovative leading IT Service management consultancy. Attractive packag - Mainframe Developer - COBOL - 12 Month Contract2/09/2010
Other
I.T. & T
Mainframe Developer - COBOL - 12 Month Contract - Business Systems Analyst2/09/2010
Other
I.T. & T
Perm CBD based role for an experienced Business Systems Analyst - Senior SAP Project Manager2/09/2010
Other
I.T. & T
Senior SAP Project Manager - SAP FICO Consultant - 6 week contract - West Sydney2/09/2010
Other
I.T. & T
SAP FICO Consultant - 6 week contract - West Sydney
Whitepapers
TechWorld Blogs
Recent blog posts
- Windows Phone 7: how big can it get?
- NBN gets a turn at political football
- Internet filter gets caught up in politics
- TechWorld Forums goes live
- Selective sourcing the hybrid of cloud services
- Social networks catch more business attention
- RIP Kin
- Telstra’s copper and NBN’s fibre: will the two ends meet?
- RIP Windows 2000, XP lives on
- Does the world need another iPhone? Why not
Recent comments
- java development
11 hours 52 min ago - When mine called they
12 hours 35 min ago - 3D TV cannot fall - no way! Why?
15 hours 49 min ago - Thanks for taking the time to
1 day 4 hours ago - Windows scam
1 day 11 hours ago - My only anti fraud method is
2 days 6 hours ago - Private Cloud Taxonomies
2 days 6 hours ago - ...however...
2 days 15 hours ago - This Guy
2 days 15 hours ago - Glasses Free technology
2 days 16 hours ago - FOSS community
2 days 23 hours ago - i have dv6000 with nvidia
3 days 54 min ago - i have dv6000 and suddenly
3 days 58 min ago - This is an awesome comment.
3 days 4 hours ago - Real Estate
3 days 6 hours ago - Scam - eventvwr scammers
3 days 11 hours ago - Well I never...
5 days 1 hour ago - Too bad Microsoft was mentioned
5 days 3 hours ago - Phone card is a better option to make calls at a lower rate
5 days 7 hours ago - In other words: "Developers,
5 days 13 hours ago










Comments
Post new comment