C9::GoingNative

GoingNative 6: Walter Bright and Andrei Alexandrescu - D Programming Language

Download this episode

Download Video

Description

We're back! Sorry for the delay between episodes, but we were busy preparing and then putting on GoingNative 2012, a C++11 conference that you have hopefully heard about Smiley It was a blast! Such great speakers. Such great attendees. Huge thanks to all of you who made the journey to Redmond for two days, bringing with you so much IQ and C++ love. And to those who watched the show live online, thank you, too, of course! All sessions will always be available on-demand right here on C9. Watch at your leisure, but do watch/listen/learn!

We were fortunate and honored to have Andrei Alexandrescu speaking and Walter Bright in attendance at GoingNative 2012. Walter and Andrei are the co-custodians of the D programming language. Walter invented D about 11 or 12 years ago. Andrei has been an unrelenting champion and contributor to D for a long time and is the author of the book The D Programming Language. When/why did Andrei get involved with D? We'll find out. We filmed a conversation with these two legends right after GoingNative 2012 ended.

So, what is D? What makes it special?

D is a modern native programming language (not really an evolution of C++ as the name might imply. C++11 is an evolution of C++... D is it's own thing. It's D.). D is imperative (with C-like syntax), statically-typed, object-oriented, dynamic-friendly (via static type inference), garbage collected (optional), shared-nothing by default (nice!), functional-friendly (you can write pure functions that are verifiably pure), polymorphic, generic, and COM-friendly, too. D is also a low-level systems programming language.

D takes many powerful modern programming ideas and idioms and makes them easy to use while keeping things purely native. We love this! Too often we hear things like, "Well, if you go fully native then you loose productivity..." Whatever. D proves you can have your cake and eat it, too.

