BUILD 2012 – Day 4
The BUILD party has passed, and the final day of BUILD has unfortunately arrived. This day had some interesting sessions which I’ll summarize in this post.
Remember – all BUILD sessions are available for free on MSDN Channel 9.
BUILD Session – Deep Dive Into the Kernel of .NET on Windows Phone 8
Unfortunately, the session with this promising name ended up not providing the deep-dive that some of us expected, but I did pick up an interesting pointer. As it turns out, when you deploy a .NET application to Windows Phone 8, the application does not JIT compile as would happen on an ordinary desktop since it would require too much time and resources (CPU & battery). Performing assembly NGEN is also not possible as it would require too much time to install an app as the user won’t wait an hour for an application to install, and the required computation power would drain the battery as well.
Instead, the application gets “half” compiled to a language called MDIL by a cloud compiler in the marketplace itself after you publish the application, and is deployed to phone devices after it is already compiled. The MDIL package is basically native code with placeholders for variable addressing which might change as an application updates itself or a dependent 3rdParty assembly, and these address references are linked at runtime very efficiently, striking a good balance between performance and maintainability and achieving fast startup times (as no JIT is required).
BUILD Session – Windows Azure Storage: Building Scalable Applications
Windows Azure Storage is one of the key technologies for authoring highly scalable applications in the cloud. It is basically a high-performance key-value storage with several abstraction on top of it which can expose the stored data as blobs, queues, tables, drives and disks. While using SQL storage has its advantages for storing queryable data, SQL (whether Azure SQL or SQL Server) has its scale limitations when you cloud-scale, and storing some of data in a key-value storage (i.e. NoSQL DB) allows for much improved throughput, efficiency and scalability.
This highly technical session provided some key tips and pointers for using Azure storage efficiently, along with a social application demo which utilizes the store. Highly recommended to watch if you require a key-value storage in the cloud.
BUILD Session – The Future of C++
Once upon a time, a few years ago, C++ was considered a dead language. The world was flocking towards C#, Java, PHP and some other new technologies while C++ stood still, used mainly for legacy code, OS code or specialty applications. This has definitely changed with the introduction of modern C++ syntax with the C++ 11 standard and Microsoft’s support for C++ with WinRT. C++ is having a renaissance, being rediscovered by many developers around the world, and it is definitely moving forward.
In this announcement packed session, Herb Sutter, which chairs the C++ ISO committee, announced many (many!) releases regarding C++ both at Microsoft and in the industry as a whole.
VC++ Update: C++ at Microsoft
Visual Studio 2012 shipped with various C++ improvements and features including ARM targeting, Windows Store apps, Windows Phone apps, C++ AMP, C++ 11 STL and various C++ 11 features. During the session Herb announced that Microsoft is starting to ship shorter cycle updates to the C++ compiler and is shipping the VC++ Compiler November 2012 CTP, which is a set of compiler only enhancements for C++ (no IDE support) adding compiler support for:
- Explicit conversion operators
- Raw string literals
- Function template default arguments
- Delegating constructors
- Uniform initialization
- Variadic templates
Additional information on these features can be found here.
ISO C++ Update: C++ Everywhere
C++ 11 was released just a year ago, and it moving along at full thrust! The ISO standard committee has setup new Study Groups for various fields in C++ standards and Technical Specifications (TS) are about to flood the industry. These study groups include Transactional Memory (!!), Concurrency, File-systems, Reflection (!!!) and many more. The committee’s goal is to have a new major C++ standard during 2017, with a minor update in 2014 and various TS documents along the road. C++ has never moved forward this fast!
In addition, Herb announced a new site for concentrating all resources on C++ at http://isocpp.org. This site will contains various article and references and C++ for the community to use, as well as several chapters on Modern C++ from Bjarne Stroustrup’s book (new 4th edition) for FREE soon. Furthermore, Herb announced the foundation of a new non-profit organization named “The Standard C++ Foundation”. This NPO is funded by almost all major software companies including Microsoft, Google and others (excluding Apple who is unfortunately stuck with Objective-C) to promote the understanding and use of Standard C++ on all compilers and platforms. Exciting times for C++ indeed!
Going Native 2013
If you are interested to hear more about the future of C++ then check your calendars for February 2013 when “Going Native”, the largest native code conference, is set to occur at Microsoft HQ and live on Channel 9.
Final Words on BUILD
On a personal note, I am very happy to have attended BUILD. Although there were not many exciting announcements at BUILD (which usually set it/PDC apart from other Microsoft conferences), I feel that Microsoft have covered many of the key technologies required to develop modern software solutions in the cloud and on mobile devices, for enterprise and consumer customers, and in managed and native code forms. Oh, and I got a brand new Microsoft Surface RT tablet from Microsoft and a brand new Nokia Lumia 920 running Windows Phone 8 from Nokia. Pretty cool!
Have any questions about BUILD? Feel free to ask in the comments.