February and March have been killer busy, so that I forgot to repeat an important announcement here: registration is open for C++ and Beyond 2012! I’m looking forward to teaching for three days again with Scott Meyers and Andrei Alexandrescu at one of the top C++ conference highlights of the year.
This year, C&B will be held on August 5-8 in beautiful Asheville, North Carolina, USA. Registration is limited to 120 people, and now that I’m a month late in repeating this announcement I see that it’s already over 25% booked… seats are going faster than in either of the previous years, but fortunately there are still lots of spaces available as I write this.
This is becoming yet another big year for C++ in the industry, as C++ use and interest continues to surge and even the ISO C++ committee isn’t slowing down after delivering C++11 but is actually accelerating, ramping up work for the next round on concurrency/parallelism, networking, filesystem, and other short-term topics of interest as mentioned in my trip report. As usual, C++ and Beyond will feature the most important material you can use today and information about what to expect that’s coming down the pike short-term tomorrow.
Only two of the session descriptions have been posted so far, but they’re already deeply interesting and brand-new material never presented before – by us or by anyone, as far as I’m aware. Here they are…
1. “Universal References in C++11” (brand-new talk by Scott Meyers)
Scott’s first-announced talk on “Universal References in C++11” targets a key underpinning of two C++11 marquee features – move semantics and perfect forwarding. I’ve seen drafts of the material, and this is going to be a deeply illuminating talk that covers not only the “what” and “how” of thinking about and effectively using T&& declarations in C++, but also the “why” – the thinking behind the language rules that helps us to understand the reasons why this important C++11 feature was designed the way it is, and what other topics and techniques it affects.
2. “You Don’t Know [keyword] and [keyword]” (brand-new talk by Herb Sutter)
Yes, the title really is “You Don’t Know [keyword] and [keyword],” at least for now. Here’s the description I just posted:
I plan to give a brand-new talk for the first time at C&B, but I’m conflicted regarding what to say about it here because it’s recently been a bit of a startling realization to me about C++11, and I think it may be a bit startling for others too. I don’t want to be a tease, but I also want to save it as a surprise for C&B itself.
In the meantime, here’s a teaser…
In addition to the many new C++11 features that everyone’s listing, it has dawned on me over the winter that there’s actually another major change that isn’t being talked about anywhere, or even being listed as a change in C++11 at all as far as I know, because I and other key experts and committee members I’ve asked didn’t fully realize that we altered the basic meaning of not one but two fundamental keywords in C++. It’s a change that has profound consequences, that rewrites and/or invalidates several pieces of pre-C++11 design guidance, and that’s directly related to writing solid code in a concurrent and parallel world. This isn’t just an academic change, either – everyone is going to have to learn and apply the new C++11 guidance that we’ll cover in this session.
I plan to talk about it first at C&B, in a session tentatively titled as above – I’ll fill in the keywords later. You may already guess a few keyword candidates based on the description above, and here’s a final hint: You’ll hardly find two C++ keywords that are older, or whose meanings are more changed from C++98 to C++11. (No, they aren’t auto and register.)
I hope you can come, and I’m looking forward to seeing many of you in Asheville this summer.
@Csaba: I’m glad you enjoyed GN! Doing Going Native livestream required facilities and infrastructure not available at most hotels and conference centers and prohibitively expensive if you’re not a big corporation willing to sponsor it out of the goodness of your heart — a studio-quality equipped auditorium with manual and robotic cameras, a fat and fast and reliable Internet connection, datacenter infrastructure capable of handling very large numbers of live viewers, as well as an on-site A/V crew of about a dozen people. That was possible only because Microsoft wanted to sponsor it out of their own pocket to help get top-notch freely available C++11 content out on the web as widely as possible, to fill a gap and promote industry-wide learning about modern C++. But hopefully the technology (like Lync and WebEx) and infrastructure (like hotel Internet pipes) will continue to get more capable and affordable so that smaller conferences will be able to do more of this in the future. In the meantime, I’m hoping for another Going Native again next year, we’ll see…!
The Going Native conference was live streamed, and I followed both days. Will there be any live stream this time? Sorry, I know this question kind of intersects with Tamas’s question, but there’s no way I could pay 2.4K for the conferene. It’d be a dream!
Thanks.
@Tamás: We generally don’t record talks, sorry, but sometimes they do get recorded and put online. You can find the following talks/panels from last year’s C&B online courtesy of Channel 9’s Charles Torre:
My opening talk on “Why C++”: http://tinyurl.com/3gj3hzv . Note this talk is more keynote-y and not code-focused because its purpose was to say some stuff that needed saying to set tone and perspective, and to provide a linkable place online to help disseminate understanding of where, and why, C++ matters.
Scott/Herb/Andrei panel on “C++11”: http://tinyurl.com/3h8kt9y
Scott/Herb/Andrei panel on “Ask Us Anything!”: http://tinyurl.com/89d8nlz
Scott/Herb/Andrei panel on “Concurrency & Parallelism”: http://tinyurl.com/bmvts25
Bonus post-C&B interview with all three of us: http://tinyurl.com/3ero4l6
Will the talks be available online?
My bet: The keywords are perhaps volatile and static
The standard has changed for both and they are not often highlighted (static initialization is now thread-aware; I guess volatile isn’t in the focus of attention because no compilers (that I know of) fully implement the important bits (atomic and friends) of C++ multi-threading features?