We've not covered ATL before on Channel 9 and with all the talk going on these days about [the elephant in the room], we figured it would be useful to spend some time with ATL creator Jim Springfield to get a historical perspective (as well as a technical one) on Active Template Library.
ATL is a C++ template library for building lean and fast COM objects for Windows. ATL is designed to maximize performance while removing some of the complexity of COM-based Windows application development. If you've built ActiveX controls then you've used ATL. Of course, ATL isn't just for ActiveX objects...
Thanks to Niner C64 for the suggestion to ask Jim historical questions in addition to the expected technical ones. C64 also asked us to spend some time on WTL. So we did.
The Windows Template Library was created (and is still maintained) by Nenad Stefanovic, whose name I horribly mangled in the show's constructor. My apologies, Nenad! WTL is built on top of ATL, extending the power and relative simplicity of ATL to more of Win32's componentry. Lots of native Windows applications are written in WTL (including some of Windows itself, IE, Chrome, etc).
Niner Ion also asked some specific ATL questions. We get to those, too.
Thank you for spending time with us, Jim!
Table of Contents (click time code links to navigate player accordingly)
[00:00] GoingNative(); //Thank you for challenging us and speaking your minds! Thanks Herb Sutter, Jim Springfield, PFYB, KM-KY, Warren, Garfield, C64, Glen, and Tomas (who's trying to make his own C++ lib-only implementation for Metro component authoring—way to go. Best to just do rather than just say! Good luck, Tomas!).
[06:34] Charles interviews Jim Springfield (whiteboarding included)
[51:18] ~GoingNative();//Announcing and talking about GoingNative 2012. Please join us in Redmond! See below for details:
Announcing GoingNative 2012 – A Modern C++ Conference
Here at Microsoft, we're very excited about the surge of industry interest in C++ and we want to support that. We know developers are hungry for information about modern C++ (C++11). The goal of GoingNative is to help provide current information to as many people as possible and to share technical insights and knowledge from C++ luminaries from across the industry. It's a C++ party and you're invited. Please join us.
GoingNative 2012 is a 48-hour technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: native developers. Distinguished speakers include the creator of C++, Bjarne Stroustrup, C++ Standards Committee Chair, Herb Sutter, C++ template guru and big compute master, Andrei Alexandrescu, and more!
Feb 2-3, 2012
Microsoft Corporate Campus
Redmond, WA, USA
The entire event will be streamed live on Channel 9 and all sessions will show up for on-demand use in 24 hours or less. That said, you do want to be here. It's going to be a lot fun and we are going to take care of you.
We really want to hear from you, so please tweet feedback to @C9GoingNative (follow us!) and send your requests, ideas, complaints, praises, hate mail, and love letters to C9GoingNative [at] hotmail [dot] com. We will read and respond to all messages! That's how we roll, brothers and sisters. And if you're a Facebook user, please join our C9::GoingNative Facebook group.