Wrapping Up DevWeek 2014

April 6, 2014


I have landed from London six hours ago after a wonderful week at DevWeek. Three talks and a workshop made for a pretty busy schedule, but I still had time to enjoy London, with its unusually sunny weather.

What’s New in C++ 11

[slides and code]

My first talk, at 9:30am in the morning, attracted a small audience of C++ developers. C++ 11 is a very extensive new standard, and if you read code developed in the modern C++ style, you might think it has nothing to do with your favorite language of the 1990’s. Indeed, I tried to illustrate the major productivity and performance features of the language, which are (in my opinion) lambda functions, rvalue references, and smart pointers. We also had a couple of minutes to mention C++ 14, with its generic lambdas support.

Task and Data Parallelism

[slides and code]

I gave this talk after lunch to a full room of .NET developers. We started by covering the TPL APIs for managing tasks, parallelizing loops, and working with dependencies. Then we talked about various scenarios and pitfalls in parallelization, such as creating too many tasks, distributing work in an uneven fashion, and using excessive synchronization.

First Steps in iOS Development

[slides and code]

In this talk I tried to provide a 90-minute introduction to iOS for .NET developers. As always, I start out by explaining the iOS ecosystem and the platform fundamentals, and then dive in to Objective C, Xcode, and basics of binding UI to code. We built a simple note taking application with support for just a single note, so I called it One Note ๐Ÿ™‚ Despite the simplicity we covered view fundamentals, binding views to code, storyboard navigation, and even animations.

Workshop: Android for .NET Developers

[code for demo app]

This is a workshop I delivered for the first time in one-day format. Even though one day is clearly not enough to learn all the Android APIs, we built a task manager app with an impressive number of features. Specifically, we talked about basic views and interacting with views from code, we discussed the ListView control and how to customize the display of individual rows, we created multiple activities and saw how to navigate between them and how to interact with the operating system through intents, and even had time to discuss persistence to files and to SQLite. Finally, we submitted the completed app to Google Play, and a couple of hours later it was already approved. You can find it here (I might remove it in a few months).

Thanks everyone for coming and making DevWeek great again! I really look forward to visiting London again this year or for the next DevWeek conference.

I am posting short links and updates on Twitter as well as on this blog. You can follow me:ย @goldshtn

Add comment
facebook linkedin twitter email

Leave a Reply to Motti Cancel Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



  1. MottiApril 6, 2014 ื‘ 12:56 PM

    This is probably too late to interest you but I have a couple of comments on you C++ slide deck.

    1. The literal form of std::string is "hello"s and not as you wrote s"hello"
    2. your my_array move assignment operator leaks the previous value it had (it’s fine for move-constructor) but for assignment you need to clear the previous value (I don’t think you need to check for self-move assignment…)

    1. Sasha Goldshtein
      Sasha GoldshteinApril 6, 2014 ื‘ 3:11 PM

      All true, this is classic PowerPoint-code ๐Ÿ™‚