Tune in. Meet Walter and Andrei (and D, if you're not familiar with it). Thanks for spending time with C9, Walter and Andrei! Keep pushing the native envelope. 

"I want 1,000,000 users", says Andrei. Go D!

Download D
D Forums (written in D)
Modern COM Programming in D


Table of Contents:

[00:00] GoingNative(); //Welcome back! Sorry for the delay. GoingNative 2012. D.
[02:22] Charles has a conversation with Andrei Alexandrescu and Walter Bright about the D programming language
[56:52] ~GoingNative(); //Charles and Diego talk about D and then destruct.

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • tomkirbygre​en

      Very happy to see the show back after an extended hiatus (OK so Going Native 2012 was a pretty good excuse Wink  ). Thank you for all involved for giving Andrei air time, I always learning something when he takes the stage.

      As an idea for a future show, I'd love to hear from engineers / teams in Microsoft who are doing cross platform work involving multiple C++ compilers. It would be good to pick their brains about the practicalities and experience gained when doing such. Lots of folks there days are writing C++ that targets Win32, WinRT, Cocoa-Touch (there I said it) and not to mention Droid etc. How does one go about crafting a good 'PAL' layer for example. 

      I'm also really curious to know how teams at Microsoft unit test 100% native code. Are you using some derivative of WinUnit, and how do you keep macros out of any unit testing solution you might be using while still being productive?

    • gjvdkamp

      Hurray!

      I'm am on board with the whole native renaissance, but c++... it's a language that doubles as a museum of design errors. Header files for instance, and having to put your fields in there.. that's just wrong. Real intellisense would be nice too. 

      D would mean one could have native code AND have a productive language and have been watching it for a while. Also I expect a lot of native domain specific languages to come out of the LLVM infrastructure. Is there a MS equivalent for that?

      At work now, can't wait to see this episode! 

    • Granville Barnett

      @gjvdkamp Phoenix (http://research.microsoft.com/en-us/collaboration/focus/cs/phoenix.aspx) is probably the nearest equivalent. However, that seems to be pretty much dead externally. I *think* it has some use in VC but that was the last I heard of it and was a few years ago.

      Personally, I think it would be better for the official DMD compiler to embrace LLVM in the long run. LDC exists but is outdated.

    • silverlight

      silverlight? Really?

    • Charles

      @silverlight: We support multiple formats, so, yes really... AND MP4, WebM, MP3... Note the Download links next to the inline player. Also note that if your browser doesn't have the SL plug-in we'll default to what your system does support (like HTML5 or even WMP if you're on Windows or launching your default media player with MP4...).

      This is a tired and outdated complaint. Next...

      C

    • Charles

      @dot_tom: Great suggestions, Tom. Thank you!

      C

    • sepp

      Thanks for the great show. I wish more people at Microsoft would embrace D as opposed to .NET. That would actually make Microsoft interesting again.

    • q66

      @Granville Barnett LDC is actually up to date with latest LLVM and dmd frontend: https://github.com/ldc-developers

    • Simon

      I didn't ask for a video about D.
      Wasn't really a good video either. No code examples, no comparisons to c++. Pros and cons of the language. What is not implemented, what will never be supported, etc..

      I've asked for STL (the person) like c++11 videos.
      Videos that will teach.

      Sausage video's like this one doesn't teach much, if anything at all, just a bunch of useless chitchat.

      Was this feedback clear and constructive enough ?

    • Charles

      @Simon: You didn't ask for D, but others did... Channel 9 is conversational, human. It's not just a place to get training...

      STL will be back. He's busy shipping code. More "teaching" videos will appear.

      This was a conversation with the creators of D. If you're not interested in the topic, that's fine. You don't have to be.

      C

    • Glen

      Andrei

      Great show.

      I like the idea that D reduces accidental data sharing between threads. It seems that C++ has gone in the oppopsite direction to D here?

      If so, are there any recommendations you could make to the C++ standards, that might back up the bus on C++'s design in this area and take it more in the D direction? If so, what would they be?

      On another subject, I like D's static if, and thank Andrei etc. for proposing it for C++. I thought I read Bjarne was less sure about static if, is this true, if so, what is your take on his concerns?

      Keep up the good work Andrei and most of all thanks for being a great entertainer! Always a pleasure to watch.

    • ryanb

      , Charles wrote

      @dot_tom: Great suggestions, Tom. Thank you!

      C

      I'd like to step slightly off-topic for a moment and echo my support for Tom's suggestions.  I think that both cross-platform development and testing are great topics for future shows.  "Tips from the trenches" type stuff from real-world project experience would be great.

    • Moondevil

      Thanks for showing the interview about D.

      Keep going the good work to bring native programming back into the spotlight.

    • felix9

      D for WinRT ??? Interesting ...

    • exoteric

      Thanks for this. I've used D in the past for fun. It's quite a nice language with a good set of features. The authors were not willing to compare to C++ but that's okay; they are both deeply involved in both languages anyway. C++ seems to have improved drastically in C++11 but D still has some unique features. It probably directly influenced C++11.

    • thesaint

      @Simon: You think there really is anybody who cares what you want to see on Channel9? Sometime I wonder what's in peoples mind.

    • Corrector2

      I second the "Who cares about yet another language that will never gain popularity?" sentiment. As far as programming languages go, if it isn't a Channel 9 episode about C++, C# or VB, in the worst case, it just isn't worth watching. Why? Because, the practical present and future applications in business of these "revalutionary" languages are exactly 0. Noone will ever adopt yet another programming language in this day and age, unless it is radically different and really has a top notch class library to boot. This is the only reason that Java and its derivative, as much as I hate to call it that, C#, made it into the real world.

       

    • Ben Hanson

      Does this mean we can expect a Microsoft compiler for D anytime soon (having listened to the entire interview now)? If they could remove all calls to the garbage collector from the phobos library, I would be a lot more enthusiastic.

    • Charles

      , ryanb wrote

      *snip*

      I'd like to step slightly off-topic for a moment and echo my support for Tom's suggestions.  I think that both cross-platform development and testing are great topics for future shows.  "Tips from the trenches" type stuff from real-world project experience would be great.

      Working on this...

      C

    • Charles

      @Simon: You think there really is anybody who cares what you want to see on Channel9? Sometime I wonder what's in peoples mind.



      Yes. Of course we do. In fact, we consistently deliver what viewers ask for. We can't deliver everything, but we try. The manner in which Simon "suggested" content topics is another story...
      C

    • Charles

      Does this mean we can expect a Microsoft compiler for D anytime soon (having listened to the entire interview now)? If they could remove all calls to the garbage collector from the phobos library, I would be a lot more enthusiastic.



      No.

      C

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.