With the introduction of C++ 11 and C++ CX there has been a lot of renewed interest in the language. And a lot of developers, especially Windows developers, are wondering if they should set aside C# and Java in favor of it. John Sonmez argues no.
At the November LLVM developers meeting, Doug Gregor of Apple gave a presentation on adding modules to C. This provides a transitional approach to providing modules as a means to both speed up compilation time and to improve the amount of semantic information provided by libraries, which can be used to improve both IDEs and debugging.
Microsoft has released a new CTP of its C++ compiler that provides new C++11 functionality, and announced the formation of the Standard C++ Foundation. This foundation is composed of several different organizations that all share the same goal of promoting and support C++.
An under-reported feature of Visual Studio 2012 is the ability to create Extension SDKs for Visual C++. SDK development is analogous to creating assemblies in .NET or JARs in Java and is very important for Windows 8 application development.
The optimizer in Visual Studio 2012 has nearly doubled in size as compared to previous versions. This matters to developers because now their C++ code can benefit from significant increases in execution speed after a recompile. Targeting the additional features of VS2012 can lead to even bigger performance gains.
In a session titled Diving deep into C++ /CX and WinRT, Marian Luparu talks about exception handling and performance for C++ applications that target Windows 8. The most important thing for developers to understand is how the boundary between WinRT and normal C++ code effect exception handling and performance.
Porting Existing C++ libraries to Windows 8/Windows Phone 8 mostly involves replacing many, but not all, of the existing Win32 and COM API calls with their WinRT equivalents. The UI itself will most likely not be portable, as GDI is being replaced with XAML, HTML5, and/or DirectX.
Supersonic is a query engine library for columnar databases providing a set of data transformation primitives that Google advertises to be “ultra-fast.”
CppDepend is a tool for analyzing complex C++ applications. Using the Clang parser and a custom query language based on LINQ, developers can write scripts that examine complex relationships between classes and methods. These can be used for general exploration or to build up static code analysis rules. CppDepend is licensed for both Windows and Linux.
Embarcadero Technologies launched a major overhaul of its development tools line that includes RAD Studio XE3, Delphi XE3 and C++Builder XE3. The company also launched HTML5 Builder for Mobile and Web app developers. InfoQ spoke with John Thomas, Director of Product Management at Embarcadero.
Rust is a systems programming language developed by Mozilla and targeted at high performance applications. This post contains an interview with Graydon Hoare, Rust’s creator.
SQLite is now supported on Windows RT, Windows 8 Metro Apps and will be supported on Windows Phone 8 for local application storage.
Developers have long requested C99 language support for Visual Studio. Microsoft's Herb Sutter indicates this will not be forthcoming with VS11 and proposes two solutions: using ISO C++ compliant code or switch to a competitor's compiler.
Herb Sutter and Miguel de Icaza have recently weighed in on the tradeoffs made by C++ and the managed code from .NET or Java. Does increasing programmer productivity require a reduction in the performance of compiled code?
Silverlight for Embedded is not based on .NET; it is a native technology that is programmed with XAML and C++. But it isn’t Windows 8/WinRT either, as it has full access to the underlying hardware and Win32 APIs.