Learning C++11 reminds me of meeting a friend you haven’t seen in years where they seem the same at first but as you catch up you find out how much has really changed. In C++’s case the changes are subtle but significant. Rather than point out the differences myself I thought I would list out my favorite resources I have found for learning C++11 and would love to hear more about where you are learning it. The following is an attempt at doing what you should look at in order.
- The Biggest Changes in C++11 (and why you should care)
- GoingNative 2012 – Day 1 Keynote – Bjarne Stroustup – C++ Style
- GoingNative 2012 – Day 2 Keynote – Herb Sutter – C++11, VC++11 and Beyond
- The New C++ (C++11) – By Scott Meyers
- After the above I would go through all the content there is on Channel9 by Stephan T. Lavavej
That should be a few hours worth of learning. Obviously you need a compiler to play with these features, check out the big supported feature list here or here. I have played with the language features in Visual Studio 2011 Beta and I will soon be upgrading my Mac to 10.7 so I can enjoy the benefits of C++11 on my mac as well with Clang. On 10.6 I can use the language features but it doesn’t seem to allow linking to the standard libraries with it.
To me the biggest language changes are in how much easier doing multicore and multithreaded programming is with things like PPL or Intel’s TBB libraries.
I have also had some fun checking out the Intel ISPC compiler and may do a subsequent post on it as well.





Inventing on Principle
If you haven’t watched this talk by Bret Victor I highly recommend it:
This made me wonder what my principle is.
The short version: I Game Maker.
The longer version:
I believe that with the advancement in tools, technology and readily available education, one person can create all the aspects of a game. Having individual game makers will allow the creation of experiences that are purely one persons vision, from conceptualization to delivery. I think the world will be a better place when the outlet to create interactive worlds and ideas is more exciting to people than being a content consumer. People should know that they can make a game on their own.
Creating a game on your own doesn’t mean this is the most efficient way. This doesn’t mean that there isn’t feedback or editing or certain areas where a person needs help. I believe any creative endeavor is built on the shoulders of giants, much like Michael Abrash’s quote:
My long term goals for this site is to share my journey and experiments on creating games in hopes of answering this question for myself. I want to see what types of games I can make on my own standing on the shoulder of current “game giant” software. Here are some of my favorites: Unity, Unreal, Blender, Inkscape, Paint.NET, Alchemy, Visual Studio, Clang, GIMP and numerous others I am probably forgetting.
I also want to take a moment to thank all my friends who have graciously offered to help me on my projects in the past. I hope that this clarification of the principles helps you understand why I have turned down help in the past. The end result of one game is not the point, the journey to make a game is what it is all about.