GoingNative 2012: Minus 3 Days

image

Recap:

Note that because of technical limitations, watching the livestream requires Silverlight (watching the stored videos later on demand will not). Silverlight is supported by all modern desktop browsers, but it’s a short download if you don’t have it already – so if you’re watching live, check in a little early to make sure you don’t miss a thing. If you’re watching on-demand, no worries – videos will be available in various popular formats as usual for Channel 9.

 

As we count down to launch, another tidbit from the “fun facts” department:

 

Myth: Software conferences are dying. Especially C++ conferences are dead.

Fact: Number of exclusively-C++ conferences in 2012: Three.

Other conferences also include C++ content, such as April 24-28’s ACCU which has over 20 C++-specific talks.

 

C++11-fest minus 3…

GoingNative 2012: Minus 5 Days

image

Recap:

 

As we count down to launch, here’s something from the “fun facts” department about GN2012:

 

Myth: C++ is for older developers.

  • Fact: Age distribution for the live audience at my September 2011 talk on Writing Modern C++ Code: roughly half under 30.
  • Fact: Age of the youngest in-person GoingNative 2012 attendee… wait for it…: 15 years old.

 

C++11-fest minus 5…

GoingNative 2012: Minus One Week

clip_image002GoingNative 2012 is sold out for in-person attendees, but online attendance is free and unlimited – live-stream and on-demand. Watch the main page for links.

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: C++ developers. Distinguished speakers include the creator of C++, Bjarne Stroustrup; C++ standards committee chair, Herb Sutter; C++ template and big compute master, Andrei Alexandrescu; STL master Stephan T. Lavavej; LLVM/Clang developer Chandler Carruth; distributed and parallel computing expert Hans Boehm; and C++ library design expert and ISO committee member Andrew Sutton.

Although the majority of the audience will be on the web, here are some interesting statistics about the 350 people who are coming in person and will be with us in the room:

Developers attending in person will arrive from 18 countries and 23 US states. They are professional native developers from industry, from academia, from small businesses to very large corporations. They are CTOs, architects and scientists. They are students and coders. And they are all in for a real native treat!

Come join us live starting with Bjarne Stroustrup’s opening keynote on Thursday February 2 at 9:30am sharp U.S. Pacific time (here’s a World Clock meeting planner for other time zones). We have a special something extra in the first couple of minutes, so you won’t want to be late.

C++11 “GoingNative 2012”: Speakers and Sessions

imageThe speakers and sessions for GoingNative 2012 (Feb 2-3, Redmond WA USA) have now been posted. With the focus squarely on C++11 on all compilers and platforms, I think this is going to be the C++ event of the first half of 2012, and I’m very pleased with the caliber of our speakers and their technical and industry breadth.

Note: 85% Sold Out. All sessions will be publicly available online for free, both livestream and on-demand for posterity. But to attend in person and be in the (very nice) room, tickets are just $112 and currently 85% sold out; I expect the rest to go quickly now that the talks are posted, so if you’ve been on the edge, this week is a good time to register here.

Kodiak room: Click for 360-view in PhotosynthSpeakers and Sessions. Here’s a summary of the talk titles; see the page for the full session list with abstracts. The bulk of the program is all about the new C++11 standard as it exists today. On Day 2, we’ve also included a couple of forward-looking topics that C++ developers are frequently asking about and we felt were important to cover – especially with the key experts already in the building. The program also includes two interactive panels where you’ll be able to ask and tweet questions for the speakers.

Day 1 (Theme: C++11 Today)

  • Opening Keynote: C++11 Style (Bjarne Stroustrup, TAMU)
  • Threads and Shared Variables in C++11 (Hans Boehm, Hewlett-Packard)
  • STL11 – Magic && Secrets (Stephan T. Lavavej, Microsoft)
  • Variadic Templates are Funadic (Andrei Alexandrescu, Facebook)
  • Panel: The Importance of Being Native (Andrei Alexandrescu, Hans Boehm, Bjarne Stroustrup, Herb Sutter)

Day 2 (Theme: C++11 Today and Tomorrow)

  • C++11, VC++11 and Beyond (Herb Sutter, Microsoft)
  • C++11 and Clang (Chandler Carruth, Google)
  • Static If I Had a Hammer (Andrei Alexandrescu, Facebook)
  • A Concept Design for C++ (Bjarne Stroustrup and Andrew Sutton, TAMU)
  • Panel: Ask Us Anything! (all speakers)

As promised, the focus on learning and using Standard C++11 – what it is, where it’s at, and where it’s going. I’m really excited to be a part of this, and I hope you enjoy it. In my original post I listed several ways your team can benefit from this material remotely, and I encourage you to plan for it, live or otherwise. I look forward to seeing many of you there in person.

GotW #102: Exception-Safe Function Calls (Difficulty: 7/10)

JG Question

1. In each of the following statements, what can you say about the order of evaluation of the functions f, g, and h and the expressions expr1 and expr2? Assume that expr1 and expr2 do not contain more function calls.

// Example 1(a)
//
f( expr1, expr2 );

// Example 1(b)
//
f( g( expr1 ), h( expr2 ) );

Guru Questions

2. In your travels through the dusty corners of your company’s code archives, you find the following code fragment:

//  Example 2

//  In some header file:
void f( T1*, T2* );

//  At some call site:
f( new T1, new T2 );

Does this code have any potential exception safety or other problems? Explain.

3. As you continue to root through the archives, you see that someone must not have liked Example 2 because later versions of the files in question were changed as follows:

//  Example 3

//  In some header file:
void f( std::unique_ptr<T1>, std::unique_ptr<T2> );

//  At some call site:
f( std::unique_ptr<T1>{ new T1 }, std::unique_ptr<T2>{ new T2 } );

What are the semantics of this call? What improvements does this version offer over Example 2, if any? Do any exception safety problems remain? Explain.

4. Demonstrate how to write a make_unique facility that solves the safety problems in Question 3 and can be invoked as follows:

//  Example 4

//  In some header file:
void f( std::unique_ptr<T1>, std::unique_ptr<T2> );

//  At some call site:
f( make_unique<T1>(), make_unique<T2>() );

C++ Spring: GoingNative, Feb 2-3, 2012

I’m very pleased to announce the C++ event of the first half of 2012: GoingNative 2012, to be held on February 2-3 in Redmond, WA, USA. (C++ and Beyond will also be great, but won’t be till the second half of the year – and there are other C++ conferences/events coming too. I can’t remember a year with this many C++ conferences since, oh, about 1999.)

This is Microsoft’s first native-code-only developer event in years, and it’s not limited to Microsoft products or technologies – it’s about ISO C++ on all platforms. We’re taking the initiative to put on this event because we know that there’s a huge demand for information about the new ISO C++11 standard, but that information is still really hard to come by – the standard was just published last month, none of the major books has been updated yet to reflect it, and high-quality public information is just starting to trickle out (I’m trying to do my part too).

So we decided to try to do our bit to help generate that information and make it available as widely as possible – by inviting many of the world’s top C++ speakers, charging in-person attendees basically just enough to cover costs, and making the whole thing available on the web for free, live and on-demand, for everyone in the world who is interested in ISO C++.

The goal is to promote portable ISO C++ in all its modern C++11 glory – clean, safe, and fast – as clean and safe as code written in any other modern language. As someone famous put it:

“C++11 feels like a new language.” – Bjarne Stroustrup

He’s right, and we’re all still learning it and figuring it out – that includes the world’s top experts, who are busily documenting the modern best practices for this grand new language. We hope this event might help us all take a step forward on that path.

Key points about GoingNative:

  • It’s focused on ISO C++: Two jam-packed days about C++ on all platforms. There will be material about Microsoft tools too, but also about other technologies with speakers like Andrei Alexandrescu of Facebook, and an overall emphasis on portable C++ code and the power and simplicity of the new ISO C++11 standard just published last month.
  • It’s top quality: Many of the world’s top C++ speakers will be there, starting with Bjarne Stroustrup’s opening keynote.
  • It’s affordable: $112 to attend the entire event in person, which has got to make this about the cheapest technical conference anywhere, and free on the web both live and on demand.
  • Oh, and there’s a party. That’s included in the $112, not an extra bag-check-style fee.

Here are my personal suggestions for how you might enjoy what we hope will be a trove of accessible C++ information:

  • Consider coming in person (but register early). If you or your group want to be there in the building, the good news is that they got the biggest room on the Microsoft campus and it can hold about 350 people. The bad news is that it can hold only about 350 people, and at this price and with all of the interest in C++11, I personally expect to see that sell out well before the conference begins.
  • Consider making it a party at your own company. Clear your team’s schedule for two days, book your company’s biggest conference room with the biggest projector system (or a nearby hotel meeting room), and watch live over the Internet on the big screen. Bring chips and pop and beer. Cater lunch. This can be your team event. Think of it as your team’s own technical Super Bowl party (and a good warmup for the Super Bowl itself two days later).
  • Consider using the material for a brownbag series. If clearing your team’s schedule for two solid days to watch it live is too hard, just use the fact that we’re making it available for free on demand – get together to watch it one talk at a time over a series of team lunch events in the weeks and months to follow. Make it a C++ Spring. Each event could be anything from a Tuesday brownbag to a Friday afternoon party – together with your colleagues and special party guests like Bjarne.
  • Or something else. We’re just making the information available; how you use it is up to you. We just hope that lots of people do find it useful.

I hope to see or e-see you there.

Pasting from the announcement:

GoingNative 2012

We know developers are hungry for information about C++11. The GoingNative conference aims to provide current technical information to as many people as possible.

Register now!

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: C++ developers. Distinguished speakers include the creator of C++, Bjarne Stroustrup; C++ standards committee chair, Herb Sutter; C++ template and big compute master, Andrei Alexandrescu; STL master Stephan T. Lavavej; and more! Official agenda will be be released over the next month or so. Join us!

Event Details:

Feb 2-3, 2012
Microsoft Corporate Campus
Building 33
Redmond, WA, USA

Streamed live (on-demand < 24 hours later, each day) right here.
Evening event (party – great food(dinner), music, drink and people!)
Shuttles from Bellevue’s Lincoln Square (where we recommend booking your hotel)
Hurry up and reserve your spot. Come meet some of your heroes. Engage with your peers. This is going to rock and roll, C++ style!