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!

28 thoughts on “C++ Spring: GoingNative, Feb 2-3, 2012

  1. @tms I’m totally aware that GCC is not MSVC. I’ve spent a great deal of time managing a single codebase that builds on both compilers so I’m well aware of what is and isn’t possible. If you follow good, modern C++ coding practices and have a good tool for managing your build system (I’ve become a big fan of CMake over the years for this very reason) then maintaining a sourcebase for both of these compilers really isn’t that hard. Just make sure to build often on both platforms (although some form of continuous integration really helps there).

    I don’t know what you mean by once someone ports code from MSVC to GCC they don’t go back, you do realize that practically every open source C++ library targets multiple platforms and compilers right, including MSVC AND GCC? As do many open source C++ applications. In my particular case GCC/linux is the most common platform for running our server software however we develop in VC10 and are now moving to VC11 because you just can’t beat the IDE. I feel the process has forged a better developer in me, but to each their own.

    This conversation for me is over because I was approaching it as a means to first understand the problem and second help come up with a viable alternative. I don’t really think there’s anything further productive that will come from continuing this conversation.

  2. @Eric

    I will say just one thing:

    > However, someone was gracious enough to post with info on how to
    > build XP applications using C++11 features:
    > Guys: if you need to build C++11 code for Windows XP, I’d like to
    > suggest you a very convenient “distro” (including recent Boost) by
    > the great STL. http://nuwen.net/mingw.html

    You are aware that this is GCC, not MSVC, right? Porting code from MSVC to GCC is not at all easy in the general case. Once someone does the porting, he will most likely not go back. Just wanted to be sure that you are aware of this.

  3. @Brian I’m trying to get to the bottom of these arguments that keep cropping up everywhere. My main point is that just showing up on peoples blogs and being flat out negative from the start accomplishes nothing.

    Also regarding statistics, I posted real statistics from a real source. I’m sorry but I’m not going to take a person on the other side of the arguments word for their statistics. If you want to argue with statistics be ready to put up a real source. In my opinion in terms of statistics its the other side that’s lacking because I have no way to quantify the mysterious unknown numbers that people are throwing out.

    I’m also not saying that 25% is insignificant, what I am saying is look at the rate of people abandoning XP and take a look again at @tms’s wish list and what he’s actually complaining about. Its for features not even in this release and when those features are finally in where will XP’s usage numbers be then? Globally XP’s usage rates are falling at around 11-13% a year, so in a few years those numbers will actually be minimal. So at what point is Microsoft suppose to pull the XP cord? In my opinion it makes the most sense to drop support in a version of Visual Studio that doesn’t provide a whole lot of new C++ stuff. And by new I mean things that can’t already be achieved through popular libraries such as Boost.

    So what gives? I don’t expect Microsoft to magically just hand everyone what they want because they’re unhappy. However, if people aren’t complete jerks from the start we can hope to at least get answers to our questions. YOU say they could have just used LoadLibrary, but who are you and why should I take your word? How do you know that’s all it’ll take? Are you just simply regurgitating the complaints of others because that’s what it sounds like it. Perhaps there is more to it because if it were really that easy I’m sure they would do it if only just to quiet the complainers. We won’t know unless we get someone to answer us and nobody is going to even bother if they’re just going to be walking into a flame trap.

    What I do expect is that community developers, empowered with the knowledge of what’s going on, can actually discuss these issues and get at the root of their problems and more importantly come up with workarounds! For example, on the latest GoingNative episode a similar discussion broke out regarding XP. However, someone was gracious enough to post with info on how to build XP applications using C++11 features:


    Guys: if you need to build C++11 code for Windows XP, I’d like to suggest you a very convenient “distro” (including recent Boost) by the great STL. http://nuwen.net/mingw.html

    PS: That solution is brought to you in part by STL (the person), an employee of Microsoft. C++ developers at Microsoft are just as disappointed that they aren’t getting everything they want and have openly admitted as much, the difference is in what they do about it.

    Finally, if building a native C++ IDE for windows that supports every OS version that you want, has all the C++11 features, then why aren’t you doing it? The handful of options out there pale in comparison to Microsoft’s offerings. If there are so many complainers out there that feel that Microsoft should easily be able to do all of these things, under budget and on time, then stop complaining and start building a better solution.

  4. To Eric:

    > If you want to have a discussion on this matter that’s fine,
    > but at least provide something to back up your arguments and
    > your frustrations besides snide remarks.

    All due respect, Eric, it is your side that lacks arguments. Your only argument is that XP is used by 33% of people and that maybe that number will drop to 25%. As said, both these figures are pretty significant. As said, the figures for users of a particular product might be very different. As said, if the team wanted to use a particular feature that only exist on Vista, they could have used LoadLibrary.

    What gives?

  5. @Eric

    I will try to make it short.

    You are right, stating that dropping support for XP was a horrible decision does not “move the discussion forward”. You are right, asking why the team dropped support for XP could maybe have started a dialog. I doubt we’d get anything out of that dialog, I saw enough dialogs of this type to know better, but OK, you are right, we could have tried to start a dialog.

    I did download the preview version of VC11 and I did play with it extensively. I know what is in there and what isn’t.

    What we need from VC11 is support for features of C++11 that are not in VC10. I, in particular, need variadic templates and initializer lists. I know that neither of these things is going to be in vanilla VC11. This is a shame (and another huge gripe). We were, however, promised support for some additional features from C++11 some time between VC11 and VC12.

    True, it is totally pathetic that we have to live off promises like that, but that’s what we have right now. We are considering moving to another compiler to get out of this bad situation, to be honest. We do have a lot of customers on XP. We want to use features of C++11 that aren’t available in VC10 but might become available in VC11 or presumably slightly later. We don’t want to fork our code into pre-VC11 and VC11 branches.

    Clear? Do you still think we have no legitimate reasons to complain?

  6. “True, if dbu has rephrased his question to ask why Microsoft did that, maybe he would have gotten an answer. But, let’s not be silly here, there is simply no acceptable answer to this question. There is absolutely nothing in Windows Vista+ that would be worth taking a hard dependency on (as in, don’t run if the feature is not available) in – wait for it – in the C runtime!”

    @tms It would have started a dialog, that’s the most important thing. Instead it’s nothing but “They don’t care” and “Nothing is acceptable”. How do you ever expect to get anywhere like that? You’ve already made up your mind before entering the conversation… that’s not discussion that’s just vetting your frustrations. I have yet in all these bickering posts about XP to read what it is in VC11 you guys are needing so desperately. The biggest addition for native C++ developers in this release is the completed STL and while that’s nothing to sneer at we already have access to nearly all of those new STL features in Boost.

    I’m writing some of the best quality software I’ve ever written using VC10. I’ve also downloaded VC11 and the only significant benefit I’ve noticed is that I can use STL in many of the places I’m currently using Boost. So my question to you is just what is it you think you’re missing out on in VC11? Have you even downloaded it and given it a test run yet? Your arguments and complaints don’t give any hint of it.

    This is what leads me to believe people like you @tms and @dbu, are just complaining for the sake of complaining. If you want to have a discussion on this matter that’s fine, but at least provide something to back up your arguments and your frustrations besides snide remarks.

  7. @Eric
    >>
    I also imagine that they were faced with the same kind of tradeoffs that EVERY developer encounters, even yourself. You are making it sound as if you’re incapable of writing software for windows XP that uses modern C++… except that you can already write modern C++ in VC10 with many of the C++11 features already available to you.
    <>
    Posts like yours always seem to come out of the woodwork with generalized complaints, to me it really comes off as if you just want another excuse to bash on Microsoft
    <>
    Yes, in May of this year there were still around 40% using XP, however in October that number has dropped to 33% and continues to do so at a steady rate. By the time that VC11 gets here that rate will be closer to 25%.
    <<
    Even 25% is a huge number. Do you really want to loose 25% of your customer base?

  8. @Eric

    I don’t know why you feel you have to defend the awful choice to drop support for Windows XP on Microsoft part. This is an awful choice. True, if dbu has rephrased his question to ask why Microsoft did that, maybe he would have gotten an answer. But, let’s not be silly here, there is simply no acceptable answer to this question. There is absolutely nothing in Windows Vista+ that would be worth taking a hard dependency on (as in, don’t run if the feature is not available) in – wait for it – in the C runtime!

    I am also not sure what you want to accomplish by linking charts which show that overall use of Windows XP is still very significant. 33% is nothing to sneer at. Neither is 25% even if we take your hypothetical projection figure. Add to this that neither of these figures mean anything to a developer like dbu (and myself) who have their own statistics which may or may not change similarly to the global figures.

    Cutting support for Windows XP and Windows Server 2003 in VC11 is a major loss for many developers. This has nothing to do with moving forward, this is more akin to unbolting half of your wheels at full speed and trying to drive without them.

  9. @dbu In addition to my previous response you should also take a look again at your XP usage numbers:

    http://www.w3schools.com/browsers/browsers_os.asp

    Yes, in May of this year there were still around 40% using XP, however in October that number has dropped to 33% and continues to do so at a steady rate. By the time that VC11 gets here that rate will be closer to 25%.

    There will always be those companies who hang on to archaic OS’s to avoid upgrade costs. However, the statistics show they are in the minority and that their numbers are quickly diminishing. To me it doesn’t make sense to slow forward progress for those few unwilling/unable to move forward.

  10. @dbu I can admit that I don’t have to face the same challenging constraints as you however, I also strongly believe people who complain in the manner that you do will never get anywhere.

    “There is no reason, that this features can’t be supported for XP by VC11.”

    This is one of the statements that I have the biggest problems with. Unless you were on the design team for VC11 how could you know there is “no reason”? Instead you should be asking “Why are these features not supported for XP by VC11”. If asked that way I’m sure you’ll get a much more reasonable answer, rather than silence for being yet another post bashing on Microsoft. Now, just because you get a reasonable answer doesn’t mean things are going to change either. We are developers, if we don’t learn to make the most of what we’ve got then there’s a long hard road waiting ahead.

    I can think of at least 1 very good reason why these features wouldn’t be supported by XP. XP came out at a time when concurrency was still in its infancy as a useful tool on Desktop computing. Windows 8 has an entirely new and updated runtime, centered around concurrency, the STL internals I imagine are going to take advantage of that when and where they can.

    I also imagine that they were faced with the same kind of tradeoffs that EVERY developer encounters, even yourself. You are making it sound as if you’re incapable of writing software for windows XP that uses modern C++… except that you can already write modern C++ in VC10 with many of the C++11 features already available to you.

    Posts like yours always seem to come out of the woodwork with generalized complaints, to me it really comes off as if you just want another excuse to bash on Microsoft. I think if you stop and take inventory of what you do have available to you that you’re still empowered to write great software on XP, just not with all the bells and whistles that the latest OS provides.

  11. I hadn’t come across this XP issue but I’m thoroughly annoyed. With Herb’s influence Microsoft has been moving towards strong support for C++ developers over the last few years but this will blow it out of the water for us. A large percentage of our users are still on XP and we’ll not be able to move to C++11 until that changes.

    Multi-targeting is a workaround? Don’t make me laugh. Is Tony seriously suggesting we upgrade projects to make use of the C++11 support that VS11 will have, and then maintain a separate codebase using only pre-11 support – essentially a different language – so we can produce an XP version?

    So I hope the event goes well, and that in 5 years when we can actually use a Microsoft compiler that supports it, we can still access it online…

  12. @Eric,
    >>
    The new features in VS11 target a new runtime. If you’re not upgrading your OS (which hasn’t had a feature update in years) why would you upgrade your compiler tools and then complain about the features of the new runtime that aren’t supported by your outdated OS?
    <20000 users). Our data shows that about 40% are still using XP. That means that we have to support XP at least for 5-7 years (even when there is no more support for XP from MS, a lot of users dosen’t care about that, at all).

    There are only a few importend features in VC that realy counts for most native devs: the C++ compiler, the STL and the MFC. There is no reason, that this features can’t be supported for XP by VC11.

    When VC11 doesn’t support XP, it basicly means that we have to use an outdated compiler and outdated librarys for years and years to come. And it means that we can’t use the new C++11 features and librarys to improve our product, for years and years, too.

    VC11 itself dosent need to run under XP, but desktops applications build with it have too!

    regards
    dbu

  13. Sounds like awesome event, Herb. I’ll gladly watch live on the web.

    I just hope VC11 will support a lot more C++11 language features otherwise it will be mostly academic.

  14. @dbu Why so melodramatic, it’s not completely broken and you can target Windows XP (thanks to Tony Goodhew for the tip):

    “The Visual Studio 11 Developer Preview supports targeting Windows XP via native C++ multi-targeting. You need to have either Visual Studio 2010 or the Windows SDK 7.1 installed. You can then select the approprite toolset for you project. This post describes it for Visual Studio 2010 but it’s basically the same for Visual Studio 11:

    http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx

    Tony Goodhew – Microsoft Corp.”

    The new features in VS11 target a new runtime. If you’re not upgrading your OS (which hasn’t had a feature update in years) why would you upgrade your compiler tools and then complain about the features of the new runtime that aren’t supported by your outdated OS?

    For the rest of us VS11 is working great, yea there are a few kinks but overall I’ve been extremely impressed by the feature set that DID make it in. I wonder just how many of these people, the ones who constantly complain and talk trash about Microsoft for the full standard not being implemented in VS11, understand the full scope of just how much work that is. I also wonder if these same people work on projects where they magically never have to cut features to make a release deadline or budget… because if so I’d like some pointers!

  15. A conference on C++ – good. Held by Microsoft, by the guys who have one of the poorest level of support for C++11 in the industry, who never think twice about throwing away standards compliance and polluting the language with gobs of proprietary syntax – not so good.

  16. This is great news! I wanted to attend the C++ and Beyond talks but it was unfortunately way out of my budget. This is well within my budget and I’ve already reserved a seat.

    With this being my first technical conference (ever). What can I expect the event to be like and what can I do to prepare and have the best experience? Thanks again and looking forward to finally getting to meet some of my programming heroes!

  17. Darn…I wish you could have this on east coast too!!! I will e-attend it then!

  18. What is a super bowl party? I imagine its a breakfast bowl with cake in it. Watching C++ and eating cake. I think you are on to something there.

  19. So, what does that mean for Visual Studio? VS 2011’s announced C++11 support doesn’t really blow one’s mind.

  20. Great news. Nice to see Microsoft supporting C++ this way. And the price is so right, I can’t believe it.

  21. That’s great, but I’d be much happier if Microsoft invested more to actually implementing that brand new language. As of now, MSVC is even behind clang in terms of C++11 implementation. I do appreciate and look forward to the IDE improvements, but the compiler features are much, much more important.

Comments are closed.